Hyunwoo's DATA
자기 상관 - ACF,PACF,정상성이란? 본문
정상성이란
평균,분산이 시간에 따라 일정한 성질이다.
즉 시계열 데이터의 특성이 시간의 흐름에 따라 변하지 않음을 의미한다.
추세나 계절성이 있는 시계열은 비정성 데이터이다.
이렇듯 정상성을 나타내지 않는 데이터는 복잡한 패턴을 모델링하여 분석하기 어렵기 때문에 정상성을 갖도록
로그변환,차분 등 전처리 후 ARIMA 같은 모형에선 분석이 진행된다.
자기상관이란
상관은 두 변수 간의 선형 관계 강도를 의미한다.
자기상관(autocorrelation)은 시계열의 x차 시점간의 상관관계를 보여준다.
자기상관은 본인 단 하나의 시계열만을 사용하며 다른 시계열과 비교되지 않는다.
동일한 데이터 배열에 대해 특정 시간 단위만큼 지연 또는 이동한 시점의 데이터를 비교한다.
ACF(자기상관함수)
ACF 현재의 관측값과 이전 관측값 간의 직간접 종속성 정보를 포함한 자기 상관관계를 보여준다.
Yt와 Yt+k 사이의 수식은 위와 같다.
분모인 var(Yt)은 모든 N개의 관측값에 대해서 측정하나 cov(Yt,Yt+k)는 N-k 관측값을 대산으로 계산한다.
따라서 수식에서 확인할 수 있듯이 k가 커짐에 따라 ACF(k)값은 작아지는 특징이 있다.
PACF(편자기상관함수)
ACF는 활융성이 뛰어나지만 모든 시계열 데이터의 특성을 분석하는 것에는 한계가 있다.
대표적으로 AR(q)모델과 MA(p) 모델중에서 어떤 것을 활용하고 시차를 적용할지에 대해서 ACF를 활용하여 결정하는 것은 어렵다. 그렇기에 PACF를 활용한 추가적인 분석이 필요할 때가 있다.
PACF 현재와 이전 관측값 간의 직접적 관계만 보여준다.
PACF는 Yt와 Yt+k의 상관계수를 측정한느 것은 동일하나 t와 t+k 사이에 다른 y값들을 배제하고 측정한다.
python statsmodel을 통해 그려보기
from statsmodels.graphics.tsaplots import plot_acf,plot_pacf
acf(df2['Births'])
title = 'ACF'
lags = 40
plot_acf(df2,title=title,lags=lags);
전형적인 ACF 플롯으로 가로축에는 시차가 있고 세로축은 상관관계가 있다.
첫번째 y0값은 항상1이다.
그림은 정상데이터와 비정상데이터
음영부분은 95% 신뢰구간으로 신뢰구간을 벗어난 상관계수는 상관관계일 가능성이 높다
즉 시차가 작을수록 상관관계가 명확해지는 것을 알 수 있다.
title='Partial Autocorrelation'
lags=40
plot_pacf(df2,title=title,lags=lags);
pacf는 정상 데이터에서 가장 잘 작동한다.
'데이터분석 > 시계열 분석' 카테고리의 다른 글
SARIMA-계절성 자기회귀 통합 이동평균 (0) | 2023.12.18 |
---|---|
기술 통계학과 검정-디키 풀러 테스트,AIC,BIC (0) | 2023.12.12 |
회귀 모델 성능 평가 지표(MAE,MSE,RMSE) (1) | 2023.12.08 |
statsmodels를 이용한 시계열 자료 분석[2] 홀트-윈터스 계절성 기법 (0) | 2023.12.07 |
statsmodels를 이용한 시계열 자료 분석[1] (0) | 2023.12.06 |