Utilisation de filtres de Kalman pour imputer des valeurs manquantes dans des séries chronologiques

12

Je suis intéressé par la façon dont les filtres de Kalman peuvent être utilisés pour imputer des valeurs manquantes dans les données de séries temporelles. Est-il également applicable si certains points temporels consécutifs sont manquants? Je ne trouve pas grand-chose sur ce sujet. Toutes explications, commentaires et liens sont les bienvenus et appréciés!

GS9
la source
Vous pourriez être intéressé par cet article . Il donne un exemple basé sur la représentation en espace d'états d'un modèle ARIMA pour imputer des valeurs manquantes au moyen du filtre de Kalman.
javlacalle
@javlacalle merci, je connaissais déjà ce post et c'est un excellent exemple pour une implémentation concrète. Mais je suis plutôt intéressé par le contexte théorique.
GS9

Réponses:

9

Préliminaires: filtrage de Kalman :

Les filtres de Kalman fonctionnent sur des modèles d'espace d'état de la forme (il existe plusieurs façons de l'écrire; c'est une méthode simple basée sur Durbin et Koopman (2012) ; tout ce qui suit est basé sur ce livre, ce qui est excellent):

yt=Zαt+εtεtN(0,H)αt1=Tαt+ηtηtN(0,Q)α1N(a1,P1)

où est la série observée (éventuellement avec des valeurs manquantes) mais est totalement inobservé. La première équation (l'équation de "mesure") dit que les données observées sont liées aux états non observés d'une manière particulière. La deuxième équation (l'équation de "transition") dit que les états non observés évoluent dans le temps d'une manière particulière.α tytαt

Le filtre de Kalman fonctionne pour trouver des estimations optimales de ( est supposé être Normal: , donc ce que fait réellement le filtre de Kalman est de calculer la moyenne conditionnelle et la variance de la distribution pour conditionnel aux observations jusqu'au temps t ).α t α tN ( a t , P t ) α tαtαtαtN(at,Pt)αtt

Dans le cas typique (lorsque des observations sont disponibles), le filtre de Kalman utilise l'estimation de l'état actuel et l'observation actuelle pour faire de son mieux pour estimer l'état suivant α t + 1 , comme suit:ytαt+1

at+1=Tat+Kt(ytZαt)Pt+1=TPt(TKtZ)+Q

est le "gain de Kalman".Kt

at+1Pt+1ytyt

at+1=TatPt+1=TPtT+Q

αtαt+1

yt


Imputation de données :

at,Ptt=1,2,,T

y^t=Zat

Quant à une référence, Durbin et Koopman (2012) est excellent; la section 4.10 traite des observations manquantes.

  • Durbin, J. et Koopman, SJ (2012). Analyse des séries chronologiques par les méthodes de l'espace d'état (n ° 38). Oxford University Press.
cfulton
la source
L'utilisation d'une solution plus fluide aurait plus de sens pour l'imputation (puisqu'on a déjà toutes les données (non manquantes), pourquoi ne pas utiliser les informations dans les valeurs futures également)
Juho Kokkala
0

L'exemple dans la publication que javlacalle pointe dans son commentaire présente des points temporels manquants consécutifs. Vous pourriez également être intéressé par les intervalles autour des valeurs imputées (prévues dans l'échantillon), dont le calcul apparaît dans cet article sur l'espace d'état , à la section 2.1.

Un autre document qui pourrait être intéressant est celui-ci .

Wayne
la source