時系列予測において、ローリング予測(逐次予測)を行う必要があるものと、ないものの区別がわからない

はじめまして。
pythonを使った時系列予測を勉強しているものです。

⚫︎概要
時系列予測を行う場合、ローリング予測という考え方があります。
例えば500あるデータ点のうち、480以降をテストデータとした時
480-500を一度に予測できないので481まで予測して再学習、次に482まで予測して再学習。。。としていく手法です。(初心者のため、説明には語弊があるかもしれません)

このローリング予測と呼ばれる予測方法を用いないと正確に予測ができない場合、用いなくても予測可能な場合が何で決まるのかがわかりません。

⚫︎詳細
書籍「pythonによる時系列予測」著:Marco Peixeiro において、7章の実習まで進めました。
この本の構成は以下の通りです。
4章:MAプロセスのモデル化
5章:ARプロセスのモデル化
6章:ARMAプロセスのモデル化
7章:ARIMAプロセスのモデル化

4章では、ローリング予測を行う理由として以下の記載がありました。
「移動平均モデルには、予測に関して少し特殊な一面があります。MA(q)モデルでは、未来の50時間ステップを一度に予測できないのです。移動平均モデルが過去の誤差項に線形従属することと、それらの誤差項がデータセットにはないことを思い出してください。したがって、再起的に予測する必要があります。MA(q)モデルで予測できるのはqステップ先までです。」

これは、MAプロセスの数式的にもその通りだと思います。
ローリング予測を使わないのであれば、qステップより先は平均値を出力するだけです。

この考え方に従い、5章、6章もローリング予測を行っています。
ところが、7章(ARIMA)になって突然ローリング予測を忘れたかのように、普通に予測を行うのです。
(普通に予測とは、ローリング予測関数を使わずに model_fit.get_prediction(80,83).predicted_mean しているのです)

ローリング予測は、いつ使う必要があるのですか?
そしてどんな場合、使う必要がないのですか?
なぜ7章では使わないのか、なぜ5,6章では使う必要があったのか。

質問の意図、伝わりましたでしょうか。
この悩みに6時間以上かけています。
どなたか有識者、ご教示ください。

コメントを投稿

0 コメント