Modèles ARIMA et SARIMA
Composantes AR, MA et I, sélection des paramètres avec ACF et PACF, ajustement de modèles ARIMA avec statsmodels.
Modèles ARIMA et SARIMA est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Qu’est-ce qu’ARIMA ?
ARIMA associe AutoRegressive (autorégressif), l’intégration ou la différenciation, et une moyenne mobile. Il modélise une série stationnaire à l’aide de trois composantes : l’autorégression (p), l’intégration ou différenciation (d), et une moyenne mobile des erreurs (q), notées ARIMA(p, d, q).
AR(p) : autorégressif
Le terme AR prédit la valeur suivante à partir d’une combinaison linéaire de ses propres p valeurs précédentes. Si la valeur d’aujourd’hui dépend fortement des derniers jours, p doit être différent de zéro.
Exemple : p=2 utilise les deux observations les plus récentes comme prédicteurs.
I(d) : intégration / différenciation
Le terme I correspond à l’ordre de différenciation d nécessaire pour rendre la série stationnaire, exactement le d que vous avez trouvé avec le test ADF dans la leçon précédente. d=1 supprime une tendance linéaire.
MA(q) : moyenne mobile
Le terme MA modélise la valeur suivante à partir des q erreurs de prévision précédentes (les chocs). Il capture les corrections du bruit à court terme que la partie AR ne prend pas en compte.
Ajuster ARIMA dans statsmodels
Transmettez votre série sous la forme endog ainsi que le tuple d’ordre choisi.
from statsmodels.tsa.arima.model import ARIMA
model = ARIMA(endog=series, order=(p, d, q))
fit = model.fit()
print(fit.summary())Prévoir
Une fois le modèle ajusté, générez les valeurs futures avec forecast ou get_forecast, qui fournit également des intervalles de confiance.
preds = fit.forecast(steps=12) # next 12 periods
fc = fit.get_forecast(steps=12)
ci = fc.conf_int() # confidence intervalsGraphiques ACF et PACF
Pour choisir p et q, examinez les graphiques d’autocorrélation :
- ACF (autocorrélation) aide à choisir q (ordre MA).
- PACF (autocorrélation partielle) aide à choisir p (ordre AR).
Recherchez le retard auquel la corrélation s’interrompt nettement.
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(series.diff().dropna())
plot_pacf(series.diff().dropna())AIC et BIC pour choisir l’ordre
AIC et BIC évaluent l’ajustement du modèle tout en pénalisant sa complexité. Plus la valeur est faible, meilleur est le modèle. Ajustez plusieurs candidats (p,d,q) et choisissez celui dont l’AIC ou le BIC est le plus faible ; BIC pénalise plus fortement les paramètres supplémentaires.
print("AIC:", fit.aic)
print("BIC:", fit.bic)Recherche en grille des ordres
Une approche courante consiste à parcourir de petites plages de valeurs pour p, d et q, à ajuster chaque modèle et à conserver celui dont l’AIC est le plus faible. Des bibliothèques comme pmdarima.auto_arima automatisent cette recherche.
best = None
for p in range(3):
for q in range(3):
try:
f = ARIMA(series, order=(p, 1, q)).fit()
if best is None or f.aic < best[1]:
best = ((p, 1, q), f.aic)
except Exception:
pass
print(best)SARIMA pour la saisonnalité
SARIMA ajoute une composante saisonnière : (P, D, Q, m), où m désigne la longueur de la saison (12 pour des données mensuelles sur plusieurs années). Il prend en compte les motifs répétitifs qu’ARIMA seul ne peut pas modéliser.
from statsmodels.tsa.statespace.sarimax import SARIMAX
model = SARIMAX(series,
order=(1, 1, 1),
seasonal_order=(1, 1, 1, 12))
fit = model.fit()ARIMA ou SARIMA
- ARIMA(p,d,q) : tendance et dépendance à court terme, sans saisonnalité.
- SARIMA(p,d,q)(P,D,Q,m) : ajoute des termes saisonniers pour les cycles répétitifs.
Si votre décomposition a révélé une saisonnalité nette, choisissez SARIMA.
Vérification rapide
Testez vos connaissances sur ARIMA.
Récapitulatif
Vous avez appris le modèle ARIMA(p,d,q) : AR utilise les valeurs précédentes, I représente l’ordre de différenciation et MA utilise les erreurs précédentes. Vous avez ajusté le modèle avec ARIMA(endog, order=...), choisi les ordres à l’aide de ACF/PACF et AIC/BIC, puis étendu cette méthode à SARIMA pour la saisonnalité. Ensuite : Prophet pour automatiser les prévisions.
Questions Fréquemment Posées
La leçon « Modèles ARIMA et SARIMA » est-elle gratuite ?
Oui — le texte complet de « Modèles ARIMA et SARIMA » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Modèles ARIMA et SARIMA » ?
Composantes AR, MA et I, sélection des paramètres avec ACF et PACF, ajustement de modèles ARIMA avec statsmodels. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Modèles ARIMA et SARIMA » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Composantes des séries temporelles et stationnarité
- Modèles ARIMA et SARIMA
- Prophet pour la prévision automatisée
- LSTM pour la prévision de séries temporelles