私は時系列モデルの構築に取り組んでいます。"forecast"パッケージのsimulate()とforecast()の差
forecast
パッケージのsimulate
ファンクションとforecast
ファンクションの違いはわかりません。
私はarimaモデルを構築し、10年間の将来価値をシミュレートするためにそれを使用したいとします。データは時間単位で、年間データがあります。
forecast
を使用して次の1000ステップ先読み予測を予測すると、次のプロットが得られます。
使用して予測方法は、それから私は、次の1000のシミュレーション値をシミュレートするsimulate
機能を使用して、次のプロットを得ました。赤い線は、データポイントをシミュレートされた後
シミュレーション方法を
データポイントを使用。
後者の例では、将来の値をシミュレートするために次のコードを使用しました。 arima1
が私の訓練を受けたARIMAモデルであるモデルの残差は非常に正常でないため、ブートストラップ残差が使用されている
simulate(arima1, nsim=1000, future=TRUE, bootstrap=TRUE))
。
パッケージの定義では、future=TRUE
は、過去のデータに基づいて将来の値をシミュレートすることを意味します。
この2つの方法の違いは誰にでも分かりますか? simulate()
は私にはるかに現実的な結果を与えるのですが、forecast()
からの予測値は数回の繰り返しの後で一定に収束します(結果は多くの変動はなくsimulate()
)。
返信いただきありがとうございます。 –