2014-03-05 3 views
0

나는 꽤 많은 시간을 보냈으며, 나는 아무데도 가지 않을 것이라고 생각한다. 나는 predict 방법의 예측 간격을 사용하여 시도했다. 여기서는 로그 리턴에서 생성 된 AR 모델을 기반으로 로그 리턴의 미래 값을 예측하려고합니다.R에서 AR 모델을 사용하여 예측에 대한 예측 간격을 어떻게 찾을 수 있습니까?

> model_1 <- ar(data1[,'Log Return'], aic = TRUE, order.max = NULL, method = c("mle")) 
> predict(model_1, data1[,'Log Return'], n.ahead = 8, level = 0.95, interval = "prediction") 

그러나, R은 출력에 나에게 어떤 예측 간격을 제공하기를 거부 :

$pred 
Time Series: 
Start = 264 
End = 271 
Frequency = 1 
[1] 0.005904645 0.006259840 0.007770717 0.007785322 0.007944444 0.007832193 0.007811966 0.007772691 

$se 
Time Series: 
Start = 264 
End = 271 
Frequency = 1 
[1] 0.009038997 0.009569202 0.009830485 0.009831987 0.009831988 0.009834717 0.009835227 0.009835437 

나는 아무 소용이 모든 곳에서 검색 한, 나는 의심하기 시작하고있어 그 predict 방법 할 수있는 ' AR 모델에 대한 예측 간격을 제공하지 않습니다.

답변

1

데이터가 없기 때문에 ar 도움말 파일의 모델을 사용하고 그 데이터를 예측합니다. 예측 간격에 대해 predict을 원하지 않습니다. 인수를 ar에 사용하고 forecast 패키지에서 예측 간격을 가져옵니다.

> (sunspot.ar <- ar(sunspot.year, n.ahead = 8)) 

Call: 
ar(x = sunspot.year, n.ahead = 8) 

Coefficients: 
     1  2  3  4  5  6  7  8  9 
1.1305 -0.3524 -0.1745 0.1403 -0.1358 0.0963 -0.0556 0.0076 0.1941 

Order selected 9 sigma^2 estimated as 267.5 

> library(forecast) 
> forecast(sunspot.ar, levels = 95) 
    Point Forecast  Lo 80  Hi 80  Lo 95  Hi 95 
1989  135.25933 114.299317 156.21935 103.203755 167.31491 
1990  148.09051 116.455825 179.72519 99.709436 196.47158 
1991  133.98476 96.875479 171.09404 77.231012 190.73851 
1992  106.61344 68.200200 145.02667 47.865460 165.36141 
1993  71.21921 32.673811 109.76461 12.269108 130.16932 
1994  40.84057 2.193737 79.48741 -18.264662 99.94581 
1995  18.70100 -20.206540 57.60853 -40.802945 78.20494 
1996  11.52416 -27.675854 50.72418 -48.427088 71.47541 
1997  27.24208 -12.115656 66.59982 -32.950383 87.43454 
1998  56.99888 17.600443 96.39731 -3.255828 117.25359 
관련 문제