9

inforecast()で外部リグレッサーを適用する方法の構文がよくわかりません。library(forecast)R

私のフィット感は次のようになります。

fit <- auto.arima(Y,xreg=factors)

ここYで、 はtimeSeriesオブジェクト 100 x 1 であり、因子はtimeSeriesオブジェクト 100 x 5 です。

予想に行ったら応募…

forecast(fit, h=horizon)

そして、私はエラーが発生します:

Error in forecast.Arima(fit, h = horizon) : No regressors provided

フィットから xregressor を追加し直す必要がありますか? fitこれらはとしてオブジェクトに含まれていると思いましたfit$xreg。それは、xregressors の将来の値を求めているということですか、それとも、フィット セットで使用したのと同じ値を繰り返す必要があるということですか? xregドキュメントは、予測ステップでの意味をカバーしていません。

これはすべて、使用する必要があることを意味すると思います

forecast(fit, h=horizon,xreg=factors)

また

forecast(fit, h=horizon,xreg=fit$xreg)

同じ結果が得られます。しかし、予測ステップが要因を将来の値として解釈しているのか、それとも以前の値として適切に解釈しているのかはわかりません。そう、

  1. 私が期待するように、これは純粋に過去の値から予測を行っていますか?
  2. xreg 値を 2 回指定する必要があるのはなぜですか? それらを除外すると実行されないため、オプションのように動作しません。
4

2 に答える 2

15

間違っている場合は訂正してください。ただし、リグレッサーを使用した ARIMA モデルがどのように機能するかを完全に理解していない可能性があると思います。

単純な ARIMA モデル (リグレッサーなし) で予測する場合、時系列の過去の値を使用して将来の値を予測するだけです。このようなモデルでは、期間を指定するだけで、その期間までの予測が得られます。

リグレッサーを使用して ARIMA モデルを構築する場合、予測するリグレッサーの将来の値を含める必要があります。たとえば、温度をリグレッサーとして使用し、病気の発生率を予測する場合、病気の発生率を予測するには温度の将来の値が必要になります。

実際、ドキュメンテーション具体的に述べていxregます。?forecast.Arima引数hとの両方を参照してくださいxregxregIfを使用すると、thenhが無視されることがわかります。なんで?関数が を使用する場合xreg、予測のためにそれらが必要になるためです。

したがって、コードでhは、を含めたときに単純に無視されましたxreg。モデルを適合させるために使用した値を使用しただけなので、同じリグレッサーのセットのすべての予測が将来のものであるかのように得られました

于 2012-05-15T21:23:08.210 に答える