J'ai quatre séries chronologiques différentes de mesures horaires:
- La consommation de chaleur à l'intérieur d'une maison
- La température à l'extérieur de la maison
- Le rayonnement solaire
- La vitesse du vent
Je veux pouvoir prédire la consommation de chaleur à l'intérieur de la maison. Il y a une nette tendance saisonnière, à la fois sur une base annuelle et sur une base quotidienne. Puisqu'il existe une corrélation claire entre les différentes séries, je souhaite les ajuster à l'aide d'un modèle ARIMAX. Cela peut être fait dans R, en utilisant la fonction arimax du paquet TSA.
J'ai essayé de lire la documentation sur cette fonction et de lire sur les fonctions de transfert, mais jusqu'à présent, mon code:
regParams = ts.union(ts(dayy))
transferParams = ts.union(ts(temp))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams,xtransf=transferParams,transfer=list(c(1,1))
pred10 = predict(model10, newxreg=regParams)
Donne moi:
où la ligne noire représente les données mesurées réelles et la ligne verte représente mon modèle ajusté en comparaison. Non seulement ce n'est pas un bon modèle, mais il est clair que quelque chose ne va pas.
Je reconnais que ma connaissance des modèles ARIMAX et des fonctions de transfert est limitée. Dans la fonction arimax (), (si j'ai bien compris), xtransf est la série temporelle exogène que je souhaite utiliser (à l'aide de fonctions de transfert) pour prédire ma série temporelle principale. Mais quelle est la différence entre xreg et xtransf?
Plus généralement, qu'est-ce que j'ai mal fait? Je voudrais pouvoir obtenir un meilleur ajustement que celui obtenu à partir de lm (chaleur ~ temp radi vent * temps).
Modifications: sur la base de certains commentaires, j'ai supprimé le transfert et ajouté xreg à la place:
regParams = ts.union(ts(dayy), ts(temp), ts(time))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams)
où dayy est le "numéro jour de l'année" et time, l'heure du jour. La température est à nouveau la température extérieure. Cela me donne le résultat suivant:
ce qui est meilleur, mais pas à la hauteur de ce que je pensais voir.