Ekvivalens mellan AR(1) och MA(oändligheten)
För att bättre förstå sambandet mellan MA-modeller och AR-modeller ska du visa att en AR(1)-modell är ekvivalent med en MA(\(\small \infty\))-modell med rätt parametrar.
Du simulerar en MA-modell med parametrarna \(\small 0.8, 0.8^2, 0.8^3, \ldots \) för ett stort antal (30) lagg och visar att den har samma autokorrelationsfunktion som en AR(1)-modell med \(\small \phi=0.8\).
Observera: för att upphöja ett tal x till exponenten n använder du formatet x**n.
Den här övningen är en del av kursen
Tidsserieanalys i Python
Övningsinstruktioner
- Importera modulerna för datasimulering och för att plotta ACF från statsmodels
- Använd en listomfattning för att bygga en lista med exponentiellt avtagande MA-parametrar: \(\small 1, 0.8, 0.8^2, 0.8^3, \ldots\)
- Simulera 5 000 observationer av MA(30)-modellen
- Plotta ACF för den simulerade serien
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()