Python: Analyse des séries temporelles: Constantity, modèle ARMA / ARIMA

La constance

Qu'est-ce que stationnaire

Un concept très important dans l'analyse des séries chronologiques est stationnaire. Il représente la nature du processus stochastique que sa distribution stochastique ne change pas avec le temps ou la position.

Pour le dire clairement

Avec une valeur constante comme axe quel que soit le passage du temps

Il balance et change avec la même largeur

Les données chronologiques peuvent être dites stationnaires. Il y a beaucoup de formules, mais ce que signifie la formule elle-même Faisons attention à la forme du graphique et comprenons-le.

Faible stabilité / forte stabilité

Pour la stabilité

Il est classé en deux types: stationnaire faible et stationnaire forte.

À l'avenir, l'analyse des données de séries chronologiques traitera principalement des stations stationnaires faibles, donc simplement Lorsque nous parlons de stabilité, pensez-y comme une faible stabilité.

Une stabilité faible signifie que la valeur attendue et l'auto-covariance des données de séries chronologiques sont constantes dans le temps. Qu'est-ce que l'auto-distribution? Co-distribution entre vous et vous-même à t heures (heure) loin de vous Quelle est la variation entre les deux.

Soit la valeur moyenne μ et l'auto-covariance k dimensions γk

image.png

Il est exprimé comme. Le fait que la valeur attendue soit constante signifie qu'elle fluctue autour d'une valeur constante quel que soit le passage du temps. Parce que l'auto-covariance constante signifie que la variation des données est constante. Cela montre qu'il oscille et change avec la même largeur.

bruit blanc

À tous les points t

image.png

Quand est vrai, une telle série chronologique est appelée bruit blanc.

Il a une faible stabilité basée sur la définition ci-dessus. La formule ci-dessus montre que la valeur attendue du bruit blanc εt est 0 à tout instant t. Dans la formule ci-dessous, la dispersion du bruit blanc est constante quel que soit le temps. Cela signifie que la covariance est 0, c'est-à-dire qu'elle n'a pas d'autocorrélation.

Le bruit blanc est responsable du modèle de variation irrégulier (erreur) dans le modèle de série chronologique. Comme la fluctuation irrégulière elle-même est difficile à reproduire mathématiquement, un bruit blanc est utilisé.

import pandas as pd
import matplotlib.pyplot as plt
import statsmodels.api as sm
import numpy as np
from pandas import datetime


#Réglage du bruit blanc
mean = 0
std = 1 
num_samples = 1000
samples = np.random.normal(mean, std, size=num_samples)
#Graphique du bruit blanc
plt.title("Whitenoise")
plt.plot(samples)
plt.show()

Confirmation de la stabilité

Pourquoi la stabilité est importante

Maintenant que vous avez appris la stabilité, pourquoi la stabilité est-elle importante?

Cela n'a absolument aucun sens en raison de l'analyse de données non stationnaires dans des données de séries chronologiques. En effet, il est possible de détecter une corrélation (une relation dans laquelle B monte ou descend lorsque A monte).

Les données chronologiques sont des données qui changent avec le temps,
L'élément commun «passage du temps» crée une corrélation dénuée de sens.
(Une telle corrélation dénuée de sens est appelée pseudo-corrélation.)

Par exemple, un homme est né Je prends du poids depuis 20 ans jusqu'à ce que j'aie 20 ans. En revanche, le PIB de la Chine, qui a connu une croissance remarquable ces dernières années, augmente depuis 20 ans environ depuis 1994 environ.

Pour le moment, cela n'a pas de sens de dire que "le PIB de la Chine a augmenté parce que j'ai pris du poids".

Afin de ne pas détecter une telle corrélation insignifiante des données de séries chronologiques Pour une série chronologique sans constance, effectuez une conversion telle que prendre une différence pour créer une série chronologique avec constance. Nous devons procéder à l'analyse.

Confirmation de la stabilité (visualisation)

Le moyen le plus efficace de voir si une série chronologique est stationnaire est de l'observer réellement.

La visualisation des données est la base de l'analyse des séries chronologiques, ou plus précisément de l'analyse des données.

Comme mentionné ci-dessus, des données de séries chronologiques constantes sont disponibles quel que soit le passage du temps. Il fluctue avec la même largeur autour d'une certaine valeur Il y a une fonctionnalité.

Modèle ARMA / ARIMA

Quel est le modèle ARMA?

Modèle de base pour l'analyse des données de séries chronologiques univariées Avec le modèle ARMA En savoir plus sur le modèle ARIMA

C'est une forme développée Modélisez les données de séries chronologiques à l'aide du modèle SARIMA (Salima).

Comme son nom l'indique, le modèle ARMA sera décrit plus loin. C'est un modèle qui combine le modèle AR et le modèle MA.

Le modèle ARMA n'est pas seulement le modèle SARIMA mais aussi d'autres C'est la base d'un modèle évolutif et c'est très important.

Modèle MA

Le modèle MA (modèle de moyenne mobile) utilise le bruit blanc comme εt

image.png

C'est un modèle exprimé comme. (Dans le cas du processus primaire) Qu'est-ce que le bruit blanc?

image.png

C'était une série chronologique qui composait.

Ce modèle est une extension du bruit blanc. Par rapport à la valeur décalée à un moment donné

image.png

Puisque εt-1 est une partie commune comme, il a une autocorrélation. Et ce modèle MA Un modèle affecté par les erreurs passées et affecté par l'erreur des valeurs q précédentes est appelé MA (q).

image.png

Le modèle MA (q) a q parties communes en yt et yt-1. pour cette raison

Il a la propriété d'avoir une autocorrélation jusqu'à la période q et de ne pas avoir d'autocorrélation avec les données avant la période q + 1.

Modèle AR

Le modèle AR (modèle d'auto-retour) est un modèle dans lequel la valeur change régulièrement.

image.png

C'est un modèle exprimé comme. De cette façon, yt sera représenté par yt-1 qui en est temporairement décalé L'autocorrélation y est exprimée. Le modèle AR est un modèle qui estime de manière récursive la valeur à un certain moment à partir de la valeur passée. Un modèle qui prédit la valeur suivante en utilisant les valeurs p précédentes est exprimé par AR (p).

Modèle ARMA

Le modèle AR et le modèle MA n'ont pas la propriété de se concurrencer. Par conséquent, il est possible de formuler en combinant ces deux. Lorsque le modèle AR de AR (p) et le modèle MA de MA (q) sont combinés, il peut être exprimé comme ARMA (p, q).

Le modèle AR est un modèle qui estime récursivement la valeur à un certain moment à partir de la valeur passée.
Le modèle MA est un modèle qui a la propriété qu'il y a une corrélation simplement parce qu'il a une partie commune avec des expressions avec des séries temporelles différentes.

Modèle ARIMA

Le modèle ARIMA est une adaptation de la série originale à la série de différence au modèle ARMA mentionné précédemment. Le modèle ARMA ne peut être adapté qu'aux processus stationnaires Le modèle ARIMA peut également être appliqué à des processus non stationnaires (processus dans lesquels la moyenne et la dispersion des données dépendent du temps).

Modèle ARIMA construit avec ARMA (p, q) lorsque la différence d'avant d heure est prise Il est exprimé en ARIMA (p, d, q). Dans ce modèle ARIMA

・ P est le degré d'autocorrélation

・ Induire d

・ Q est une moyenne mobile

Est appelé.

Recommended Posts

Python: Analyse des séries temporelles: Constantity, modèle ARMA / ARIMA
Analyse des séries chronologiques 2 Stabilité, modèle ARMA / ARIMA
Python: analyse des séries chronologiques
Python: analyse des séries temporelles: création d'un modèle SARIMA
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
J'ai essayé l'analyse de séries chronologiques! (Modèle AR)
Analyse des séries chronologiques Partie 2 AR / MA / ARMA
Analyse des séries chronologiques 4 Construction du modèle SARIMA
[Statistiques] [Analyse des séries chronologiques] Tracez le modèle ARMA et saisissez la tendance.
Question sur la série chronologique Python
Analyse des séries chronologiques RNN_LSTM1
Analyse des séries chronologiques 1 Principes de base
Introduction à l'analyse des séries temporelles ~ Modèle d'ajustement saisonnier ~ Implémenté en R et Python
Python 3.4 Créer un environnement Windows7-64bit (pour l'analyse des séries chronologiques financières)
Adapté au modèle ARMA, ARIMA
Analyse des séries chronologiques partie 4 VAR
Analyse de séries chronologiques Partie 3 Prévisions
[Python] Tracer des données de séries chronologiques
Analyse de séries chronologiques Partie 1 Autocorrélation
Analyse des séries chronologiques
L'intrigue de séries temporelles a commencé ~ édition python ~
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
Analyse de séries temporelles par modèle général d'espace d'états gaussien à l'aide de Python [Exemple d'implémentation considérant extrinsèque et saisonnalité]
[Python] Accélère le chargement du fichier CSV de séries chronologiques
Analyse des séries chronologiques n ° 6 Faux retour et partie républicaine
Obtenez des données de séries chronologiques de k-db.com avec Python
Analyse de la variation temporelle des trous noirs en utilisant Python
Analyse de survie apprise avec Python 2 - Estimation Kaplan-Meier
J'ai essayé d'implémenter "Bases de l'analyse des séries temporelles et du modèle d'espace d'état" (Hayamoto) avec pystan
[Introduction à la décomposition des éléments] Organisons les méthodes d'analyse des séries chronologiques en R et python ♬
Analyse de données python
Décomposition des séries temporelles
mesure du temps python
Premier Python
[CovsirPhy] Package Python COVID-19 pour l'analyse de données: modèle SIR-F
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: modèle SIR
[Série chronologique avec plotly] Visualisation dynamique avec plotly [python, cours boursier]
"Analyse des séries chronologiques de mesure des données économiques et financières" Résolution du problème de fin de chapitre avec Python