1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 시계열 분석

Connected

연습 문제

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

이 연습에서는 statsmodels의 arima_process 모듈을 사용해 서로 다른 \(\small \theta\) 값을 갖는 여러 MA(1) 시계열을 시뮬레이션하고 시각화해 보겠습니다. 지난 장에서 AR(1) 모델을 다뤘던 것과 같은 방식이에요. 특히 \(\small \theta\) 가 큰 양수인 경우와 큰 음수인 경우의 MA(1) 모델을 살펴봅니다.

지난 장과 마찬가지로 계수를 입력할 때는 래그 0의 계수 1을 포함해야 합니다. 다만 AR 모델과 달리 MA 계수는 예상하는 부호를 그대로 사용합니다. 예를 들어 \(\small \theta=-0.9\) 인 MA(1) 과정의 MA 모수 배열은 ma = np.array([1, -0.9])가 됩니다.

지침

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