-
시계열 데이터에 대한 ARIMA 모델 with R데이터사이언스/데이터 분석 2023. 2. 22. 19:10
총 두 가지의 데이터에 대하여 ARIMA모델을 적합해보았다.
- 화학반응의 결과물에 대한 시간 별 데이터 (n=197)
- 미국의 실업자에 관한 월 별 데이터 (n=500)
분석목적:
시간에 따라 측정된 두 종류의 시계열 데이터에 대하여
자주 사용되는 ARIMA(p,d,q)모델을 적합하고 자귀회귀계수(p), 차분계수(d), 이동평균계수(q)를 추정한다.
경우에 따라 계절성이 관측되면, seasonal ARIMA(p,d,q)(P,D,Q)[m] 모델을 사용하기로 한다.
첫 번째 데이터 : Chemical process concentration readings: Every two hours (n = 197)
<원본 데이터에 대한 시계열 plot> <원본 데이터에 대한 시계열 ACF, PACF> - ACF가 천천히 감소한다고 판단된다.(-> 비정상성) 차분을 적용한다.
<1 차 차분 데이터에 대한 ACF, PACF> ACF는 cut off after lag1, PACF는 지수적 감소로 판단된다.
따라서 IMA(1,1)모델을 적용해본다.
Coefficients(추정량): ma1, –0.6994
이제 잔차를 진단한다.
< IMA(1,1) 모델의 잔차 plot, ACF, PACF > Modified Box-Pierce (Ljung-Box) Chi-Square statistic of IMA(1,1) lag 6 12 24 36 P값 0.1102 0.0588 0.1215 0.01937 잔차의 plot을 관찰하고 Ljung-Box검정을 실시한 결과 잔차가 대체로 정규성과 등분산성을 만족함을 확인 할 수 있다. 그러나 lag 36에서 독립성이 의심된다.
다른 가능성으로, 차분(d=2)인 모델과,
1차 차분 시계열의 ACF와 PACF가 모두 지수적으로 감소일 때의 ARIMA(1,1,1)모델을 적합하고 잔차를 진단해보자.
우선, 차분(d=2)인 모델이다.
<2 차 차분 데이터에 대한 시계열 ACF, PACF> ACF는 cut off after lag1, PACF는 지수적 감소로 판단된다.
따라서 IMA(2,1)모델을 적용해본다.
Coefficients(추정량): ma1, -1.0000
이제 잔차를 진단한다.
< IMA(2,1) 모델의 잔차plot, ACF, PACF > Modified Box-Pierce (Ljung-Box) Chi-Square statistic of IMA(2,1) lag 6 12 24 36 P값 <4.333e-06 <3.533e-05 <3.261e-06 <3.626e-08 IMA(2,1)모델은 잔차가 정규성과 등분산성, 독립성을 만족하지 않는다.
이번에는 ARIMA(1,1,1) 을 적합해보자.
Coefficients(추정량): ma1; -0.8193, ar1; 0.2155
< ARIMA(1,1,1) 모델의 잔차 plot, ACF, PACF > Modified Box-Pierce (Ljung-Box) Chi-Square statistic of ARIMA(1,1,1) lag 6 12 24 36 P값 0.8147 0.4877 0.3811 0.08986 ARIMA(1,1,1)모델은 잔차가 정규성과 등분산성, 독립성을 만족한다.
최종결과 Model sigma^2 추정량 aic 모수의 개수 잔차의
적절함
IMA(1,1)
IMA(2,1)
ARIMA(1,1,1)
0.1007
0.1371
0.09851
109.02
173.22
106.74
1
1
2
△
X
O최종 모형으로 sigma^2추정량과 aic값이 가장 작은 ARIMA(1,1,1)을 선택한다.
두 번째 데이터 : Monthly series of unemployed females between ages 16 and 19 in US from January 1961 to October 2002. (n = 500)
< 원본 데이터에 대한 시계열 plot> 분산이 시간에 따라 일정하지 않다고 판단, 로그변환을 취한다.
< 로그변환 데이터에 대한 시계열 plot > < 로그변환 데이터에 대한 시계열 ACF, PACF> - ACF가 천천히 감소한다고 판단된다.(-> 비정상성) 차분을 적용한다.
< 로그변환과 1 차 차분을 한 데이터에 대한 ACF, PACF> acf 확인 결과, lag12에서 유의하며 lag 11&13 대칭이다 따라서 승법계절모형을 고려한다.
acf는 12배수차수에서 지수적으로 감소한다고 판단, pacf는 12배수 차수가 lag 12or24에서 cut off 로 판단한다. 따라서 두 가지 경우를 생각할 수 있다.
->계절성에 대해 ARIMA(0,1,0)(2,0,0)[12] 또는 ARIMA(0,1,0)(1,0,0)[12]
우선 ARIMA(0,1,0)(2,0,0)[12]를 적합하고 비계절성분(p,q)을 결정하기 위해 ACF, PACF를 확인하자.
Coefficients(추정량):
sar1 :-0.2273 sar2 :-0.1794
< ARIMA(0,1,0)(2,0,0)[12] 모델의 잔차 plot, ACF, PACF > ->ACF가 1이후에 cut off, pacf는 지수적으로 감소하는 것으로 판단한다.
따라서 ARIMA(0,1,1)(2,0,0)[12] 적합.
Coefficients(추정량):
ma1: -0.5923 , sar1: -0.1744, sar2: -0.1625
< ARIMA(0,1,1)(2,0,0)[12] 모델의 잔차plot, ACF, PACF > Modified Box-Pierce (Ljung-Box) Chi-Square statistic of ARIMA(0,1,1)(2,0,0) lag 6 12 24 36 P값 0.6904 0.5766 0.2754 0.2404 ARIMA(0,1,1)(2,0,0)[12]모델은 잔차가 정규성과 등분산성, 독립성을 만족한다.
이번에는
ARIMA(0,1,0)(1,0,0)[12] 모델을 적합하고 비계절성분(p,q)을 결정하기 위해 ACF, PACF를 확인하자.
Coefficients(추정량): sar1: -0.1909
< ARIMA(0,1,0)(1,0,0)[12] 모델의 잔차 plot, ACF, PACF > ->ACF가 1이후에 cut off, pacf는 지수적으로 감소하는 것으로 판단한다.
따라서 ARIMA(0,1,1)(1,0,0)[12] 적합.
Coefficients(추정량): ma1: -0.5989, sar1: -0.1500
< ARIMA(0,1,1)(1,0,0)[12] 모델의 잔차 plot, ACF, PACF > Modified Box-Pierce (Ljung-Box) Chi-Square statistic of ARIMA(0,1,1)(1,0,0) lag 6 12 24 36 P값 0.7181 0.7108 0.02341 0.05537 ARIMA(0,1,1)(1,0,0)[12]모델은 잔차가 정규성과 등분산성을 만족하지만 lag24와36에서 독립성이 의심된다.
최종결과 Model sigma^2 추정량 aic 모수의 개수 잔차의
적절함ARIMA(0,1,1)(2,0,0)[12] 0.00424 -1302.73 3 O ARIMA(0,1,1)(1,0,0)[12] 0.004347 -1292.83 2 △ 최종 모형으로 aic값이 작고 잔차의 조건을 더 만족하는
ARIMA(0,1,1)(2,0,0)[12]을 선택한다.
시계열 데이터는 비정상성과, 관측된 샘플 수의 고유한 특징(한 시점에 하나의 데이터) 때문에 특별하다고 생각합니다.
시계열 plot과 ACF, PACF에 대한 주관적인 해석을 바탕으로 여러가지 가능성을 의심해보는 태도가 중요하겠습니다.
이 포스팅을 통해 ARIMA모형의 수립 프로세스를 이해하는데 도움이 되기를 바랍니다.
'데이터사이언스 > 데이터 분석' 카테고리의 다른 글
머신러닝(분류): 신용카드 사기 검출 분석 (0) 2023.02.28 유용한 파이썬 코드 모음 (데이터 분석) (0) 2023.02.24 딥러닝(CNN)을 이용한 음성분류 (0) 2023.02.21 이미지에 대한 PCA와 클러스터링, LDA (0) 2023.02.21 다변량 자료와 정규분포 (0) 2022.08.30