予測精度について、ユーザーから多くの質問を耳にします。予測値と実際の値は密接に追跡するのか?トラッキングエラーはどの程度か?
もし過去にさかのぼるとすれば、その時点までに入手可能なデータのみを用いてモデルをキャリブレーションし、サンプル外予測を行うことができる。そして、異なる日付についてこの手順を繰り返す。
バックテストプロセスの終わりには、予測値の時系列を生成し、それを実際の時系列との関連で分析することができる。そうすれば、あらゆる種類の統計を計算することができる。
この記事は、あるユーザーからの具体的なサポートに関する問い合わせに端を発している:
“X-13ARIMA-SEATSによる季節調整値と最終値(非季節調整値)の予測のバックテストはどのように行えばよいですか?”
バックテストを実施するには、入力データセットだけが異なる複数のX13ASシナリオを実行する必要がある。
このチュートリアルでは、米国労働省(DOL)の1970年1月から2022年6月までの非農業部門雇用者数の月次データを使用する。
- X13 ウィザードを使用して、完全なデータセットを用いて X13 モデルを構築します。ウィザードは、モデル仕様(JSONテキスト)を指定したワークシートに書き込みます。
- 次に、空の列に、予測を行いたい期間をすべて列挙する。
- データセットの開始からステップ(2)で指定した各期間までのデータ点数を計算する。
- (1)のX13AS(.)式を、(3)の列の隣の別の列にコピーする。
-
入力データのセル範囲を NxSubset(.) の呼び出しで置き換える。NxSubset関数は第1引数として完全なデータセットを取るが、終了オフセットはステップ(3)からの列で計算される。
注:
をご参照ください。 NxSubset(.) リファレンスマニュアル のページで詳細をご覧ください。
- さて、X13AS(.)関数は、ここまでのデータだけを使って新しいシナリオを構築する。
- X13ASCOMP(.) および X13ASFORE(.) 関数を使用して、この行の日付のコンポーネントまたは予測値を照会します。
- エクセルの組み込み関数VLOOKUP(.)を使って、各行の実際の値を照会する。
- 一番上の行の数式を、テーブルの残りの部分にコピーする。これにより、一連のX13モデルの計算が開始され、完了するまでに1分ほどかかることがある。
- 最後に、バックテストの値を実際の値と並べてプロットしてみよう。
結論
この例では、過去24ヶ月の非季節調整1ヶ月予報を計算したが、調査スパンを広げたり、異なるアウトプットを計算することは容易である。
バックテストの出力時系列を計算したら、MAPE、RMSE、MASE など、お好きな予測パフォーマンス指標(NumXL に含まれています)を使って、予測トラッキングエラーを定量的に記述します。
コメント
サインインしてコメントを残してください。