1. Learn
  2. /
  3. Courses
  4. /
  5. Python으로 배우는 시계열 분석

Connected

Exercise

AR(1) 시계열 시뮬레이션

이 연습에서는 statsmodels의 arima_process 모듈을 사용해 서로 다른 \(\small \phi\) 값을 가진 여러 AR(1) 시계열을 시뮬레이션하고 그래프로 확인해 봅니다. 특히 양의 값이 큰 \(\small \phi\)와 음의 값이 큰 \(\small \phi\)를 살펴보지만, 원하시면 다른 값으로도 실험해 보셔도 됩니다.

arima_process 모듈을 사용할 때 알아두어야 할 관례가 몇 가지 있습니다. 첫째, 이 루틴은 AR과 MA 모델을 모두 다룰 수 있도록 일반화되어 있습니다. MA 모델은 다음에 다룰 예정이니, 지금은 MA 부분은 무시하셔도 됩니다. 둘째, 계수를 입력할 때 래그 0의 계수 1을 반드시 포함해야 하며, 다른 계수의 부호는 우리가 앞서 사용한 표기와 반대입니다(신호 처리 분야의 시계열 문헌과의 일관성을 위한 규약입니다). 예를 들어 \(\small \phi=0.9\)인 AR(1) 과정의 경우, AR 모수를 나타내는 배열은 ar = np.array([1, -0.9])가 됩니다.

Instructions

100 XP
  • arima_process 모듈에서 ArmaProcess 클래스를 임포트하세요.
  • 시뮬레이션한 AR 과정을 그려 보세요:
    • 위에서 설명한 대로 AR 모수 [1, \(\small -\phi\)]를 나타내는 배열을 ar1에 저장하세요. 지금은 MA 모수 배열 ma1에는 래그 0의 계수 1만 넣습니다.
    • 모수 ar1과 ma1로 ArmaProcess(ar,ma) 클래스의 인스턴스 AR_object1을 생성하세요.
    • 방금 만든 객체 AR_object1에서 .generate_sample() 메서드를 사용해 1000개의 데이터를 시뮬레이션하고, 이를 서브플롯에 그리세요.
  • 다른 AR 모수에 대해서도 동일하게 반복하세요.