2016-03-12 7 views
0

J'estime actuellement un modèle de Markov-commutation avec beaucoup de paramètres en utilisant l'optimisation directe de la fonction log-vraisemblance (par l'algorithme avant-arrière)). Je fais l'optimisation numérique en utilisant l'algorithme génétique de matlab, car d'autres approches comme les algorithmes (principalement basés sur le gradient ou simplex) dans fmincon et fminsearchbnd n'étaient pas très utiles, étant donné que la fonction de vraisemblance est non seulement maxima et est fortement non linéaire. L'algorithme génétique semble fonctionner très bien. Cependant, je prévois d'augmenter encore la dimension du problème. J'ai lu sur un algorithme EM pour estimer les modèles de Markov-commutation. D'après ce que je comprends cet algorithme libère une séquence de valeurs croissantes de log-likelhood. Il semble donc approprié d'estimer des modèles avec de très nombreux paramètres.Estimation par rapport à l'optimisation numérique directe de la fonction de vraisemblance pour estimer le modèle de Markov-Switching/HMM de haute dimension

Ma question est de savoir si l'algorithme EM est adapté à mon application impliquant de nombreux paramètres (peut-être mieux adapté que l'algorithme génétique). La vitesse n'est pas la principale limite (l'algorithme génétique est déjà extrêmement lent) mais il faudrait que j'aie une certaine certitude pour me rapprocher de l'optimum global et ne pas tomber dans l'un des nombreux optima locaux. Avez-vous de l'expérience ou des suggestions à ce sujet?

+0

Vous parlez de calibrer, c'est-à-dire d'estimer les paramètres du modèle, plutôt que d'estimer une trajectoire historique des états basée sur une série d'observations, n'est-ce pas? –

+0

Oui, le but est l'estimation des paramètres, mais cela produira également des probabilités de filtrage et de prédiction (des probabilités lissées peuvent alors être obtenues via l'algorithme de lissage de Kim). – InfiniteVariance

Répondre

0

L'algorithme EM trouve des optima locaux et ne garantit pas qu'ils sont des optima globaux. En fait, si vous commencez avec un HMM où l'une des probabilités de transition est zéro, cette probabilité ne changera jamais de zéro, parce que ces transitions apparaîtront seulement avec l'attente zéro dans l'étape d'attente, donc ces points de départ n'ont aucun espoir de trouver un optimum global qui n'a pas cette probabilité de transition zéro.

La solution de contournement standard pour cela est de commencer à partir d'une variété de différents paramètres de paramètres aléatoires, choisir les optima les plus élevés trouvés, et espérer le meilleur. Vous pourriez être légèrement rassuré si une proportion significative des analyses convergeait vers le même optimum local (ou équivalent), sur la base de la théorie peu fiable selon laquelle on trouverait quelque chose de meilleur à partir d'au moins la même fraction de démarrages aléatoires. aurait montré jusqu'à maintenant.

Je ne l'ai pas expliquée en détail, mais l'algorithme EM résout un ensemble de problèmes si général que je m'attends à ce que s'il trouve l'optimum global, il soit capable de trouver la solution NP-complete problèmes avec une efficacité sans précédent.

+0

Merci pour cette réponse. Les probabilités nulles dans la matrice de probabilité de transition sont peu probables (et je ne les utiliserais pas du tout comme valeurs de départ). J'ai déjà essayé de nombreuses valeurs de départ aléatoires avec fmincon/fminsearchbnd mais j'ai trouvé que la plupart d'entre elles convergeaient vers des solutions assez différentes (avec des valeurs de fonctions de vraisemblance quelque peu similaires). Cela renvoie-t-il à un comportement de la fonction de vraisemblance qui va également amener l'algorithme EM à converger vers des solutions assez différentes, ou est-il plus «robuste» dans ce sens? – InfiniteVariance

+0

L'algorithme EM est toujours utilisé et enseigné, donc je présume que dans les situations où il s'applique, il est plus efficace que quelque chose comme fmincon, qui semble être une routine d'optimisation générale qui n'a pas besoin, ou de tirer parti des dérivés fournis . Je n'ai pas comparé les deux, mais je suppose que l'algorithme EM pourrait vous permettre de faire plus de runs dans le même laps de temps, même s'il y a autant de minima locaux que vous pourriez avoir une meilleure chance de trouver un très bon. Deux solutions avec des vraisemblances très similaires peuvent être vraiment identiques avec des paramètres permutés. – mcdowella

+0

Il est également utile de configurer un problème simulé pour lequel vous connaissez la bonne réponse et de l'utiliser pour tester le programme que vous avez écrit pour résoudre ces problèmes, à la fois pour les bugs (problèmes faciles avec des réponses évidentes) et pour la puissance statistique . Pour ce dernier, vous pouvez utiliser la meilleure réponse obtenue à partir du vrai problème comme la bonne réponse de la simulation. Voir aussi https://en.wikipedia.org/wiki/Bootstrapping_%28statistics%29#Parametric_bootstrap. – mcdowella