ARIMA est une abréviation qui représente AutoRegressive Incorporated Moving Normal. Il s’agit d’une classe de modèles qui regroupe une série de structures mondaines standard dans les informations sur l’organisation du temps.

Dans cet exercice pédagogique, vous trouverez comment construire un modèle ARIMA pour les informations sur l’organisation du temps avec Python.

Une fois cet exercice pédagogique terminé, vous le saurez :

A propos du modèle ARIMA, les paramètres utilisés et les soupçons formulés par le modèle.

Instructions étape par étape pour adapter un modèle ARIMA aux informations et l’utiliser pour faire des figures.

Instructions étape par étape pour concevoir le modèle ARIMA sur votre question d’aménagement du temps.

Découvrez comment vous préparer et envisager les informations sur l’organisation du temps et créer des modèles déterminants autorégressifs dans mon nouveau livre, avec 28 exercices d’instruction bit par bit et du code python complet.

Et si nous commencions ?

Rafraîchie en avr/2019 : Rafraîchissement de la connexion à l’ensemble de données.

Rafraîchie en sept/2019 : Guides actualisés pour utiliser l’interface de programmation la plus récente.

Modèle auto-régressif coordonné et normal

Un modèle ARIMA est une classe de modèles factuels permettant de décomposer et de déterminer les informations relatives à l’aménagement du temps.

Il prend en compte sans équivoque une série de structures standard dans les informations sur l’organisation du temps et, à ce titre, il fournit une technique simple mais novatrice pour réaliser des jauges d’organisation du temps appropriées.

ARIMA est une abréviation qui représente AutoRegressive Incorporated Moving Normal. Il s’agit d’une spéculation sur la normale mobile autorégressive, plus simple, qui inclut la notion de combinaison.

Cette abréviation est sans équivoque, reprenant les éléments clés du modèle lui-même. Rapidement, ils le sont :

AR : Autoregression. Un modèle qui utilise le lien nécessaire entre la perception et un certain nombre de perceptions relâchées.

I : Société anonyme. Utilisation de la différence de perceptions brutes (par exemple, soustraction d’une perception de la perception au pas de temps passé) afin de rendre l’arrangement temporel stationnaire.

Maman : Moving Normal. Un modèle qui utilise la dépendance entre une perception et une erreur persistante d’un modèle normal en mouvement appliqué à des perceptions lâches.

Chacune de ces parties est indiquée sans équivoque dans le modèle comme un paramètre. La documentation standard est utilisée pour ARIMA(p,d,q) où les paramètres sont remplacés par des nombres entiers pour montrer rapidement le modèle ARIMA utilisé.

Les paramètres du modèle ARIMA sont caractérisés comme des poursuites :

p : Le nombre de perceptions de relâchement incorporées dans le modèle, également appelé la demande de relâchement.

d : Les occasions où les perceptions brutes sont différentes sont également appelées le niveau de différence.

q : La taille de la fenêtre normale de déplacement, également appelée demande de déplacement normal.

Un modèle de rechute simple est élaboré, comprenant le nombre et le type de termes prédéfinis, et les informations sont établies par niveau de différenciation de manière à les rendre stationnaires, par exemple pour expulser les modèles et les structures régulières qui influencent négativement le modèle de rechute.

Une estimation de 0 peut être utilisée pour un paramètre, qui montre qu’il n’utilise pas cette composante du modèle. Ainsi, le modèle ARIMA peut être conçu pour jouer la capacité d’un modèle ARMA, et même d’un modèle de base AR, I, ou Mama.

En recevant un modèle ARIMA pour un arrangement de période, il faut accepter que la procédure de base qui a produit les perceptions est une procédure ARIMA. Cela peut paraître évident, mais cela inspire la nécessité d’affirmer les soupçons du modèle dans les perceptions brutes et dans les erreurs persistantes des chiffres du modèle.

Ensuite, jetons un coup d’œil à la façon dont nous pouvons utiliser le modèle ARIMA en Python. Nous commencerons par empiler un arrangement temporel univarié de base.

Ensemble de données sur les opérations de nettoyage

Cet ensemble de données présente le nombre mensuel d’offres de nettoyant sur une période de plusieurs années.

Les unités sont un compte d’affaires et il y a 36 perceptions. Le premier ensemble de données est crédité à Makridakis, Wheelwright et Hyndman (1998).

Voici un cas d’empilement de l’ensemble de données Cleanser Deals avec des Pandas ayant une capacité personnalisée d’analyser le champ date-heure. L’ensemble de données est basé sur une année subjective, pour cette situation 1900.

3

4

5

6

7

8

9

10

11

de l’importation de pandas read_csv

de l’importation de pandas date-heure

de matplotlib import pyplot

def parser(x) :

return datetime.strptime(‘190’+x, ‘%Y-%m’)

series = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

print(series.head())

series.plot()

pyplot.show()

L’exécution de l’exemple permet d’imprimer les 5 premières lignes de l’ensemble de données.

Mois

1901-01-01 266.0

1901-02-01 145.9

1901-03-01 183.1

1901-04-01 119.3

1901-05-01 180.3

Nom : Ventes, dtype : float64

1

2

3

4

5

6

7

Mois

1901-01-01 266.0

1901-02-01 145.9

1901-03-01 183.1

1901-04-01 119.3

1901-05-01 180.3

Nom : Ventes, dtype : float64

Les données sont également présentées sous la forme d’une série chronologique, avec le mois sur l’axe des x et les chiffres de vente sur l’axe des y.

Jetons également un coup d’œil rapide à un graphique d’autocorrélation de la série chronologique. Cette fonction est également intégrée aux Pandas. L’exemple ci-dessous trace l’autocorrélation pour un grand nombre de retards dans la série temporelle.

de l’importation de pandas read_csv

de l’importation de pandas date-heure

de matplotlib import pyplot

de pandas.plotting import autocorrelation_plot

def parser(x) :

return datetime.strptime(‘190’+x, ‘%Y-%m’)

series = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

autocorrelation_plot(series)

pyplot.show()

1

2

3

4

5

6

7

8

9

10

11

de l’importation de pandas read_csv

de l’importation de pandas date-heure

de matplotlib import pyplot

de pandas.plotting import autocorrelation_plot

def parser(x) :

return datetime.strptime(‘190’+x, ‘%Y-%m’)

series = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

autocorrelation_plot(series)

pyplot.show()

En utilisant le modèle, nous pouvons voir qu’il y a une relation positive avec les pantalons de 10 à 12 ans qui est peut-être énorme pour les 5 premiers pantalons.

Un bon début pour le paramètre AR du modèle pourrait être 5.

ARIMA avec Python

La bibliothèque statsmodels permet d’adapter un modèle ARIMA.

Un modèle ARIMA peut être réalisé en utilisant la bibliothèque de statsmodels pour la poursuite :

Caractériser le modèle en appelant ARIMA() et en entrant les paramètres p, d et q.

Le modèle est mis en place sur les informations de préparation en appelant le travail fit().

Les prévisions peuvent être faites en appelant le travail d’anticipation() et en déterminant la liste du ou des moments à anticiper.

Nous devrions commencer par quelque chose de simple. Nous allons adapter un modèle ARIMA à l’ensemble des données des Cleanser Deals et examiner les bévues restantes.

Pour commencer, nous adaptons un modèle ARIMA(5,1,0). Celui-ci fixe à 5 l’incitation à l’autorégression, utilise une demande de distinction de 1 pour rendre l’arrangement temporel stationnaire, et utilise un modèle normal mobile de 0.

Lors de l’ajustement du modèle, de nombreuses données d’enquête sont fournies sur l’attaque du modèle de rechute directe. Nous pouvons éliminer ce problème en fixant la contestation de la répartition à 0.