1993年から2015年までの月次データがあり、これらのデータを予測したいと思います。私はtsoutliersパッケージを使用して外れ値を検出しましたが、自分のデータセットを使用して予測を続行する方法がわかりません。
これは私のコードです:
product.outlier<-tso(product,types=c("AO","LS","TC"))
plot(product.outlier)
これはtsoutliersパッケージからの私の出力です
ARIMA(0,1,0)(0,0,1)[12]
Coefficients:
sma1 LS46 LS51 LS61 TC133 LS181 AO183 AO184 LS185 TC186 TC193 TC200
0.1700 0.4316 0.6166 0.5793 -0.5127 0.5422 0.5138 0.9264 3.0762 0.5688 -0.4775 -0.4386
s.e. 0.0768 0.1109 0.1105 0.1106 0.1021 0.1120 0.1119 0.1567 0.1918 0.1037 0.1033 0.1040
LS207 AO237 TC248 AO260 AO266
0.4228 -0.3815 -0.4082 -0.4830 -0.5183
s.e. 0.1129 0.0782 0.1030 0.0801 0.0805
sigma^2 estimated as 0.01258: log likelihood=205.91
AIC=-375.83 AICc=-373.08 BIC=-311.19
Outliers:
type ind time coefhat tstat
1 LS 46 1996:10 0.4316 3.891
2 LS 51 1997:03 0.6166 5.579
3 LS 61 1998:01 0.5793 5.236
4 TC 133 2004:01 -0.5127 -5.019
5 LS 181 2008:01 0.5422 4.841
6 AO 183 2008:03 0.5138 4.592
7 AO 184 2008:04 0.9264 5.911
8 LS 185 2008:05 3.0762 16.038
9 TC 186 2008:06 0.5688 5.483
10 TC 193 2009:01 -0.4775 -4.624
11 TC 200 2009:08 -0.4386 -4.217
12 LS 207 2010:03 0.4228 3.746
13 AO 237 2012:09 -0.3815 -4.877
14 TC 248 2013:08 -0.4082 -3.965
15 AO 260 2014:08 -0.4830 -6.027
16 AO 266 2015:02 -0.5183 -6.442
これらの警告メッセージもあります。
Warning messages:
1: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
2: In locate.outliers.iloop(resid = resid, pars = pars, cval = cval, :
stopped when ‘maxit’ was reached
3: In locate.outliers.oloop(y = y, fit = fit, types = types, cval = cval, :
stopped when ‘maxit’ was reached
4: In arima(x, order = c(1, d, 0), xreg = xreg) :
possible convergence problem: optim gave code = 1
5: In auto.arima(x = c(5.77, 5.79, 5.79, 5.79, 5.79, 5.79, 5.78, 5.78, :
Unable to fit final model using maximum likelihood. AIC value approximated
疑問:
- 私が間違っていない場合、tsoutliersパッケージは検出した外れ値を削除し、外れ値が削除されたデータセットを使用することで、データセットに適した最良の有馬モデルが得られますか?
- レベルシフトの削除などにより、調整シリーズデータセットが大幅にシフトダウンされています。これは、調整された系列で予測が行われた場合、より最近のデータがすでに12を超えているため、予測の出力が非常に不正確になることを意味しませんが、調整されたデータは約7〜8にシフトします。
- 警告メッセージ4と5はどういう意味ですか?調整されたシリーズを使用してauto.arimaを実行できないことを意味しますか?
- ARIMA(0,1,0)(0,0,1)[12]の[12]はどういう意味ですか?それは私が毎月設定したデータセットの私の頻度/周期性だけですか?そして、これは私のデータ系列も季節性であることを意味しますか?
- データセットの季節性を検出するにはどうすればよいですか?時系列プロットの視覚化からわかるように、明らかな傾向を確認できません。分解関数を使用すると、季節的な傾向があると想定されますか?では、注文者1のMAがあるため、季節性の傾向がある場合、tsoutliersが私に言ったことを単に信じますか?
- これらの外れ値を特定した後、このデータを使用して予測を継続するにはどうすればよいですか?
- これらの外れ値を他の予測モデルに組み込む方法-指数平滑法、ARIMA、構造モデル、ランダムウォーク、シータ?レベルシフトがあるため、外れ値を削除できないと確信しています。調整された系列データのみを取得すると、値が小さすぎるため、どうすればよいですか。
これらの外れ値を予測のためにauto.arimaのリグレッサとして追加する必要がありますか?これはどのように機能しますか?