Kom igångKom igång gratis

Uppskatta modellordning: PACF

Ett användbart verktyg för att identifiera ordningen hos en AR-modell är att studera den partiella autokorrelationsfunktionen (PACF). I den här övningen simulerar du två tidsserier – en AR(1) och en AR(2) – och beräknar stickprovs-PACF för vardera. Du kommer att märka att en AR(1) bör ha ett signifikant lag-1-värde i PACF och ungefär noll efter det. För en AR(2) bör stickprovs-PACF ha signifikanta lag-1- och lag-2-värden, och noll efter det.

Precis som du använde funktionen plot_acf i tidigare övningar använder du här en funktion som heter plot_pacf i modulen statsmodels.

Den här övningen är en del av kursen

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Importera modulerna för att simulera data och för att plotta PACF
  • Simulera en AR(1) med \(\small \phi=0.6\) (kom ihåg att tecknet för AR-parametern är inverterat)
  • Plotta PACF för simulated_data_1 med funktionen plot_pacf
  • Simulera en AR(2) med \(\small \phi_1=0.6, \phi_2=0.3\) (invertera tecknen även här)
  • Plotta PACF för simulated_data_2 med funktionen plot_pacf

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 for plotting the PACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_pacf

# Simulate AR(1) with phi=+0.6
ma = np.array([1])
ar = np.array([1, -0.6])
AR_object = ArmaProcess(ar, ma)
simulated_data_1 = ___.generate_sample(nsample=5000)

# Plot PACF for AR(1)
plot_pacf(___, lags=20)
plt.show()

# Simulate AR(2) with phi1=+0.6, phi2=+0.3
ma = np.array([1])
ar = np.array([1, ___, ___])
AR_object = ArmaProcess(ar, ma)
simulated_data_2 = ___.generate_sample(nsample=5000)

# Plot PACF for AR(2)
plot_pacf(___, lags=20)
plt.show()
Redigera och kör kod