회귀 분석의 관점에서 과거의 데이터를 보고 현재 또는 미래의 결과를 예측하는 것
즉, Regression을 자기 자신에게 적용하는 것
$$
y_1, \ldots, y_n \rightarrow y_{n+1}
$$
$$
\mathrm{MSE}=\frac{1}{n} \sum_{i=1}^n\left(f\left(y_1, \ldots y_i\right)-y_{i+1}\right)^2
$$
종류
Moving Average(이동평균)
가장 간단한 방법
- 최신 트렌드를 반영하기 위해 최근 K개의 평균을 향후 예측에 활용한다.
- K의 값에 따라 경향성을 다르게 모델링할 수 있다.
- K가 커질수록 최신 트렌드의 반영 정도가 줄어든다.
평균 뿐만 아니라 다양한 형태로 Moving Average의 모델링이 가능하다.
$$
f\left(y_1, \ldots, y_n\right)=\frac{1}{K} \sum_{k=0}^{K-1} y_{n-k}
$$
$$
f\left(y_1, \ldots, y_{n+1}\right)=\frac{1}{K}\left(K \cdot f\left(y_1, \ldots, y_n\right){-y_{n-K+1}}{+y_{n+1}}\right)
$$
${-y_{n-K+1}}$
: 가장 오래된 값 삭제${+y_{n+1}}$
: 최근 값 추가
Weighted Moving Average
단순히 평균이 아니라 최근 값에 대한 가중치를 더 크게 주는 방법
-
선형적으로 비중을 조절하는 것 뿐만 아니라 지수, 로그 등을 활용하여 다양한 방법으로 모델링이 가능하다.
지수 함수를 활용하여 최근 값의 비중을 기하급수적으로 증가시켰다.
$$ \begin{gathered}f\left(y_1\right)=y_1 \\f\left(y_1, \ldots, y_{n+1}\right)=\alpha f\left(y_1, \ldots, y_n\right)+(1-\alpha) \cdot y_{n+1}\end{gathered} $$
Learning-based Moving Average
Weighted moving average에서의 가중치를 학습하는 방법
$$
f\left(y_1, \ldots, y_n\right)=\sum_{k=0}^{K-1} \theta_k \cdot y_{n-k}
$$
주기적인 변화가 있는 교통량 예측, 시즌 별 상품 소비 예측 등에 사용된다.
주 단위, 월 단위 등의 주기성을 모델링하는 데 보다 적합하다.