Arimax予測:予測パッケージの使用


8

パッケージのarimax関数は、TSA私の知る限りR、介入モデルの伝達​​関数に適合する唯一のパッケージです。予測機能はありませんが、必要な場合があります。

優れたforecastパッケージを活用して、この問題の次の回避策はありますか?予測間隔は正しいですか?私の例では、コンポーネントのstdエラーは「近い」ものです。

  1. 予測パッケージのアリマ関数を使用して、介入前のノイズシリーズを決定し、外れ値の調整を追加します。
  2. 同じモデルをフィットarimaxさせますが、伝達関数を追加します
  3. 伝達関数のarimax近似値(からの係数)を取得し、それらをxreg inとして追加しますarima
  4. と予測 arima
library(TSA)
library(forecast)
data(airmiles)
air.m1<-arimax(log(airmiles),order=c(0,0,1),
              xtransf=data.frame(I911=1*(seq(airmiles)==69)),
              transfer=list(c(1,0))
              )

air.m1

出力:

Coefficients:
  ma1  intercept  I911-AR1  I911-MA0
0.5197    17.5172    0.5521   -0.4937
s.e.  0.0798     0.0165    0.2273    0.1103

sigma^2 estimated as 0.01223:  log likelihood=88.33
AIC=-168.65   AICc=-168.09   BIC=-155.02

これはフィルターであり、データより5期間延長されています

tf<-filter(1*(seq(1:(length(airmiles)+5))==69),filter=0.5521330,method='recursive',side=1)*(-0.4936508)
forecast.arima<-Arima(log(airmiles),order=c(0,0,1),xreg=tf[1:(length(tf)-5)])
forecast.arima

出力:

Coefficients:
         ma1  intercept  tf[1:(length(tf) - 5)]
      0.5197    17.5173                  1.0000
s.e.  0.0792     0.0159                  0.2183

sigma^2 estimated as 0.01223:  log likelihood=88.33
AIC=-168.65   AICc=-168.28   BIC=-157.74

次に予測する

predict(forecast.arima,n.ahead = 5, newxreg=tf[114:length(tf)])

1
+1、非常に賢い私はアプローチに何の問題も見ません、seはよさそうです、どのseを参照しているかわかりませんか?
予測者

1
ああ予報士!あなたに会いたかった!:)私はMAのSEと2つの適合の間のインターセプトを意味しました。残差分散は同じです。ARIMAモデルからの予測の予測誤差には、残差分散だけが重要だと思います(私は錆びていますが)。
B_Miner 2015

さて、それがわかりました。seが近いわけではない、近いことが良い、予測間隔にsigma ^ 2が使用されている、2つのモデルに違いがないので、arimaxまたはArimaの予測間隔は同じになると思います。
予測者

あなたが定義する方法tf <- filter(...)...私は迷っています。それを理解するためのヒントはありますか?私が持っていた場合、何が起こりますか:I911-AR1: 0.55I911-AR2: 0.66I911-MA0: 0.49I911-MA1: 0.39
コンスタンティノス

1
ネットタンブラー、フィルタリングについて、私はここでかなりの洞察を見つけました:onlinecourses.science.psu.edu/stat510/node/75
Konstantinos

回答:


8

予測間隔は、最尤最適化によって推定された残差分散に基づいています。

forecastforecastパッケージの機能が好きです:

fc <- forecast(forecast.arima,h = 5, xreg=tf[114:length(tf)])

これにより、次の予測が得られます。

  Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
Jun 2005       17.61393 17.47222 17.75565 17.39720 17.83067
Jul 2005       17.51725 17.35753 17.67697 17.27299 17.76152
Aug 2005       17.51725 17.35753 17.67697 17.27299 17.76152
Sep 2005       17.51725 17.35753 17.67697 17.27299 17.76152
Oct 2005       17.51725 17.35753 17.67697 17.27299 17.76152

予測間隔が機能する方法は、次の式です。

Z σyt±zσここで、は、95%予測間隔の1.96や80%予測間隔の1.28などの値をとる乗数ですは、シグマの平方根でもある残差予測予測の標準偏差です^最尤推定で2。両方のモデルでsigma ^ 2(0.01223)が同じであることを示しているため、予測間隔も同じであり、一致します。zσ

確認したいなら

上限:

> fc$mean[1]+sqrt(forecast.arima$sigma2)*1.96
[1] 17.83068

下限:

> fc$mean[1]-sqrt(forecast.arima$sigma2)*1.96
[1] 17.39719

これは、forecast関数によって提供される予測間隔と一致します。あなたの質問に答えるために、はいforecast、この場合、レバレッジパッケージは機能し、予測間隔は正しくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.