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
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_1pomocí funkceplot_pacf - Nasimuluj AR(2) s \(\small \phi_1=0.6, \phi_2=0.3\) (opět obrať znaménka)
- Vykresli PACF pro
simulated_data_2pomocí funkceplot_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()