시작하기무료로 시작하기

모형 차수 추정: PACF

AR 모형의 차수를 파악하는 데 유용한 도구 중 하나가 부분자기상관함수(PACF)입니다. 이 연습에서는 AR(1)과 AR(2) 두 개의 시계열을 시뮬레이션하고, 각각의 표본 PACF를 계산해 보겠습니다. AR(1)의 경우 PACF는 지연 1에서만 유의한 값을 보이고 그 이후는 거의 0에 가까워야 합니다. AR(2)의 경우 표본 PACF는 지연 1과 지연 2에서 유의한 값을 보이고, 그 이후는 0에 가까워야 합니다.

앞선 연습에서 plot_acf 함수를 사용했던 것처럼, 여기서는 statsmodels 모듈의 plot_pacf 함수를 사용합니다.

이 연습은 강의의 일부입니다

Python으로 배우는 시계열 분석

강의 보기

연습 안내

  • 데이터 시뮬레이션과 PACF 플로팅을 위한 모듈을 임포트하세요.
  • $\small \phi=0.6$인 AR(1)을 시뮬레이션하세요(AR 모수의 부호가 반대임을 기억하세요).
  • plot_pacf 함수를 사용해 simulated_data_1의 PACF를 그리세요.
  • \(\small \phi_1=0.6, \phi_2=0.3\)인 AR(2)를 시뮬레이션하세요(마찬가지로 부호를 반대로 합니다).
  • plot_pacf 함수를 사용해 simulated_data_2의 PACF를 그리세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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()
코드 편집 및 실행