Začněte nyníZačněte zdarma

Odhadnutí řádu modelu: PACF

Užitečným nástrojem pro určení řádu AR modelu je parciální autokorelační funkce (PACF). V tomto cvičení nasimulujeme dvě časové řady – AR(1) a AR(2) – a pro každou z nich vypočítáme výběrovou PACF. Uvidíš, že u AR(1) by měla mít PACF významnou hodnotu při zpoždění 1 a přibližně nuly pro vyšší zpoždění. U AR(2) by pak měly být významné hodnoty při zpoždění 1 i 2, a poté nuly.

Stejně jako jsi v předchozích cvičeních používal/a funkci plot_acf, teď použiješ funkci plot_pacf z modulu statsmodels.

Toto cvičení je součástí kurzu

Analýza časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Importuj moduly pro simulaci dat a vykreslení PACF
  • Nasimuluj AR(1) s \(\small \phi=0.6\) (nezapomeň, že znaménko AR parametru je obrácené)
  • Vykresli PACF pro simulated_data_1 pomocí funkce plot_pacf
  • Nasimuluj AR(2) s \(\small \phi_1=0.6, \phi_2=0.3\) (opět obrať znaménka)
  • Vykresli PACF pro simulated_data_2 pomocí funkce plot_pacf

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 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()
Upravit a spustit kód