PACF :: 시계열 분석 - mindscale
Skip to content

PACF

ACF는 1시점과 2시점 사이에 상관관계가 있으면 간접적으로 1시점과 3시점 사이에도 상관관계가 있는 것처럼 나타날 수 있습니다.

PACF는 Partial ACF라는 뜻으로 ACF의 위와 같은 특징을 보완하기 위한 것입니다. PACF는 1시점과 3시점의 상관 계수를 구할 때, 2시점의 영향을 통계적으로 통제합니다. 통계 용어로는 편상관(partial correlation)이라고 합니다.

호주 관광객 데이터를 예로 ACF와 PACF를 비교해보겠습니다.

import pandas as pd
df = pd.read_excel('ausvisitor.xlsx')
df.head()
year quarter visitor
0 1999 1 30.052513
1 1999 2 19.148496
2 1999 3 25.317692
3 1999 4 27.591437
4 2000 1 32.076456

visitor 변수를 시각화하면 아래와 같습니다.

y = df.visitor
y.plot()
<Axes: >

ACF는 아래와 같습니다.

from statsmodels.tsa.stattools import acf, pacf
acf(y)
array([1.        , 0.54040572, 0.52198842, 0.49852763, 0.81889014,
       0.40887477, 0.39834764, 0.38422002, 0.70625801, 0.31552933,
       0.31896945, 0.30604684, 0.57924961, 0.22202747, 0.20293205,
       0.19232564, 0.44524715, 0.11234446, 0.09457152])

PACF는 1번째는 ACF와 같이 0.54847148이지만 2번째부터는 값이 달라집니다.

pacf(y)
array([ 1.        ,  0.54847148,  0.33894793,  0.22726205,  0.78128884,
       -0.49267999, -0.15253555,  0.00230318,  0.53284854, -0.27505253,
       -0.13320084, -0.17625694,  0.13987505,  0.03786393, -0.32350127,
       -0.11991161,  0.1246233 ,  0.18627567, -0.35781682])
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
plot_acf(y);
plot_pacf(y);