Prophet予測ツール

EViews 14では、新しい使いやすいユーザインターフェースを通じて、強力なProphet予測エンジンにアクセスできます。


背景

  1. Prophetは、2017年にFacebookがリリースしたオープンソースの予測ツールで、時系列データを処理して将来の傾向を予測するように設計されています。複雑な季節性、欠損値、外れ値などを持つ予測に特化しています。もともと日次データを扱うために設計されていますが、Prophetは任意の頻度の時系列を予測できます。
  2. Prophet予測ツールは、時系列データを予測するための柔軟で、設定が簡単な方法を提供します。Prophetの設計で特に重視されているのは、データ生成過程を理解しているものの時系列手法の知識が限られているユーザをサポートしていることと、人間の介入を最小限にして大量の予測を作成できることです。
    オリジナルのProphetは系列をトレンド、季節性、祝日に分解する加法モデルに分解する時系列モデルです。 \begin{eqnarray} y_{t} = T(t) + S(t) + H(t) + \epsilon_{t} \end{eqnarray}
    $T(t)$系列はトレンド要素、$S(t)$は循環要素(週次、月次、年次)、$H(t)$は潜在的な、不規則な祝日効果です。$\epsilon_{t}$は独立で正規分布する誤差です。
  3. Prophetモデルの乗法版は次のように記述できます。
    \begin{eqnarray} y_{t} = T(t) \bullet (S(t) + H(t)) \bullet \epsilon_{t} \end{eqnarray}
    現行のEViewsでは、モデル設定のトレンド成分$T(t)$と季節性成分$S(t)$のみサポートしています。
  4. これらの設定について、簡単には次のようになります。
    • トレンド成分$T(t)$は、明示的な変化点を指定または自動的に決定できる区分ロジスティックまたは区分線形成長モデルを使用してモデル化されます。EViews は変化点の自動決定をサポートしています。
    • 滑らかな季節成分$S(t)$は、フーリエ級数の集合の線形結合を使用して近似されます。

    Prophetモデルの推定には、トレンドと季節のフーリエ級数に対する正規事前分布と変化点に対するラプラス事前分布を用いたベイズ法が採用されています。

Prophetダイアログ

  1. Prophetを使用して予測するには、Proc/Automatic Forecasting/Prophet...と操作し、Prophet Forecastingダイアログを呼び出します。
    データ
    コマンドで呼び出すには次を実行します。
    シリーズ名.prophet
  2. ダイアログのProphet optionsセクションではいくつかのオプションを利用できます。
    • Change point prior scaleオプションは、基になる系列のトレンドの変化点を自動的に検出するために使用されるスパース事前分布の強度を指定します。スケールの値が大きいほど、トレンドはより柔軟になります (つまり、変化点の数が多くなる傾向があります)。値が小さいほど、トレンドの柔軟性は低くなります。
    • Growth typeでは対象となる系列に内在する成長モデルが線形であるか、ロジスティックであるかを設定します。
    • Seasonalityコンボボックスは季節性を加法形式でモデリングするか、乗法形式であるかを指定します。
  3. Sample specificationセクションにはEstimation SampleボックスとForecast lengthボックスがあります。
    • Estimation Sampleは、Prophet モデルのトレーニングで使用する観測値を決定します。デフォルトでは、EViewsは現在のワークファイルサンプルになっています。
    • Forecast lengthは、トレーニング後に予測される観測値$h$の数(予測期間)を指定します。予測サンプルは、推定サンプルの最後の観測値の直後に開始され、$h$個の観測値まで続きます。ワークファイルは、推定サンプルの後に$h$個の観測値が存在するようにサイズ設定する必要があります。
    • Forecast lengthの代わりに、Forecast endpointを指定することもできます。予測期間の終端として指定される観測値は、推定サンプルの最後の観測値に続き、ワークファイルの範囲内にある必要があります。
  4. Outputセクションボックスはワークファイルに出力される予測された系列名を設定します。
    • 予測された系列の名前をForecast欄を指定する必要があります。デフォルトでは、編集フィールドには基になる系列名とそれに続く「_F」が入力されます。
    • オプションのLower boundUpper boundの編集フィールドを使用すると、Prophet が計算した予測値の下限と上限を保存できます。デフォルトでは、編集フィールドには基になる系列の名前とそれに続く「_LOW」と「UP」がそれぞれ事前に入力されています。
  5. Training observationでは、予測された系列内のトレーニング期間の観測値をどのように埋めるかを指定します。デフォルトでは、EViewsはサンプル内の予測値をNAで上書きします。代わりに、Prophetが計算したサンプル内の予測値を使用するか、基礎となるシリーズの実際の値を使用することもできます。トレーニングサンプルにも予測サンプルにも含まれない観測値はNAで埋められます。

例題

  1. EViewsでProphetを使用する例として、サンプルファイル「elecdmd_daily.wf1」を使用して、イングランドとウェールズの毎日の電力需要を予測します。次に格納されています。
    C:\Program Files\EViews 14\Example Files\EV14 Manual Data\Chapter 11 - Series\elecdmd_daily.wf1
    このワークファイルには、2005年4月から2014年4月までの月間電力需要データ (ELECDMD系列)が含まれています。ELECDMD のデータは 2014 年 4 月までしか利用できませんが、ワークファイルの範囲は 2015 年末までです。
    データ
  2. 欠損している部分をProphetで予測するには、ELECDMD系列を開き、Proc/Automatic Forecasting/Prophet...と操作します。
    データ
  3. EViewsは、推定サンプルを現在のワークファイル サンプル (ELECDMD の実際のデータに設定) に自動的に入力し、残りの観測値の数に基づいて予測の長さを計算します。
    その他のオプションはデフォルト設定のまま、OKをクリックし予測します。
    データ
    予測結果がグラフで表示されます。
    原系列と繋げると次のようになります。
    データ
page_top_icon