Série chronologique - Régression automatique

Pour une série temporelle stationnaire, un modèle d'auto-régression voit la valeur d'une variable au temps «t» comme une fonction linéaire des valeurs «p» pas de temps qui la précèdent. Mathématiquement, il peut s'écrire -

$$ y_ {t} = \: C + \: \ phi_ {1} y_ {t-1} \: + \: \ phi_ {2} Y_ {t-2} + ... + \ phi_ {p} y_ {tp} + \ epsilon_ {t} $$

 

Où, «p» est le paramètre de tendance auto-régressive

$ \ epsilon_ {t} $ est du bruit blanc, et

$ y_ {t-1}, y_ {t-2} \: \: ... y_ {tp} $ désignent la valeur de la variable aux périodes précédentes.

La valeur de p peut être étalonnée à l'aide de diverses méthodes. Une façon de trouver la valeur appropriée de «p» consiste à tracer le graphique d'autocorrélation.

Note- Nous devons séparer les données en train et tester à un rapport de 8: 2 du total des données disponibles avant de faire une analyse sur les données car les données de test ne servent qu'à découvrir l'exactitude de notre modèle et l'hypothèse est qu'elles ne nous sont pas disponibles jusqu'à ce que les prédictions aient été faites. Dans le cas de séries temporelles, la séquence des points de données est très essentielle, il faut donc garder à l'esprit de ne pas perdre l'ordre lors du fractionnement des données.

Un graphique d'auto-corrélation ou un corrélogramme montre la relation d'une variable avec elle-même à des pas de temps antérieurs. Il utilise la corrélation de Pearson et montre les corrélations dans un intervalle de confiance de 95%. Voyons à quoi cela ressemble pour la variable «température» de nos données.

Affichage ACP

Dans [141]:

split = len(df) - int(0.2*len(df))
train, test = df['T'][0:split], df['T'][split:]

Dans [142]:

from statsmodels.graphics.tsaplots import plot_acf

plot_acf(train, lags = 100)
plt.show()

Toutes les valeurs de décalage situées en dehors de la région bleue ombrée sont supposées avoir une corrélation.