자기 자신의 과거값을 사용하는 모형으로 현재 시계열 자료의 몇번째 전 자료까지 영향을 주는가를 구하는 것이 목적
만약, 현시점의 시계열 자료가 과거 1시점 이전 자료만 영향을 준다면 1차 자기회귀모형이라고 한다. AR(1)
일반적으로 어느정도까지 데이터를 사용할것인지 p로 나타내며, AR(p)라고 표기한다.
자기회귀모형인지 판단하기 위해서는 자신과의 상관성과 부분자기상관함수를 사용해 판단한다.
자기회귀모형은 자기상관함수가 시차 증가에 따라 점차 감소하고 부분자기상관함수는 시차 후 급격히 감소해 절단된 형태를 취한다.
자기 상관(Auto-Correlation)
자기 자신의 데이터간의 상관계수를 보는것이다. 이 때, 시차(Time Lag)가 사용되는데, 예를 들어 시차가 1,2,3... 인 데이터와 시차가 0인 데이터의 상관관계를 구하면 시차의 변화에 따라 자기상관을 계산할 수 있다. 이를 통해, 자기상관함수(ACF)를 만들 수 있고
비정상시계열의 경우 ACF는 천천히 감소하며, 큰값을 가지는 경우가 많다.
이동평균모형(MA, Moving Average)
우리가 어떠한 시계열 데이터를 가지고 전처리를 했을 때 이 시계열을 정상 시계열이라고 가정해보자. 그렇다면 이 시계열은 모든 구간에서 동일한 평균과 편차를 가질 것이다. 그렇다면 이 시계열의 모집단 분포도 동일한 평균과 분산을 가질 것이다(정규 분포를 가정).
이렇게 구성된 모집단에서 데이터를 샘플링 한다. 표본 집단(시계열)과 모집단에서 각각 샘플링한 데이터의 에러가 일정할 것이라 가정하고 분석을 진행한다. 이때 모집단을 백색 잡음(White Noise)이라 부른다. 평균이 $\mu$, 표준편차가 $\sigma$인 백색 잡음(White Noise)으로 생성한 시계열과의 error의 조합으로 표현할 수 있다.
$Z_t$는 우리가 찾을 관측값이고, 이 관측값과 이전 값들의 에러($a$)에다 계수를 곱해 값을 예측하는 것이다. AR의 경우 관측값 가지고 예측을 하지만, MA의 경우는 분포를 가정하고 가정한 분포에서 샘플링 해 분석을 진행하기에 샘플에 대해서 덜 종속적이게 된다. 일반적으로는 정규 분포를 사용하나, 딥러닝에서는 다른 분포를 사용하기도 한다. 샘플에 덜 종속적이게 되어서 데이터에 불확실성을 가지고 접근하는 것이다. 일종의 생성 모델이라 보면 된다.
최근 데이터의 평균이나 중앙치를 예측하는 방법으로 각 과거치는 동일한 가중치가 주어진다. (최근 데이터에 더 가중치를 주지 않음)
자기회귀누적 이동 모형(ARIMA)
대부분 많은 시계열 자료가 따르는 모형이며 기본비정상시계열이며 차분이나 변환으로 AR, MA, ARMA 모형으로 정상화 할 수 있다.
ARIMA모형은 과거 지식이나 경험을 바탕으로 한 행동에 따라 시계열이 움직이고 있음을 기초로 한다.
따라서, 과거의 관측값과 오차로 현재 시계열 값을 설명한다.
ARMA는 staionay Series에만 적용한다.
정상시계열 입력이 들어왔을떄는 딥러닝보다 ARIMA 성능이 더 좋다.
자기회귀누적 이동모형에서는
1) 차수 p,d,q에 따라 모형의 이름이 바뀜 (p는 AR, q는 MA, d는 ARIMA에서 ARMA로 정상화할떄 몇번 차분했는지 묻는 값들이다.
AR은 과거 시점의 관측자료의 선형결합으로 표현되고, MA는 과거 시점의 백색잡음의 선형결합으로 표현됨, ARMA는 위 두 모형을 합친 모형이다.
p,d,q는 어떻게 정의할까?
ACF plotrhㅏ PACF plot을 통해 AR 및 MA의 모수를 추청한다.
ACF(Autocorrelation function): Lag에 따른 관측치들 사이의 관련성을 측정하는 함수
PACF(Partial autocorrelation function)
k이외의 모든 다른 시점 관측치의 영향력을 배제하고 y_k와 y_(k-1) 두 관측치의 관련성을 측정하는 함수
백색잡음(White Noise)
- 평균이 0이며 일정한 분산을 지닌 정규분포에서 추출된 임의의 수치로 시계열 모형에서 불규칙한 패턴을 가지는 것