모니터링
예측 모델을 운영하면, 즉 처음 과거 데이터를 기반으로 모델을 만들고 선택한 후 새로운 데이터를 예측하고, 다시 데이터를 수집하다 보면 당연히 새로운 데이터의 변화가 생기고, 덕분에 예측 모델의 정확성이 낮아질 수 있다. 시계열의 기본적인 패턴이 변할 수 있기 때문이다. 예를 들어 예측 대상 변수의 수준 변화(level change) 혹은 기울기 변화(slope change)가 생길 수 있고, 이때문에 변동성(variability) 자체가 증가할 수 있다. 따라서 지속적인 모니터링으로 이러한 변화에 대응해야 한다.
예측 모니터링에는 $ 1 $단계 예측 오차 $ e_t(1) $ 을 사용한다. 만약 시계열에 수준 변화가 생긴다면 예측 오차는 더 이상 $ 0 $ 을 중심으로 변동하지 않고, 편향(bias)를 가진다.
슈바르츠 관리도 (Shewhart Control Charts)
모니터링 방법 중 하나로 슈바르츠 관리도를 예측 오차에 적용하여 확인하는 것이다. 이는 예측 오차를 시간에 따라 플로팅한 그래프로 그래프의 중심선은 예측 오차의 평균을, 상하 관리한계(control limits)는 모델 성능 변화의 신호를 감지한다. 중심선은 편향이 없다는 가정하에 $ 0 $, 혹은 상관없이 평균 예측오차 $ ME $ 를 사용한다. 관리한계로는 중심선 위아래로 표준편차의 세배를 설정한다. 모델이 정확하고, 예측 오차가 정규분포를 따른다면 $99.7$% 확률로 관리한계 내에 오차가 위치해야 한다.
예측 오차가 관리한계 내에 있다면 통계적으로 안정적(in control)이라 간주한다. 그러나 예측 오차가 관리 한계를 벗어나면 모델이 데이터를 예측하는 데에 실패했다는 뜻이기에 통제 불능(out of control) 상태가 되었을 가능성을 고려한다. 단 예측 오차가 관리한계 내에 있다고 하더라도 오차가 적다는 뜻은 아니다. 즉 안정성과 통계 모델의 성능(capability)은 별개이다.
일반적으로 슈바르츠 관리도는 모집단 또는 샘플을 하위 그룹(subgroup)으로 나눠 사용하지만, 여기서 사용할 때는 예측 오차 $ e_t(1) $ 에 대한 것이고, 이는 개별 관측값(individual observations)이기에 개별값에 대한 슈바르츠 관리도(individuals control chart)를 사용해야 한다. 이 관리도에서는 보통 이동범위(moving range) 방법을 통해 개별 관측값의 표준편차를 추정한다. 이동범위 $ MR $ 은 다음과 같이 정의된다.
$$ MR = \sum_{t=2}^n \lvert e_t(1) - e_{t-1} (1) \rvert $$
이를 활용하여 표준편차는 다음과 같이 추정하고, 이를 통해 관리한계선을 만든다.
$$ \hat{\sigma}_{e(1)} = 0.8865 \cdot \frac{MR}{n-1} = 0.8655 \cdot \bar{MR} $$
누적합 관리도 (CUSUM Control Chart)
앞선 슈바르츠 관리도는 작은 이상 신호에는 둔감한데, 누적합 관리도(cumulative sum control chart)는 시계열 변수의 수준 이동(level shift) 감지에 효과적이다. 목표값 $ T_0 $ 를 기준으로 이 값을 초과하는 경우와 미달하는 경우를 각각 다음과 같이 계산한다. $ K = 0.5 \cdot \sigma_{e(1)} $ 는 기준값(reference value)이다.
$$ C_t^+ = \max [ 0, e_t(1) - (t_0+K) + C_{t-1}^+ ] $$
$$ C_t^- = \min[ 0, e_t(1) - (T_0 - K) + C_{t-1}^- ] $$
신호 발생 조건은 $H = 5 \cdot \sigma_{e(1)} $ 에 따라 다음과 같다.
$$ \begin{cases} C_t^+ > H \\ C_t^- < -H \end{cases} $$
지수가중 이동평균 관리도 (EWMA Control Chart)
지수가중 이동평균 관리도(exponentially weighted moving average control chart)는 현재 및 과거 예측 오차에 대한 지수가중 평균을 사용하는 관리도로, 예측 오차의 지수가중 평균은 다음과 같다.
$$ \bar{e}_t(1) = \lambda e_T(1) + (1-\lambda) \bar{e}_{t-1} (1) $$
여기서 $ 0 < \lambda < 1 $ 는 스무딩 상수(smoothing constant)로 일반적으로 $ 0.05 < \lambda < 0.2 $ 를 사용하고, 초기값 $ \bar{e}_0(1) $ 은 보통 $ 0 $ 또는 예측 오차 평균(average of the forecast errors)이다. 식을 통해 알 수 있지만 $ \lambda $ 가 클수록 최근 데이터 중심으로 빠르게 반응한다.
표준편차는 다음과 같다.
$$ \sigma_{\bar{e}_t(1)} = \sigma_{e(1)} \cdot \sqrt{\frac{\lambda}{2 - \lambda} [1 - (1-\lambda)^{2t} ]} $$
이를 통해 관리한계를 다음과 같이 설정한다.
$$ \begin{cases} UCL = T + 3 \cdot \sigma_{\bar{e}_t(1)} \\ LCL = T - 3 \cdot \sigma_{\bar{e}_t(1)} \end{cases} $$
만약 $ t \to \infty $ 라면 $ [1 - (1-\lambda)^{2t}] \to 1 $ 이기에 다음과 같다.
$$ \begin{cases} UCL = T + 3 \cdot \sigma_{e(1)} \cdot \sqrt{\frac{\lambda}{2 - \lambda}} \\ LCL = T - 3 \cdot \sigma_{e(1)} \cdot \sqrt{\frac{\lambda}{2 - \lambda}} \end{cases} $$
'Statistics > Time Series Analysis' 카테고리의 다른 글
[Time Series Analysis] 선형회귀모델 가설 검정(hypothesis test) (0) | 2025.04.07 |
---|---|
[Time Series Analysis] 선형회귀모델(linear regression models) (0) | 2025.03.26 |
[Time Series Analysis] 예측 모델(forecasting model) 선택(Choosing) (0) | 2025.03.26 |
[Time Series Analysis] 예측 모델(forecasting model) 평가(evaluation) (0) | 2025.03.23 |
[Time Series Analysis] 추세(trend) 및 계절성(seasonal) 조정 (0) | 2025.03.21 |