tijdreeksen Voorspellingen met Autoregressive Processen
Een hands-on tutorial op AR(p) proces voor tijdreeksanalyse in Python
In deze hands-on tutorial behandelen we het onderwerp van de tijdreeks modellering met autoregressive processen.
Dit artikel zal de volgende belangrijke elementen in de tijdreeksanalyse behandelen:
autoregressief proces
Yule-Walker vergelijking
stationariteit
Augmented Dicker-Fuller test
zorg ervoor dat een Jupyter notebook klaar is om mee te volgen. De code en de dataset zijn hier beschikbaar.
laten we beginnen!
leer hoe te werken met meer complexe modellen zoals SARIMAX, VARMAX, en pas deep learning modellen (LSTM, CNN, ResNet, autoregressieve LSTM) toe voor tijdreeksanalyse met toegepaste tijdreeksanalyse in Python!
Autoregressief proces
een autoregressief model gebruikt een lineaire combinatie van waarden uit het verleden van het doel om voorspellingen te maken. Natuurlijk, de regressie wordt gemaakt tegen het doel zelf. Wiskundig, een AR(p) – model wordt uitgedrukt als:
Waar:
p: is de volgorde
c: is een constante
epsilon: ruis
AR (p) model is ongelooflijk flexibel en het kan een groot aantal verschillende soorten tijdreekspatronen modelleren. Dit is gemakkelijk te visualiseren wanneer we autoregressieve processen simuleren.
gewoonlijk worden autoregressieve modellen alleen toegepast op stationaire tijdreeksen. Dit beperkt het bereik van de parameters phi.
bijvoorbeeld, een AR (1) model zal phi tussen -1 en 1 beperken. Deze beperkingen worden complexer naarmate de volgorde van het model toeneemt, maar ze worden automatisch in aanmerking genomen bij het modelleren in Python.
simulatie van een AR (2) proces
laten we een AR(2) proces simuleren in Python.
we beginnen met het importeren van enkele bibliotheken. Niet alles zal worden gebruikt voor de simulatie, maar ze zullen nodig zijn voor de rest van deze tutorial.
from statsmodels.graphics.tsaplots import plot_pacf from statsmodels.graphics.tsaplots import plot_acf from statsmodels.tsa.arima_process import ArmaProcess from statsmodels.tsa.stattools import pacf from statsmodels.regression.linear_model import yule_walker from statsmodels.tsa.stattools import adfuller import matplotlib.pyplot as plt import numpy as np%matplotlib inline
We zullen de armaprocess bibliotheek gebruiken om de tijdreeks te simuleren. Het vereist dat we onze parameters definiëren.