Quels sont les inconvénients des modèles d'état et de Kalman Filter pour la modélisation de séries chronologiques?


53

Compte tenu de toutes les bonnes propriétés des modèles d'état et de la KF, je me demande quels sont les inconvénients de la modélisation de l'espace et de l'utilisation du filtre de Kalman (ou EKF, UKF ou filtre de particules) pour l'estimation. Supposons des méthodologies conventionnelles comme ARIMA, VAR ou des méthodes ad-hoc / heuristiques.

Sont-ils difficiles à calibrer? Sont-ils compliqués et difficiles à comprendre comment un changement dans la structure d'un modèle affectera les prévisions?

Autrement dit, quels sont les avantages d'ARIMA, VAR conventionnel par rapport aux modèles d'espace d'états?

Je ne peux penser qu'aux avantages d'un modèle d'espace d'états:

  1. Il gère facilement les ruptures structurelles, les décalages, les paramètres variant dans le temps de certains modèles statiques - il suffit de rendre ces paramètres dynamiques les états d'un modèle d'état-espace et le modèle s'adaptera automatiquement à tout décalage de paramètres;
  2. Il traite les données manquantes de manière très naturelle, n’effectuez que l’étape de transition de KF et ne mettez pas à jour l’étape de mise à jour;
  3. Il permet de modifier à la volée les paramètres d'un modèle d'état lui-même (covariances de bruits et matrices de transition / d'observation). Ainsi, si votre observation actuelle provient d'une source légèrement différente de celle des autres, vous pouvez facilement l'intégrer à l'estimation sans le faire. Rien de spécial;
  4. L'utilisation des propriétés ci-dessus permet de traiter facilement des données à espacement irrégulier: soit modifier un modèle à chaque fois en fonction de l'intervalle entre les observations, soit utiliser un intervalle régulier et traiter les intervalles sans observations comme des données manquantes;
  5. Il permet d’utiliser simultanément des données de différentes sources dans le même modèle pour estimer une quantité sous-jacente;
  6. Il permet de construire un modèle à partir de plusieurs composants dynamiques non observables interprétables et de les estimer.
  7. Tout modèle ARIMA peut être représenté sous une forme d'espace d'état, mais seuls les modèles d'espace d'état simples peuvent être représentés exactement sous une forme ARIMA.

1
JQuelques avantages supplémentaires, comme indiqué dans votre premier point, peuvent facilement intégrer des changements de niveau et des valeurs aberrantes. D'après mon expérience, les ruptures structurelles peuvent être facilement identifiées avec un espace d'états qu'ARIMA. Aussi peut facilement incorporer des effets non linéaires de variables exogènes. Ne nécessite pas que les données de la série chronologique soient stationnaires, ce qui est un énorme +.
prévisionniste

2
Eh bien, je prendrai à tout moment les modèles d'espace d'état sur ARIMA. Je peux penser à deux inconvénients (en quelque sorte): a) le modèle d'espace d'état correspondant d'un modèle ARIMA comporte beaucoup de zéros inutiles dans les matrices de conception. On pourrait soutenir qu'ARIMA est plus compact. b) il existe des modèles non linéaires / non gaussiens qui ont rarement des formes analytiques qui peuvent parfois être décrites sous une forme semblable à ARIMA, mais qui seront difficiles dans un espace d'états traditionnel.
Cagdas Ozgenc

2
@ Kochede Durbin et Koopman ne pouvaient pas non plus penser à beaucoup d'inconvénients - ils en ont mentionné deux au bas de la page 52 de leur fantastique manuel . Et je dirais que ces inconvénients ne sont plus nécessairement vrais.

2
Quelques questions . Identifie-t-il clairement les changements de tendance dans le temps et signale-t-il les moments où la tendance change? Fait-il la distinction entre les changements de paramètres et les changements de variance d'erreur et en rend compte? Détecte-t-il et signale-t-il des effets de plomb et de retard spécifiques autour des prédicteurs spécifiés par l'utilisateur? Peut-on spécifier le nombre minimum de valeurs dans un groupe avant qu'une tendance de décalage de niveau / heure locale soit déclarée? Fait-il la distinction entre le besoin de transformation de puissance et les moments déterministes dans le temps où la variance d'erreur change? Les modèles ARMAX répondent à toutes ces considérations.
IrishStat

1
Pour être complet, un inconvénient dans certaines circonstances est que vous devez les expliquer. Cela dépend de votre public. Je suis heureux si quelqu'un veut écarter cela comme une chose qui est ou devrait être sans importance pour le choix d'une technique.
Nick Cox

Réponses:


25

Voici une liste préliminaire des inconvénients que j'ai pu extraire de vos commentaires. Les critiques et les ajouts sont les bienvenus!

Globalement - comparés à ARIMA, les modèles d’espace à états vous permettent de modéliser des processus plus complexes, d’avoir une structure interprétable et de gérer facilement les irrégularités des données; mais pour cela, vous payez avec la complexité accrue d'un modèle, un calibrage plus strict, moins de connaissances de la communauté.

  1. ARIMA est un approximateur universel. Peu importe le modèle qui se cache derrière vos données, vous utilisez des outils de diagnostic et d’ajustement universels ARIMA pour vous rapprocher de ce modèle. C'est comme un ajustement de courbe polynomiale - vous ne vous souciez pas de la vraie fonction, vous pouvez toujours l'approcher avec un polynôme d'un certain degré.
  2. Modèles d'espace d'État exigent naturellement d'écrire vers le bas un certain modèle raisonnable pour votre processus ( ce qui est bon - vous utilisez votre connaissance préalable de votre processus pour améliorer les estimations). Bien sûr, si vous n'avez aucune idée de votre processus, vous pouvez toujours utiliser un modèle d'espace d'état universel également - par exemple, représenter ARIMA sous une forme d'espace d'état. Mais alors ARIMA dans sa forme originale a une formulation plus parcimonieuse - sans introduire d'états cachés inutiles.
  3. Comme il existe une si grande variété de formulations de modèles d'état-espace (beaucoup plus riches que la classe de modèles ARIMA), le comportement de tous ces modèles potentiels n'est pas bien étudié et si le modèle que vous avez élaboré est compliqué, il est difficile de dire comment il va se comporter. dans des circonstances différentes. Bien entendu, si votre modèle d’espace à états est simple ou composé de composants interprétables, ce problème n’existe pas. Mais ARIMA est toujours le même ARIMA bien étudié. Il devrait donc être plus facile d’anticiper son comportement, même si vous l’utilisez pour approximer un processus complexe.
  4. Etant donné que state-space vous permet de modéliser directement et précisément des modèles complexes / non linéaires, vous pouvez rencontrer des problèmes de stabilité de filtrage / prédiction pour ces modèles complexes / non linéaires (divergence EKF / UKF, dégradation du filtre à particules). Vous pouvez également avoir des problèmes pour calibrer les paramètres d'un modèle compliqué - c'est un problème d'optimisation difficile à calculer. ARIMA est simple, a moins de paramètres (1 source de bruit au lieu de 2 sources de bruit, pas de variables cachées), donc son étalonnage est plus simple.
  5. Pour l'espace d'état, il y a moins de connaissances et de logiciels communautaires dans la communauté statistique que pour ARIMA.

1
Connaissez-vous des exemples réels / des applications industrielles dans lesquelles un filtre de Kalman fonctionne mieux qu'une simple moyenne mobile ou un lissage exp en prévision d'une série chronologique, à condition qu'il n'existe pas de modèle sous-jacent clair (excluez donc les modèles découlant des lois de la physique) ? Dans la plupart des articles, la performance est très similaire (et les articles académiques ont un biais de performance positif pour les nouveaux modèles originaux et complexes). Dans la plupart des cas, il n'est pas nécessaire de connaître un modèle de système d'états linéaire approprié ni de covariances, etc., pour spécifier un filtre de Klaman ...
Mannaggia,

C'est vrai. J'ai toujours un exemple dans ma pratique. Lorsque vous avez un modèle polyvalent (comme une régression linéaire), vous pouvez définir les paramètres de Kalman Filter et les estimer dynamiquement. Bien sûr, vous pouvez également réajuster votre modèle à chaque pas de temps, mais cela coûte beaucoup plus cher en calcul qu'une mise à jour KF unique. Si, dans la réalité, les paramètres varient dans le temps ou si votre modèle ne correspond pas exactement au processus réel, cela peut aider à mieux adapter votre modèle et à améliorer ses performances.
Kochede

1
Je ne trouve aucune référence pour ARIMA en tant qu'approximateur universel universel autre que votre message. Pourriez-vous m'en indiquer un?
Skander H.

2
@Alex Ceci découle du théorème de décomposition de Wold, par exemple, voir ici phdeconomics.sssup.it/documents/Lesson11.pdf
Kochede le

1
Puis-je dire que le modèle d'espace d'états a une forme plus générale et qu'ARIMA n'en couvre qu'un sous-ensemble?
Vickyyy

3

Merci @IrishStat pour plusieurs très bonnes questions dans les commentaires, la réponse à vos questions est trop longue pour être postée en tant que commentaire, je la poste donc en tant que réponse (malheureusement, pas à la question initiale du sujet).

Les questions étaient les suivantes: " Identifie-t-il clairement les changements de tendance dans le temps et signale-t-il les moments où la tendance change? Fait-il la distinction entre les changements de paramètres et les changements de variance d'erreur et en rend compte? Les détecte-t-il et rapporte-t-il les effets de retard et de retard spécifiques autour de l'utilisateur? Peut-on spécifier le nombre minimum de valeurs dans un groupe avant qu’un changement de niveau / une tendance de temps local ne soit déclaré? T-il distinguer entre le besoin de transformations de puissance et les points déterministes dans le temps où la variance d'erreur change? "

  1. Identifiez les changements de tendance - oui, tout naturellement, vous pouvez faire de la tendance une des variables d'état et KF estimera en permanence la pente actuelle. Vous pouvez alors décider quel changement de pente est assez grand pour vous. Sinon, si la pente de votre modèle d'état ne varie pas dans le temps, vous pouvez tester les résidus lors du filtrage de manière standard pour voir s'il se produit une rupture de votre modèle.
  2. Distinguer entre les paramètres et les changements de la variance des changements d'erreur - oui, la variance peut être l' un des paramètres (états), alors que le paramètre le plus probable changé dépend de la probabilité de votre modèle et la façon dont en particulier les données ont changé.
  3. Détectez les relations avance / retard - vous n'êtes pas sûr de cela, vous pouvez certainement inclure tous les vars retardés dans un modèle d'espace d'états; pour sélectionner les retards, vous pouvez soit tester les résidus de modèles avec différents retards inclus, soit, dans un cas simple, utiliser simplement un corrélogramme croisé avant de formuler un modèle.
  4. Spécifiez le nombre d'observations pour déterminer le changement de tendance - oui, comme en 1) car le filtrage est effectué de manière récursive, vous pouvez non seulement définir un seuil de modification de la pente suffisamment important pour vous, mais également un nombre d'observations indiquant la confiance. Mais mieux - KF produit non seulement une estimation de la pente, mais également des bandes de confiance pour cette estimation. Vous pouvez donc décider que la pente a changé de manière significative lorsque sa limite de confiance a dépassé un certain seuil.
  5. Faites la distinction entre le besoin de transformation de puissance et le besoin d'une variance plus importante - je ne pense pas que je comprenne bien, mais je pense que vous pouvez tester les résidus lors du filtrage pour voir s'ils sont toujours normaux avec une variance tout simplement plus grande ou s'ils présentent un déséquilibre de sorte que vous deviez changer votre modèle. Mieux - vous pouvez en faire un état de commutation binaire de votre modèle, puis KF l’estimera automatiquement en fonction de la vraisemblance. Dans ce cas, le modèle sera non linéaire, vous aurez donc besoin du filtrage par UKF.

1

Le filtre de Kalman est l’estimateur quadratique linéaire optimal lorsque la dynamique de l’état et les erreurs de mesure suivent les hypothèses dites gaussiennes linéaires ( http://wp.me/p491t5-PS ). Ainsi, tant que vous connaissez votre dynamique et vos modèles de mesure et qu’ils suivent les hypothèses linéaires de Gauss, il n’existe pas de meilleur estimateur dans la classe des estimateurs linéaires quadratiques. Cependant, les raisonneurs les plus courants pour les applications Kalman Filter "en échec" sont:

  1. Connaissance imprécise / incorrecte de la dynamique d'état et des modèles de mesure.

  2. Initialisation inexacte du filtre (fournissant une estimation d'état initiale et une covariance incohérentes avec l'état réel du système). Ceci est facilement surmonté en utilisant une procédure d'initialisation des moindres carrés pondérés (WLS).

  3. Incorporer des mesures qui sont des "valeurs aberrantes" statistiques par rapport au modèle de dynamique de système. Cela peut entraîner des éléments négatifs sur le gain de Kalman, ce qui peut conduire à une matrice de covariance semi-définitive non positive après la mise à jour. Cela peut être évité en utilisant des algorithmes de "déclenchement", tels que le déclenchement ellipsoïdal, pour valider la mesure avant de mettre à jour le filtre de Kalman avec cette mesure.

Voici quelques-unes des erreurs / problèmes les plus courants rencontrés avec le filtre de Kalman. Sinon, si les hypothèses de vos modèles sont valides, le filtre de Kalman est un estimateur optimal.


1

Vous pouvez vous référer à l'excellent livre Bayesian Forecasting and Dynamic Models (Harrison et West, 1997). Les auteurs montrent que presque tous les modèles de séries chronologiques classiques sont des cas particuliers du modèle dynamique général. Ils soulignent également les avantages. L'un des principaux avantages est peut-être la facilité avec laquelle vous pouvez intégrer de nombreux modèles d'espace d'états en augmentant simplement le vecteur d'état. Vous pouvez, par exemple, intégrer de manière transparente des régresseurs, des facteurs saisonniers et un composant autorégressif dans un seul modèle.


Bonjour, pouvez-vous élaborer davantage sur "Vous pouvez, par exemple, intégrer de manière transparente des régresseurs, des facteurs saisonniers et un composant autorégressif dans un seul modèle."? Corrigez-moi si je me trompe, cela signifie-t-il que pour ARIMA vous devez stabiliser la série chronologique, mais que pour le modèle d'espace d'état, vous devez uniquement ajuster le nombre de variables d'état?
Vickyyy

@Vickyyy Contrairement à ARIMA, les modèles d'espace d'états n'assument pas la stationnarité. Vous pouvez simplement y ajouter de nombreux composants et les représenter dans un seul vecteur d'état.
Anselmo

1

J'ajouterais que si vous utilisez directement une fonction d'espace d'état, vous devrez probablement comprendre les différentes matrices composant un modèle, ainsi que leur interaction et leur fonctionnement. Cela ressemble beaucoup plus à la définition d'un programme qu'à la définition d'un modèle ARIMA. Si vous travaillez avec un modèle d'espace d'état dynamique, cela devient encore plus compliqué.

Si vous utilisez un progiciel qui a une fonction d'espace d'état vraiment, vraiment agréable, vous pourrez peut-être éviter cela, mais la grande majorité de ces fonctions dans les packages R vous oblige à entrer dans les détails à un moment donné.

À mon avis, cela ressemble beaucoup aux statistiques bayésiennes en général, dont le mécanisme nécessite plus de compréhension, de soins et d’alimentation, que des fonctions plus fréquentistes.

Dans les deux cas, les détails / connaissances supplémentaires valent bien, mais cela pourrait constituer un obstacle à l’adoption.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.