2016-12-12 9 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

私は(黒)の観測値に非常に近い方法を当てはめ値(赤線)理解していないが、その後最初の予想では、このような大きなジャンプがあります。

このジャンプが表示される理由は何ですか?私はxregオプションが使用されていたStack Exchange上の他の投稿を見ましたが、これはそうしていないので、同様の投稿を追跡することができませんでした。

+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

関連する問題