2016-12-12 6 views
2

forecast 패키지의 auto.arima()을 사용 중이며 예측과 함께 이상한 결과가 나타납니다. 왜 시계열 예측에서 점프가 발생합니까?

library(forecast) 

x <- structure(c(1.92, 2.1, 1.73, 1.35, 1.29, 1.35, 1.42, 1.46, 1.6, 
1.67, 1.98, 1.78, 1.77, 2.35, 1.93, 1.43, 1.29, 1.26, 1.93, 2.33, 
2.22, 2.19, 2.15, 2.25, 3.12, 3.32, 2.72, 2.28, 2.28, 2.16, 2.81, 
3.12, 2.85, 2.98, 3.3, 3.06, 3.56, 3.81, 3.48, 2.64, 2.91, 3.35, 
3.73, 3.58, 4, 3.94, 3.79, 3.85), .Tsp = c(2012, 2015.91666666667, 
12), class = "ts") 

fit <- auto.arima(x) 

plot(forecast(fit, 12)) #forecast and actual data 
f2 <- fitted.values(fit) 
lines(f2, col="red") #add predicted values during training 

enter image description here

장착 값 (레드 라인)이 관찰 된 값 (검은 색)에 매우 근접하지만 첫 예측에서 그렇게 큰 점프가 어떻게 이해가 안

.

이 점프가 표시되는 이유는 무엇입니까? Stack Exchange에서 다른 게시물을 보았습니다. xreg 옵션이 사용되었지만 그렇게하지 않았기 때문에 유사한 게시물을 추적 할 수 없었습니다.

+0

을 아니 물론 아니지. 문제는 빨간색의 마지막 예측 값과 파란색의 첫 번째 예측 값 사이의 간격이 너무 큰 이유입니다. 단순히 선들이 연결되어 있지 않고 그 격차가 커 보이거나 또 다른 문제가있는 것입니까? forecast() 함수에서 오는 예측은 2016 년 실제 데이터에서 매우 벗어났습니다. 훈련 예상은 아주 가깝습니다. 12 월에서 1 월로의 점프는 결코 그렇게 많지 않습니다. – stats217

+0

여기서 프로그래밍 문제가 있다고 생각하지 않습니다. 모델 결과를 해석하는 데 문제가있을 수도있는 것 같습니다. 기본 통계 모델에 대한 질문이 있으면 [stats.se]에 질문을 게시해야합니다. – MrFlick

답변

0

일반적으로 나는 auto.arima이 데이터에 약간의 과잉을 부여한다고 생각하는 경향이 있습니다. ACF를 사용한 빠른 탐색 분석 결과에 따르면 (0,1,2)(0,1,0)[12]은 이미 괜찮은 모델입니다.

fit0 <- arima0(x, order = c(0,1,2), seasonal = c(0,1,0)) 

예측/예측이 predict.arima0로 수행됩니다 :이 모델에 맞게 R베이스에서 arima0를 사용합니다

pred <- predict(fit0, n.ahead = 12, se.fit = FALSE) 

하자 플롯 관찰 시리즈를 함께 예측 :

ts.plot(x, pred, col = 1:2) 

arima0

stil 점프 했어. 그러나 시리즈의 다양성과 비교할 때 그 편차는 상당히 합리적입니다.

아무런 문제가 없습니다.x[49]x[1:48]에서 예측하면 x[48]과 다릅니다. 일반적으로 (0,1,2)(0,1,0)[12]에는 선형 추세와 계절 효과가 있습니다. 그것은 시즌하여 시계열 예측 시즌을 시각화하는 데 도움이되지 :

ts.plot(window(x, 2012, 2012 + 11/12), 
     window(x, 2013, 2013 + 11/12), 
     window(x, 2014, 2014 + 11/12), 
     window(x, 2015, 2015 + 11/12), 
     pred, col = 1:5) 

by season