BookmarkSubscribeRSS Feed

[SAS 활용 노하우] 데이터를 사용한 시계열 모형 찾기와 미래 예측

Started ‎01-27-2022 by
Modified ‎01-27-2022 by
Views 1,908

 

 

이번 게시글은 실제 데이터를 대상으로 그 데이터를 만들어낸 true 시계열 모형이 어떤 모형인지 판단하고, 선택된 모형의 계수들을 추정하고 선택된 모형이 제대로된 선택이었는지를 진단하는 절차를 진행하고자 합니다.

[ 시계열 분석 예시 1]

분석 대상의 시계열자료는 ipg 산업생산성장률 데이터로

먼저 ACF(AutoCorrelation Function)와 PACF(Partial AutoCorreltaion Function)을 얻는 것입니다.

이 두개의 함수들은 시계열자료를 생산해낸 true 시계열모형이 어떤 것인지를 알아내는 데 필수적입니다.

 

 

SAS CODE

 

data ip;
infile '/home/u45061472/ip.prn';
input mon ip;
logip = log(ip);
ipg = dif(logip)*1200;
if mon < 19590101 then delete;
num = _N_;
run;

proc arima data=ip;
identify var=ipg;
run;

 

 

데이터 코드를 설명하면,

data ip; 로 필요한 시계열자료 ipg 의 생성을 시작합니다.

proc arima 로 시계열 자료를 분석을 시작합니다.

identify로 시계열 자료는 ipg 임을 지정하고 ipg 자료를 사용하여 ACF와 PACF 등 필요한 자료를 생성하도록 명령합니다.

 

 

SAS CODE 결과 설명

위의 코드 중 

 

identify var = ipg;

 

의 명령 결과는 다음과 같습니다.

 

 

 

스크린샷_2021-12-19_오후_10.10.38.png

 

위 Autocorreltaion Check for white Noise 는 분석 대상 시계열데이터 ipg 가 백색잡음인지를 검정할 수 있는 검정통계치와 그 확률값들을 제공하고 있습니다.

즉, ipg 데이터를 이용하여 자기상관계수를 추정하여 ipg 는 백색잡음이라는 귀무가설을 검정합니다.

즉, To Lag 6 와 To Lag 12를 예로 들어 위 표를 보면, 4개의 귀무가설 p1= p2 = ... = pk = 0, k = 6, 12, 18, 24, 모두 강하게 기가되는 것을 알 수 있습니다. 이 귀무가설들의 4개 확률값 Pr > Chisq 모두 < .0001 이기 때문입니다. 그러므로 시계열자료 ipg는 백색잡음이 아니고 ipg 데이터를 생성한 true, appropriate 시계열모형을 찾아내야 합니다.

ipg 시계열 데이터를 생산한 시계열 모형을 알아내기 위해서는 아래 플롯들을 분석해야 합니다.

 

스크린샷_2021-12-19_오후_10.15.24.png

 

 

위 Trend and Correlation Analysis for ipg 의 플롯의 ACF 플롯을 보면 최소한도 AR(1) 이 존재한다는 것을 암시하고 있습니다.

2 번째 bar 부터 상당히 빠르게 감소하고 있는 막대들이 AutoRegressive component 가 있다는 것을 암시하기 때문입니다. ACF에서 한 가지 더 고려해야 할 점은 95% 신뢰구간 경계에 존재하는 8번째와 9번째 자기상관 값들입니다.

상당히 빠르게 감소하던 자기상관 값들이 6번째에서부터 상승하기 시작하여 8번째와 9번째에 와서 local peak 를 이루고 있어서 MA(8)이나 MA(9) 정도로 고려해야 하는 것이 나닌가 의심이 듭니다.

PACF 플롯을 보면 AR(1) 의 존재를 강하게 암사히고 있습니다. 첫번째 막대가 95% 신뢰구간 훨씬 밖으로 나와있는 것이 증거입니다. 2번째, 3번째 막대들은 신뢰구간 경계에 있는 것 같기 때문에 AR(2) 나 AR(3)가 존재하는지는 확실히 않습니다. 마지막으로 고려해야할 것은 5번째 값이 마이너스이고 6번째부터 10번째 까지는 플러스 값을 유지합니다. 11번째와 12번째 마이너스로 다시 바뀌는 형태를 보이고 있습니다. 이런 형태는 아마도 MA(8) 등이 존재해서 발생하는 것이 아닌가 의심이 듭니다.

 

 

[ 시계열 분석 예시 2]

 

 

data ip;
infile '/home/u45061472/ip.prn';
input mon ip;
logip = log(ip);
ipg = dif(logip)*1200;
if mon < 19590101 then delete;
num = _N_;
run;

proc arima data=ip;
identify var=ipg;
estimate p = 1 q=0 method=ml maxit=200;
estimate p = 2 q=0 method=ml maxit=200;
estimate p = 1 q=1 method=ml maxit=200;
estimate p = 1 q=2 method=ml maxit=200;
estimate p = 1 q=(1,8) method=ml maxit=200;
estimate p = 1 q=(1,8,9) method=ml maxit=200;
run;

 

 

위의 코드를 사용하여 6개의 시계열 모형을 가지고 시계열 모형들을 추정하고 계수추정치와 함께 계산되어지는 AIC와 SBC 값들을 기준으로 모형을 선정할 것이다.

6개 시계열모형들의 AIC, SBC 값 비교해보면 p = 1, q = (1,8) 모형의 AIC 값이 가장 작은 것을 알 수 있습니다.

 

 

스크린샷_2021-12-19_오후_10.50.32.png

 

 

 

위 결과를 살펴보면 AR Factor 1 과 MA Factor 1 을 이용하여 ipg 의 시계열 모형을 표기하면 다음과 같습니다.

(1 - 0.74918 B1) ipgt

= 2.69250 + (1 - 0.41344 B1 + 0.07235 B8 ) et 입니다.

위 식을 보면 Estimate 에 있는 계수추정치들의 부호와 다르다는 것을 알 수 있습니다. SAS 표기 방법은 BackShift Operator B를 사용하여 표기하고, 마이너스 부호로 붙이기 때문에 Estimate 에 있는 부호와 반대가 됩니다. MA1,1 / MA1,2 / AR 1,1 계수들 모두 5% 유의수준에서 통계적으로 유의하다는 것을 알 수 있습니다.

 

 

스크린샷_2021-12-19_오후_10.56.04.png

 

 

residual 이 백색잡음이라는 귀무가설을 검정하는 Chi-Square 검정치의 확률값, Pr > ChiSq 를 보면 To Lag 6, 12, .... , 48 모든 값들이 0.05보다 작다는 것을 알 수 있습니다. 즉, 귀무가설이 residual 이 백색잡음이라는 것을 기각하고 있습니다.

 

 

스크린샷_2021-12-19_오후_10.57.42.png

 

 

 

이러한 결과는 Residual Correlation diagnostic for ipg 에서도 발견되고 있습니다.

여기서 ACF, PACF, IACF 플롯들을 보면 Lag 5, Lag 24 에서 95% 신뢰구간을 초과하는 값들을 발견할 수 있고, 특히 White Noise Prob 플롯을 보면 5번째와 24번째 검정확률 값이 0.01 보다 더 작다는 것을 확인할 수 있고 다른 확률값들 중 0.06보다 작은 값들도 8개가 됩니다. 24개 확률값들 중 0.05보다 큰 값들은 모두 11개 정도가 됩니다.

즉, 백색잡음이라는 귀무가설은 24번째 중 11번 기각되지 않고 나머지 13번은 기각된다는 결론입니다.

 

 

Version history
Last update:
‎01-27-2022 12:30 AM
Updated by:
Contributors

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Article Labels
Article Tags