Ekvivalence AR(1) a MA(nekonečno)
Abys lépe pochopil/a vztah mezi MA a AR modely, ukážeš, že model AR(1) je ekvivalentní modelu MA(\(\small \infty\)) s odpovídajícími parametry.
Nasimuluj MA model s parametry \(\small 0{,}8, 0{,}8^2, 0{,}8^3, \ldots\) pro velký počet (30) zpoždění a ukáže, že má stejnou autokorelační funkci jako model AR(1) s \(\small \phi=0{,}8\).
Poznámka: pro umocnění čísla x na exponent n použij formát x**n.
Toto cvičení je součástí kurzu
Analýza časových řad v Pythonu
Pokyny k cvičení
- Importuj moduly pro simulaci dat a vykreslení ACF ze statsmodels
- Pomocí list comprehension vytvoř seznam s exponenciálně klesajícími parametry MA: \(\small 1, 0{,}8, 0{,}8^2, 0{,}8^3, \ldots\)
- Nasimuluj 5000 pozorování modelu MA(30)
- Vykresli ACF simulované časové řady
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# import the modules for simulating data and plotting the ACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_acf
# Build a list MA parameters
ma = [___ for i in range(30)]
# Simulate the MA(30) model
ar = np.array([1])
AR_object = ArmaProcess(ar, ___)
simulated_data = ___.generate_sample(nsample=5000)
# Plot the ACF
plot_acf(___, lags=30)
plt.show()