Moving average process
특정 시점 t에서의 주가를 X_t 라고하자. 또한 특정 시점 t 에서의 회사의 공지 Z_t (noise) 가 주가에 영향을 미친다고 하자. 그런데 과거 시점 (t-1, t-2...) 에 회사의 공지도 주가에 영향을 미친다. 이런 경우에 X_t 를 다음과 같이 모델링할 수 있다.
$$ X_t = Z_t + \theta_1 Z_{t-1} + \theta_2 Z_{t-2} ... + \theta_q Z_{t-q} $$
$$ Z_t \sim Normal(\mu, \sigma) $$
이 때, q는 어떤 시점의 noise 까지 현재값에 영향을 미치는지를 의미하며, MA(2) 는 이와 같이 정의된다.
MA(2) Process
$$ X_t = Z_t + \theta_1 Z_{t-1} + \theta_2 Z_{t-2} $$
$$ Z_t \sim Normal(\mu, \sigma) $$
MA(2) process 의 예를 들면 아래와 같다.
$$ X_t = Z_t + 0.7 Z_{t-1} + 0.2 Z_{t-2} $$
MA(2) simulation
위에 예시로 든 MA(2) process 를 R 을 통해 simulation 해보자.
# noise 생성
noise <-rnorm(10000)
ma_2 = NULL
# ma(2) 생성을 위한 loop
for (i in 3:10000) {
ma_2[i] = noise[i] + 0.7*noise[i-1]+0.2*noise[i-2]
}
# shift
moving_average_process <- ma_2[3:10000]
moving_average_process <- ts(moving_average_process)
par(mfrow=c(2,1))
plot(moving_average_process, main = "A moving average process of order 2", ylab = "")
acf(moving_average_process, main = "Correlogram of ma (2)", ylab = "")
correlogram 을 보면 time step 이 0,1,2 인 경우에만 상관성이 있는 것을 확인할 수 있다. 우선, time step 이 0 인 경우는 항상 auto correlation coef 1이다. 또한 현재값에는 최대 2 time step 전의 noise 까지 반영이 되기 때문에, 최대 2 time step 의 값과 상관성이 있다는 것을 확인할 수 있따.
'Data science > Statistics' 카테고리의 다른 글
시계열분석 - Autoregressive Processes (1) | 2022.01.27 |
---|---|
시계열분석 - Stationarity (0) | 2022.01.26 |
시계열분석 - Random walk (0) | 2022.01.24 |
시계열분석 - Auto correlation coefficients (0) | 2022.01.24 |
시계열분석 - Week stationarity/Stochastic process/Autocovariance function (0) | 2022.01.24 |