Kom igångKom igång gratis

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

Visa kurs

Ö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()
Redigera och kör kod