1

R でベクトル自動回帰 (VAR) 時系列モデルを開発しています。モデル仕様には、xts「endog」と呼ばれる内生変数の行列 (クラス) と、「exog」とxts呼ばれる外生変数の行列 (クラス) が含まれています。データは季節性であり、季節性を予測したいので、データは月単位であるため、「season = 12」も指定します。したがって、var モデルを実行するための R コードは次のとおりです。

fit <- var(endog, p = 1, season = 12, type = 'const', exogen = exog)

このコードはスムーズに実行されます。しかし、今は 24 期間先のデータを予測したいと考えています。したがって、私の予測コードは次のとおりです。

predictions <- predict(fit, exo.fcst = exog_future, n.ahead = 24, ci = 0.95)

ここで、「exog_future」は、exogxtsと同じ変数の行列 (クラスでもあります) ですが、予測される 24 の将来の期間が含まれています。(私は 2 つのバージョンを試しました。1 つは過去のデータ exog に次の 24 期間の新しいデータを加えたバージョンで、もう 1 つは 24 期間のみを含むバージョンです。)

次のエラー メッセージが表示されます。

predict.varest(VAR(endog, p = 1, season = 12, type = "const", : dumvar の行列が指定されていませんが、オブジェクト varest には外生変数が含まれています。

明らかに、R は外生変数に加えてダミー変数の行列を期待しています。R が "season = 12" 仕様をダミー変数の行列と見なさない限り、モデル仕様にはダミー変数が含まれていないのに、なぜ今ダミー変数を期待するのでしょうか? 季節の仕様をダミー変数と見なす場合に備えて、予測コードに「season = 12」を追加しました。同じエラー メッセージが表示されました。

モデルに外生変数が含まれている場合、予測コードでこれらの将来の値を指定する必要があることを理解しています。また、ダミー変数を指定した場合、その予測には、本質的に同じ理由でこれらの将来の値も必要になることも理解しています。それらは外生変数であり、バイナリ変数です。

では、モデル仕様にダミー変数が含まれていない場合、R は「dumvar」に何を提供することを期待していますか?

4

1 に答える 1