Maison  >  Article  >  développement back-end  >  Explication détaillée du modèle ARIMA en Python

Explication détaillée du modèle ARIMA en Python

WBOY
WBOYoriginal
2023-06-10 12:21:073545parcourir

Le modèle ARIMA est un modèle statistique utilisé pour traiter des séries chronologiques. Il peut être utilisé pour prédire les valeurs futures, analyser les données historiques, identifier les tendances et les cycles, etc. En Python, les modèles ARIMA sont implémentés via le package statsmodels.

Le nom de ce modèle est composé de trois parties qu'il contient : AR (Auto-Régressif), I (Intégré) et MA (Moyenne Mobile). Les fonctions de ces trois parties sont : AR est utilisé pour représenter la combinaison linéaire de la valeur actuelle et de plusieurs valeurs précédentes ; I est utilisé pour représenter la différence entre les données ; MA est utilisé pour représenter la combinaison linéaire de la valeur actuelle et de plusieurs valeurs précédentes ; valeurs passées. Le modèle ARIMA est un modèle qui combine ces trois parties et peut prédire et décrire efficacement les données de séries chronologiques.

L'hypothèse principale du modèle ARIMA est que la série chronologique est stationnaire, ce qui signifie que la moyenne et la variance de la série chronologique ne changeront pas de manière significative au fil du temps, afin que les prédictions du modèle puissent être rendues plus précises.

Les étapes spécifiques pour utiliser le modèle ARIMA sont les suivantes :

1. Déterminez l'ordre requis pour le modèle, c'est-à-dire les valeurs p, d, q dans ARIMA (p, d, q).

Parmi eux, p représente l'ordre du modèle AR, d représente l'ordre de différence des données et q représente l'ordre du modèle MA.

2. Construire un modèle ARIMA selon l'ordre déterminé.

3. Utilisez le modèle pour ajuster les données et obtenir les paramètres du modèle.

4. Effectuez des tests et des diagnostics sur le modèle, déterminez si le modèle s'adapte bien et évaluez les résultats de la prédiction.

Ce qui suit est un exemple d'utilisation d'un modèle ARIMA pour prévoir une série temporelle :

"""
importer des pandas en tant que pd
importer numpy en tant que np
importer matplotlib.pyplot en tant que plt
importer statsmodels.api en tant que sm

Créer une série chronologique

dates = pd.date_range('20210101', périodes=365)
data = pd.Series(np.random.randn(365), index=dates)

Prétraitement des données, différence

data_diff = data . diff().dropna()

Construire un modèle ARIMA

model = sm.tsa.ARIMA(data_diff, order=(1, 1, 1))

Ajuster le modèle et obtenir les paramètres du modèle

results = model. fit()

Effectuer des tests et un diagnostic du modèle

results.summary()

Effectuer une prédiction du modèle

predictions = results.predict(start='20220101', end='20221231')
"""

Dans cet exemple, nous créons d'abord une série chronologique contenant des données aléatoires, puis effectuons un traitement différentiel, c'est-à-dire que nous définissons le nombre de différences des données sur 1. Ensuite, un modèle ARIMA est construit, dans lequel les valeurs des ordres p, d et q sont respectivement 1, 1 et 1. Ajustez ensuite le modèle et obtenez les paramètres du modèle. Enfin, la prédiction du modèle a été réalisée et les résultats de prédiction pour l'année suivante ont été obtenus.

En bref, le modèle ARIMA est un outil d'analyse de séries chronologiques très puissant et couramment utilisé. En Python, le modèle ARIMA peut être facilement implémenté à l'aide du package statsmodels, qui offre une grande commodité pour la prédiction et l'analyse de séries chronologiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn