Skip to content

L'autocorrélation, boussole du choix de modèle

L’autocorrélation à un retard k (lag) mesure la ressemblance d’une série avec elle-même décalée de k jours — la question « la valeur d’aujourd’hui ressemble-t-elle à celle d’il y a k jours ? ».

def autocorr_manuel(x, lag):
x = x - x.mean()
return np.sum(x[lag:] * x[:-lag]) / np.sum(x ** 2)

Un idiome à noter : x[lag:] * x[:-lag] multiplie terme à terme deux sous-tableaux de même longueur, naturellement décalés l’un par rapport à l’autre — aucune boucle explicite n’est nécessaire.

Valider contre une implémentation de référence

Section titled “Valider contre une implémentation de référence”
from statsmodels.tsa.stattools import acf
acf_manuel = [autocorr_manuel(train.values, lag) for lag in range(1, 6)]
acf_reference = acf(train.values, nlags=5)[1:6]
print("ACF manuel (lags 1-5):", np.round(acf_manuel, 4))
print("ACF statsmodels (lags 1-5):", np.round(acf_reference, 4))
ACF manuel (lags 1-5): [0.7535 0.4601 0.294 0.2175 0.1782]
ACF statsmodels (lags 1-5): [0.7535 0.4601 0.294 0.2175 0.1782]

Les deux implémentations concordent au dix-millième près — une vérification rassurante avant de s’appuyer sur cette mesure pour choisir un modèle.

L’autocorrélation décroît ici progressivement (0,75 → 0,46 → 0,29 → 0,22 → 0,18) plutôt que de chuter brutalement à zéro après un retard donné. Cette décroissance lente est la signature d’un phénomène d’inertie — le sujet de la prochaine leçon — par opposition à une coupure nette, qui signerait plutôt un modèle à mémoire courte.

👉 Le modèle Moving Average (MA)


Junior TSAFACK – 12/09/2026