1. 정상시계열 검정
AR 모형을 적용하기 전, 시계열 데이터가 정상성을 만족하는지 검정이 필요하다. 정상성은 데이터의 평균과 분산이 시간에 따라 일정한 상태를 의미한다. 시계열이 정상성을 만족하지 않으면 예측 모델의 성능이 저하될 수 있다.
ADF(Argumented Dickey Fuller) 검정을 통해 시계열의 정상성 여부를 판단할 수 있다. ADF는 단위근의 존재 여부를 테스트하여 시계열의 정상성 여부를 판단하는 방법이다. 단위근이란 자기 회귀 계수가 1인 경우를 말한다.
가설 | 설명 |
H0(대립가설) | 시계열에 단위근이 존재한다. 즉, 시계열이 비정상적이다 |
H1(귀무가설) | 데이터에서는 단위근이 존재하지 않는다. 즉, 정상 시계열이다. |
2. 이동평균 (Moving Average)
이동평균 모델은 과거의 예측 오류가 현재 값에 영향을 줄 수 있는 패턴을 말한다.
이동평균 MA(q)에서 q는 현재 값에 영향을 미치는 이전 오차항 개수를 말한다. ACF 그래프에서 유의미한 상관계수가 0이 되는 마지막 시차를 넣어주면 된다.
ACF란 자기상관관계(AutoCorrelation)로 각 시차에 대해 현재 시점부터 과거 시점 사이의 상관관계를 계산하고 시각화하여, 시차가 증가함에 따라 상관관계가 어떻게 변하는지를 파악한다.
아래 ACF 그래프를 해석해 보면 x축은 시차(Lag)를, y축은 자기상관계수를 나타내며, 각 시차에서 현재값과 과거값들 간의 상관관계를 보여준다. 파란 점선은 유의성 경계를 나타내며, 이 선을 넘는 값은 통계적으로 유의한 상관관계를 의미한다.
시차0은 자기 자신과의 상관계수로 1, 시차1은 0.6으로 양의 상관관계, 시차2는 0.48정도로 여전히 유의미한 양의 상관관계, 시차3은 0.3의 상관관계가 존재한다. 시차4 이후로는 시차가 증가할수록 상관계수는 급격히 감소해 0에 근사하여 유의하지 않은 상관관계를 보인다.
자기상관계수가 유의한 마지막 시차가 q차가 되며, 이 그래프에서는 시차 3까지 유의한 상관관계가 있으므로, MA(3) 모델이 적합하다.
3. 자기회귀 (Auto Regressive)
자기회귀는 특정 이전 시점의 데이터가 현재 데이터를 예측하는데 도움이 될 것이라고 보는 모델이다.
자기회귀 AR(p)에서 p는 현재 값에 영향을 미치는 과거 시점의 개수를 말한다. PACF 그래프에서 유의미한 상관계수가 있는 마지막 시차를 넣어주면 된다.
PACF란 편자기상관관계(Partial AutoCorrelation)로 지연이 증가함에 따라 상관관계가 어떻게 변화하는지를 보여준다.
아래 PACF 그래프를 해석해 보면 x축은 시차(Lag)를, y축은 편자기상관계수(PACF)를 나타내며, 각 시차에서 중간 값들의 영향을 제거한 상관관계를 보여준다. 파란 점선은 유의성 경계를 나타내며, 이 선을 넘는 값은 통계적으로 유의하다.
시차 1에서 상관계수는 약 0.8로, 매우 강한 양의 상관관계, 시차 2에서 상관계수는 약 -0.25로 현재값과 음의 상관관계, 시차3 이후부터는 대부분의 상관계수가 0에 가까워져서 더 이상 유의한 상관관계가 없다.
AR(p) 모델의 차수는 유의한 상관계수가 있는 마지막 시차에서 결정된다. 유의한 상관관계가 있는 마지막 시차는 시차 2이며, 따라서 AR(2) 모델이 적절할 가능성이 높다.
구분 | 이동평균(MA) | 자기회귀(AR) |
표현 | MA(q) | AR(p) |
가정 | 과거의 오차항(예측오차)가 현재의 데이터에 영향을 미침 | 과거의 데이터가 현재 데이터에 영향을 줌 |
평가지표 | 자기상관함수(ACF) | 부분 자기상관함수(PACF) |
설명 | ACF는 현재 이전시점의 값들의 총 상관관계를 나타냄 | PACF는 중간에 있는 시점을 제외한 순수한 자기의 상관을 나타 |
'Today I Learned (TIL) > Python' 카테고리의 다른 글
[스탠다드] 데이터 분석 - 3회차, 4회차 (3) | 2024.10.03 |
---|---|
[챌린지] 시계열 기반 머신러닝 모델과 MLops 적용기 - 2회차(2) (0) | 2024.10.01 |
[스탠다드] 데이터 분석 - 1회차, 2회차 (0) | 2024.09.25 |
[챌린지] 시계열 기반 머신러닝 모델과 MLops 적용기 - 1회차 (2) | 2024.09.25 |
[TIL] 머신러닝의 심화 - 데이터분석 프로세스(3) (0) | 2024.08.18 |