0

J'essaye de trouver les paramètres pour la fonction ci-dessous: $$ \ log L (\ alpha, \ beta, v) = v/\ beta (e^{- \ beta T} -1) + \ alpha/\ beta \ somme_ {i = 1}^{n} (e^{- \ beta (T-t_i)} -1) + \ sum_ {i = 1}^{N} log (ve^{- \ beta t_i} + \ alpha \ somme_ {j = 1}^{jmax (t_i)} e^{- \ beta (t_i - t_j)}). Toutefois, les méthodes conventionnelles telles que fmin, fminsearch ne convergent pas correctement. Des suggestions sur d'autres méthodes ou bibliothèques ouvertes que je peux utiliser?Estimation de maximum de vraisemblance d'une fonction de journal avec des paramètres sévaral

J'essayais CVXPY, mais ils ne supportent pas la division par une variable dans l'expression.

Répondre

0

Le problème peut ne pas être convexe (je ne l'ai pas vérifié mais il pourrait être pourquoi CVXPY l'a refusé). Nous ne disposons pas des données pour que nous ne pouvons pas essayer des choses, mais je peux donner quelques conseils généraux:

  1. gradients Fournir exacts (et 2e dérivés si nécessaire) ou utiliser un système de modélisation avec la différenciation automatique. En particulier, les premiers dérivés doivent de préférence être assez précis. Avec des différences finies, vous risquez de perdre la moitié de la précision.
  2. Fournir un bon point de départ. Peut utiliser une autre méthode d'estimation.
  3. Certains solveurs peuvent utiliser des limites sur les variables pour restreindre la région possible où les fonctions seront évaluées. Cela peut être utilisé pour restreindre la recherche à des zones intéressantes uniquement et également pour protéger les opérations telles que les fonctions de division et de journal.