3

余暇には、予測テクニックのスキルを少し磨くようにしています。今日の問題は、複数のリグレッサーを使用した予測に焦点を当てています。2 つのリグレッサーの影響を受ける時系列を作成しましたが、それらをどのように予測するのか疑問に思っています。

library(forecast)

私は次のことを試しました:

最初の私の時系列:

ts.series3 <- structure(c(313, 253, 230, 258, 261, 303, 266, 269, 245, 274, 
346, 252, 283, 286, 260, 365, 295, 268, 301, 304, 353, 310, 313, 
285, 319, 403, 294, 330, 333, 303, 425, 343, 312, 350, 354, 411, 
361, 366, 333, 469, 380, 346, 487, 394, 359, 404, 511, 372, 418
), .Tsp = c(2003.08333333333, 2007.08333333333, 12), class = "ts")

上記の時系列は、(下記) のトレンド ショーに基づいておりts.trend、修飾子によって変更されています。最初の修飾子が関連する場合、値は 25% 増加し、2 番目の場合、値は 10% 減少します。両方が該当する場合は、15% 増加します。

ts.trend <- structure(c(250, 253, 255, 258, 261, 264, 266, 269, 272, 274, 
277, 280, 283, 286, 289, 292, 295, 298, 301, 304, 307, 310, 313, 
316, 319, 323, 326, 330, 333, 337, 340, 343, 347, 350, 354, 357, 
361, 366, 370, 375, 380, 385, 390, 394, 399, 404, 409, 414, 418
), .Tsp = c(2003.08333333333, 2007.08333333333, 12), class = "ts")

2 つのリグレッサーを含む多変量時系列:

modifiers <- structure(c(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 
0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 
0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 
1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 
1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(60L, 
2L), .Dimnames = list(NULL, c("Adjust1", "Adjust2")), .Tsp = c(2003.08333333333, 
2008, 12), class = c("mts", "ts"))

次に、次のモデルを作成しようとします。

fit.series3 <- auto.arima(ts.series3,xreg=window(modifiers,end=2007.16))
fcast.series3 <- forecast(fit.series3,xreg=window(modifiers,start=2007.161))

コードは正常に動作しているように見えますが、プロット (以下を参照) はあまり意味がありません。予測が多かれ少なかれトレンド ラインに従うと予想されるリグレッサーが特定されていないためです。ここで何が起こっているのかについて洞察を提供できる人はいますか?

plot(fcast.series3)

ここに画像の説明を入力

リグレッサー変数を使用していない場合、予測プロットは次のようになります。上のプロットよりも、この予測の方が自信があります。次のコード行を使用してグラフを作成しました。

fit.series3clean <- auto.arima(ts.series3)
fcast.series3clean <- forecast(fit.series3clean)
plot(fcast.series3clean)

ここに画像の説明を入力

多変量 xreg 値を使用した私の予測で何が起こっているのか誰かが理解しているかどうか疑問に思っています。また、多変量リグレッサーを使用した予測への他のアプローチについても知りたいです。

4

1 に答える 1

2

フィットしたモデルを見てください。

> fit.series3
Series: ts.series3 
ARIMA(0,1,1)(0,1,0)[12]                    

Coefficients:
          ma1  Adjust1   Adjust2
      -0.7586  80.1919  285.6239
s.e.   0.0832   0.0842       NaN

sigma^2 estimated as 71.55:  log likelihood=-128.38
AIC=264.76   AICc=266.05   BIC=271.09
Warning message:
In sqrt(diag(x$var.coef)) : NaNs produced

Adjust2標準誤差がであるため、の係数に問題がありますNaN

次のコードは問題を示しています。

> window(diff(diff(modifiers[,2],12)),end=2007.16)
     Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2004           0   0   0   0   0   0   0   0   0   0
2005   0   0   0   0   0   0   0   0   0   0   0   0
2006   0   0   0   0   0   0   0   0   0   0   0   0
2007   0   0                                        

フィッティング期間中、2回の差Adjust2は常にゼロであり、係数は本質的に未定義になります(そして無限の分散があります)。

于 2013-02-24T21:37:54.920 に答える