フォレストベースの予測の概要

[フォレストベースの予測 (Forest-based Forecast)] ツールでは、フォレストベースの回帰分析を使用して時空間キューブの将来時間スライスを予測します。 主な出力は、最終的に予測された時間ステップのマップ、情報メッセージ、およびポップアップ チャートです。 他の説明変数を指定して分析変数の予測を改善できます。また、説明変数と予測対象変数の間のラグ効果を推定および視覚化することができます。 ロケーションごとにフォーキャスト ベースのモデルを個別に作成するか、すべてのロケーションからトレーニングした 1 つのモデルを作成するか、各時系列クラスター内でモデルを個別に作成できます。 また、各時系列の外れ値を検出するオプションがあり、時系列の他の部分のパターンおよびトレンドから著しく逸脱するロケーションと時間を特定することもできます。

このツールは、回帰分析で使用するものと同じ基礎アルゴリズムを [フォレストベースの分類と回帰分析 (Forest-based Classification and Regression)] ツールとして使用します。 フォレスト回帰分析モデル構築に使用するトレーニング データは、時空間キューブの変数ごとのタイム ウィンドウを使って構築されます。

フォレストベースの分類と回帰分析の詳細

適用例

フォレスト回帰分析モデルでは、複数のコンテクストで使用するデータについていくつかの仮説を立てます。 他の予測方法と比較して、これらの仮説は、データが複雑なトレンド、季節や、多項式、指数曲線、正弦波など共通の数学関数とは異なる変化を持つ場合に最も有効です。

たとえば、このツールは次のような用途に使用できます:

  • 学校区では、このツールを使って区内の各学校において次の週の各曜日に欠席する生徒の数を予測できます。
  • 州知事は、2 週間後の感染症による入院者数を予測することができます。 この予測には、説明変数として陽性検査結果の数を含めることができ、ツールは陽性検査数と入院者数の間のラグ効果をモデル化します。
  • 公共事業管理者は、このツールを使って管轄区域の近隣における翌月の電力および水の需要を予測できます。
  • 小売店では、このツールを使って個々の製品がいつ売れるか予測して在庫管理に役立てることができます。
  • 都市計画立案者はこのツールを使用して将来の人口を予測することで、住宅、エネルギー、食糧、インフラの需要を評価できます。 規模と人口のトレンドが類似する都市を 1 つのクラスターにまとめることができ、グループごとにフォーキャスト ベースのモデルを作成できます。

予測および検証

このツールは、各時系列を予測するときに、2 つのモデルを構築します。 1 つ目は予測モデルです。これは将来時間ステップの値を予測するために使用します。 2 つ目は検証モデルです。これは予測値の整合性を検証するために使用します。

注意:

このセクションでは、[モデル尺度] パラメーターの [個々のロケーション] オプションについて説明します。 [キューブ全体] オプションと [時系列クラスター] オプションの操作内容はほぼ同じです。 詳細については、「モデル尺度の拡張」をご参照ください。

予測モデル

予測モデルは、時空間キューブのそれぞれのロケーションに対する時系列の値を使ってフォレストを構築することで構築されます。 このフォレストは次の時間スライスを予測するために使用します。 新しい時間ステップにおける予測値はフォレスト モデルに含まれ、次の時間ステップが予測されます。 この帰納的処理は、すべての将来時間ステップを通じて継続します。 各時系列に対するフォレストの適合度は予測 RMSE (二乗平均平方根誤差) によって測定され、フォレスト モデルと時系列の値における平均自乗差の平方根と同等です。

予測 RMSE
、ここで T は時間ステップの数、ct はフォレスト モデルの値、rt は時間 t における時系列の生データ値です。

次の画像は、時系列における raw 値と、2 つの将来時間ステップに対する予測とともに時系列に適合したフォレスト モデルを示します。 予測 RMSE は、フォレストによる適合値と raw 時系列の値との差を測定します。

フォレストベースの予測の予測モデル

予測 RMSE は、raw 時系列の値に対するフォレスト モデルの適合度のみを測定します。 予測 RMSE は、予測モデルが未来の値を実際にどの程度良く予測するかを計測しません。 フォレスト モデルの時系列に対する適合度が高い一方で外挿する場合の予測精度が高くないことは、一般に知られています。 この問題は検証モデルによって解決します。

検証モデル

検証モデルは、各時系列の将来値に対する予測モデルの予測精度を決定するために使用します。 このモデルは、各時系列における最終時間ステップをいくつか除外し、除外しなかったデータにフォレスト モデルを適合することで構築します。 このフォレスト モデルは、保留しなかったデータの値を予測するために使用し、予測値は非表示の raw 値と比較されます。 デフォルトでは、時間ステップの 10 パーセントが検証で保留されますが、この数は [検証で除外する時間ステップ数] パラメーターを使用して変更できます。 除外した時間ステップ数は時間ステップの 25 パーセントを超えることはなく、0 が指定された場合は検証は実施されません。 予測精度は、検証 RMSE 統計を計算することで測定します。これは、除外した時間ステップの予測値と raw 値における平均自乗差の平方根と同等です。

検証 RMSE
、ここで T は時間ステップの数、m は検証用に保留されている時間ステップの数、ct は最初の T-m 個の時間ステップから予測された値、rt は時間 t において検証用に保留されている時系列の生データ値です。

次の画像は、時系列の前半に適合し、時系列の後半を予測するために使用するフォレスト モデルを示します。 検証 RMSE は、予測値と保留された時間ステップにおける raw 値との差を測定します。

フォレストベースの予測の検証モデル

検証モデルは、予測値と raw 値を直接比較してフォレストの予測精度を測定する際に役立ちます。 検証モデルは、予測するために実際には使用されず、予測モデルを正当化するために使用されます。

注意:

時系列予測における検証も同様ですが、相互検証という共通テクニックとは異なるものです。 予測における検証では常に検証で最終時間ステップを除外しますが、相互検証ではデータのランダムなサブセットまたは各値を順番に除外します。

解釈

予測 RMSE および検証 RMSE の値を解釈する際には、いくつかの注意事項があります。

  • これらの RMSE 値は、異なるもの計測するため、互いに直接比較できません。 予測 RMSE は raw 時系列値に対するフォレスト モデルの適合度を測定し、検証 RMSE は将来値に対するフォレスト モデルの予測精度を測定します。 予測 RMSE は検証 RMSE よりも多くのデータを使用し、また外挿しないため、通常は検証 RMSE よりも小さくなります。
  • 両方の RMSE 値は、データの単位を使用します。 たとえば、データが摂氏温度計測値の場合、検証 RMSE の 50 は、予測値が真の値から平均で約 50 度違うことを意味するため、非常に高い値です。 ただし、データが大規模な小売店における米ドルの日割り収益の場合、同じ検証 RMSE の 50 は、予測した日割り収益は真の値から一日平均 $50 だけ異なることを意味するため、非常に低い値です。

フォレスト モデルの構築とトレーニング

将来値を予測する場合、フォレスト モデルはロケーションごとに説明変数を従属変数に関連付けてトレーニングする必要があります。 フォレスト モデルには連続するトレーニング データが必要ですが、それぞれのロケーションに時系列 1 つしかありません。 1 つの時系列内に説明変数と従属変数のセットを複数作成する場合、複数のタイム ウィンドウが構築され、各タイム ウィンドウ内の時間ステップを説明変数として、そのタイム ウィンドウの次の時間ステップを従属変数として使用されます。 たとえば、あるロケーションに 20 個の時間ステップがあり、タイム ウィンドウが 4 個の時間ステップで構成される場合、そのロケーションに対するフォレストのトレーニングに使用される説明変数と従属変数が 16 セットあることになります。 1 つ目のセットは説明変数として時間ステップ 1、2、3、4 を持ち、従属変数として時間ステップ 5 を持ちます。 2 つ目のセットは説明変数として時間ステップ 2、3、4、5 を持ち、従属変数として時間ステップ 6 を持ちます。 最後のセットは説明変数として時間ステップ 16、17、18、および 19 を持ち、従属変数として時間ステップ 20 を持ちます。 各タイム ウィンドウ内の時間ステップ数は、[時間ステップ ウィンドウ] パラメーターを使用して指定します。 タイム ウィンドウは、(各タイム ウィンドウ内の時間ステップが 1 つだけになるように) 1 まで小さくでき、そのロケーションに対する時間ステップ数の 3 分の 1 を超えることはできません。

タイム ウィンドウを使用したフォレストのトレーニング
タイム ウィンドウを使用してフォレスト予測モデルをトレーニングします。

トレーニング済のフォレスト モデルを使用すると、そのロケーションの最後の時間ステップが 1 つ目の将来時間ステップを予測するための説明変数として使用されます。 その後、タイム ウィンドウ内の過去の時間ステップ (その中の 1 つが 1 つ目の予測値である) を使用して 2 つ目の将来時間ステップが予測されます。 3 つ目の予測時間ステップも同様に、タイム ウィンドウ内の過去の時間ステップ (その中の 2 つが過去の予測時間ステップである) を使用します。 この処理は、すべての将来時間ステップを通じて継続されます。

次の画像は、フォレスト モデルのトレーニングや最初の将来時間ステップ 7 個の予測に使用する説明変数と従属変数のセットを複数表示します:

タイム ウィンドウを使用したフォレスト
タイム ウィンドウを使用してフォレストを作成します。

モデル尺度の拡張

ロケーションごとにフォレスト モデルを個別に作成するだけでなく、ロケーションをグループにまとめて、グループ内のすべてのロケーションで使用する 1 つのフォーキャスト モデルを作成できます。 ロケーションをグループにまとめることで、全体の人口でグループ化した都市人口のモデルなど、異なる尺度で分析を実行できます。 同一グループ内のすべてのロケーションを含むグローバル モデルを作成することもできます。

グループにまとめると、共有フォーキャスト モデルではグループ内のすべてのロケーションのタイム ウィンドウをトレーニング データとして使用します。そのため、個別のロケーションを使用した場合よりも、時系列のパターンとトレンドを学習するデータがはるかに充実します。 各時系列内で利用できるトレーニング データが限られている短い時系列でこれが特に重要になります。 グループ内のすべての時系列で値とパターンが類似している場合、この追加のトレーニング データがあることによって、他のロケーションのパターンを組み込むことで、グループ内のすべてのロケーションのフォーキャストの精度が上がります。 ただし、グループ内のロケーションの時系列で値とパターンが大きく異なる場合は、これらのパターンを組み込むとフォーキャストの精度が下がるため、類似する時系列のみをグループ化することが重要です。

解析の尺度は [モデル尺度] パラメーターで定義できます。 デフォルトの [個々のロケーション] オプションでは、ローカル尺度解析用にロケーションごとに個々のモデルが作成されます。 [キューブ全体] オプションでは、グローバル尺度解析用にすべてのロケーションを使用して単一のモデルが作成されます。 [時系列クラスター] オプションでは、クラスターの尺度で解析用に時系列クラスタリングの結果のクラスターごとにモデルが作成されます (クラスターによって地域が形成される場合は地域の尺度の解析になります)。 時系列クラスタリングの結果を含む変数は [クラスター変数] パラメーターで指定します。

モデル尺度
3 つのモデル尺度を使用してフォーキャスト モデルを作成できます。

以下の画像は、7 つのロケーションがあるキューブ全体用に 1 つのモデルを作成している例を示したものです。

キューブ全体のモデル尺度
すべてのロケーションをトレーニング データとして使用して 1 つのモデルを作成します。

以下の画像は、2 つの時系列クラスターごとにモデルを個別に作成する例を示したものです。

時系列クラスターのモデル尺度
時系列クラスターごとに異なるモデルを作成します。

他の変数とラグ効果の追加

フォレスト回帰モデルは、時系列の複雑なパターンおよびトレンドを効果的に捉えることができる一方、他の関連変数から情報を追加することでフォレスト回帰モデルを改善できます。 たとえば、汚染レベルを把握することで、喘息による緊急外来患者数を予測することができます。これは、汚染が喘息発作の引き金となることが知られているためです。

[その他の変数] パラメーターを使用して同じ時空間キューブに格納されている関連変数を含めることで、多変量フォレストベース予測を使用して分析変数を予測できます。 多変量フォレスト回帰モデルをトレーニングするには、「フォレスト モデルの構築とトレーニング」セクションで説明したとおり、分析変数でタイム ウィンドウを使用される方法と同じように、それぞれの他の変数が各タイム ウィンドウ内に含まれ、タイム ウィンドウ後の次の値の予測に使用されます。

多変量予測モデル
複数の変数を使用してフォレスト予測モデルのトレーニングを行います。

新しい時間ステップに対して予測する場合、各関連変数は、一変量フォレストベース予測を使用して予測され、これらの予測値は、分析変数の将来値を予測する際の説明変数として使用されます。 すべての予測 (分析変数とすべての説明変数) の結果は、出力時空間キューブに格納されます。

タイム ウィンドウを使用した多変量予測

タイム ウィンドウを使用して多変量フォーキャストを作成します。

[フォレストベース予測 (Forest-based Forecast)] ツールを使用して、分析変数と他の変数の間のラグ効果を推定および視覚化することもできます。 ラグ効果とは、他の変数の変化と分析変数の変化の間にラグが生じることであり、複数の変数の時系列を含む多くの状況で発生します。 たとえば、広告への支出は、人々が購入を決定する前に広告を見る時間が必要なため、多くの場合、売上高にラグ効果が発生します。 先ほどの喘息による緊急外来患者数と公害レベルの例では、公害レベルの上昇と緊急外来患者数の増加の間にもラグが発生する場合があります。これは、健康への悪影響が救急医療を必要とするほど蓄積されるまでに時間がかかるためです。

次の画像はラグ効果を表し、青色の時系列の値の変化がオレンジ色のラインから 4 日遅延しています。

2 つの変数間のラグ効果

任意の説明変数と分析変数の間にラグが発生している場合、ラグの長さだけ時間をさかのぼることで、分析変数に関する情報を得ることができます。 たとえば、広告費と売上高の間に 2 週間のラグが発生している場合に、特定の日の売上高を予測するには、2 週間前の広告費を確認するほうが、直近の数日の広告費を確認するよりも多くの情報を得ることができます。

フォレスト モデルでは、変動タイム ウィンドウが常にその直後の時間ステップを予測するため、変数間のラグ効果を検出および利用することができます。 タイム ウィンドウの最後の値は常に予測の 1 時間ステップ前であり、タイム ウィンドウの最後の時間ステップの次のステップは常に予測の 2 時間ステップ前になります。以降も同様です。 タイム ウィンドウはシフトするため、各説明変数はタイム ウィンドウ内の時間ステップごとに別の係数として表され、さまざまなラグでのさまざまな説明変数を比較し、予測に最も重要な説明変数を判断することができます。 詳細については、「フォレストベースの分類と回帰分析 (Forest-based Classification and Regression) の詳細」をご参照ください。

たとえば、下のチャートは、2021 年初旬における新型コロナウイルス感染症 (COVID-19) による毎日の新規死亡者数を予測するうえで重要な各国のタイム ラグ変数を示しています。 このモデルでは、毎日のワクチン接種者数を説明変数として使用しています。 x 軸の値はタイム ウィンドウ内の各時間ステップを指しており、この画像では 14 日間のタイム ウィンドウを使用しているため 14 個の値があります。 x 軸の値は、予測より前の時間ステップの数を表しているため、チャートの左から右に進むにつれて時間はさかのぼります。 左端の値 (1) は、予測の 1 日前を意味し、タイム ウィンドウの最後の時間ステップに対応しています。 同様に、右端の値 (14) は、予測の 14 日前を表し、14 日間のタイム ウィンドウの最初の時間ステップに対応しています。 各時間ステップで、ライト ブルーとダーク ブルーの列は、新型コロナウイルス感染症による 1 日の新規死亡者数を予測するうえで、その係数が最も重要な係数の 1 つであると判断されたロケーションの数を表しており、その数が多いほど、その係数がロケーション全体で非常に重要であることを示しています。 ダーク ブルーのバーは分析変数である新型コロナウイルス感染症による新規死亡者数を表しています。バーは最初の 3 ~ 4 個のタイム ラグで最も高くなっており、過去 3 ~ 4 日の死亡者数がその翌日の死亡者数を最もよく予測していることを示しています。 このデータでは実証されていませんが、変数自体がラグを発生させることもあります。気温などの周期的な変数では、昼夜のサイクルにより、2 時間前よりも 24 時間前のデータを確認したほうが予測の精度が上がります。 ライト ブルーのバーはその日に新たに接種されたワクチン数を表し、ライト ブルーのバーが最も高くなるのはタイム ウィンドウの 10 ~ 14 日後 (右端の複数のバー) で、ワクチン数の増減が 10 ~ 14 日後の死亡者数に影響することを示しています。 この 10 〜 14 日のタイム ラグは、ワクチン接種後に免疫がピークに達するのに必要な時間に対応しています。

タイム ラグの重要度 チャート
新型コロナウイルス感染症による毎日の新規死亡者数を予測するうえで重要な係数が示されています。 直近の 3 ~ 4 日間の死亡者数が新規死亡者数を最もよく予測しています。 過去 10 ~ 14 日間に新たに接種されたワクチン数が新規死亡者数を最もよく予測しています。

[タイム ラグの重要度] チャートは、オプションの [出力重要度テーブル] パラメーターで生成される出力テーブルに含まれています。

[個々のロケーション] モデル尺度の場合、テーブルには各ロケーションのそれぞれの重要な変数の行が含まれます。 各ロケーションで重要と見なされる係数の数は、[重要度の閾値] パラメーターの値によって異なります。 たとえば、15 を指定すると、各ロケーションの係数の上位 15% がテーブルとチャートに含まれるようになります。 デフォルト値は 10 です。 テーブルおよびチャートを作成するには、[その他の変数] パラメーターに少なくとも 1 つのその他の変数を含める必要があります。 テーブルおよびチャートのタイム ラグの数は、[時間ステップ ウィンドウ] パラメーターの値に等しいため、把握したいラグ効果よりもタイム ウィンドウを長くする必要があります。 たとえば、1 週間のタイム ウィンドウでは、新型コロナウイルス感染症の死亡者数に対するワクチンのラグ効果を把握することはできません。

[キューブ全体] モデル尺度の場合は、他の変数を指定してテーブルとチャートを作成する必要はありません。すべてのロケーションで予測モデルが同じになるため、チャートの Y 軸は生の重要度パーセントになります (閾値を超過したロケーションの数ではない)。 以下の画像は、タイム ラグが 12 個、変数が 3 個あるキューブ全体の解析の [タイム ラグの重要度] チャートを示したものです。

キューブ全体のタイム ラグの重要度チャート

[時系列クラスター] モデル尺度の場合は、他の変数が指定されていない場合のみチャートが作成され、チャートにはクラスターごとに分割されてチャートのグリッドが表示されます。 以下の画像は、3 つの時系列クラスターの [タイム ラグの重要度] を示したものです。

時系列クラスターのタイム ラグの重要度チャート

低い可変性の補正

あるロケーションでの解析に使用される変数の一部に、可変性が十分でない変数が含まれている場合、そのロケーションではフォレストベース予測モデルをトレーニングおよび推定することはできません。 あるロケーションの各時間ステップで解析変数が一定の場合、そのロケーションはトレーニングから除外され、将来の各時間ステップで定数値が予測され、その予測には信頼区間が含まれません。

そのロケーションの時系列内に 2 つ以上の個別値が含まれる場合、解析変数およびその他の変数で、2 つの追加のチェックが実行されます。 最初に、時系列内のすべての時間ステップを対象に、定数値を含む比率を決定します。 次に、検証で除外されなかった時間ステップのみを対象に、定数値を含む比率を決定します。 いずれかの比率が 3 分の 2 を超える場合、時系列に可変性を与えるために少量のランダム ノイズが加えられ、新しい値を使用して予測モデルおよび検証モデルが計算されます。 各時間ステップに加えられるノイズは、0 〜 0.000001 (1e-6) のランダムな一様な数値です。 時系列の値の範囲が 0.001 未満の場合、ノイズは 0 と範囲値に 1e-6 を乗算した値の間の一様な数値になります。

ランダム ノイズを加えた場合でも、フォレストベース モデルが 30 回試行しても計算できないことがあります。 これは、非常に短い時系列の場合によく起こります。

季節性とタイム ウィンドウの選択

各時間ステップ ウィンドウ内の時間ステップ数を選択することは、フォレスト モデルにおいて重要性の高いことです。 主な注意事項としては、特定の時間数にわたって自然周期パターンを繰り返す季節性が、時系列によって表示されるか否かという点があります。 たとえば、温度はその年の季節に応じて年間の季節サイクルを表示します。 タイム ウィンドウは関連付けされた説明変数と従属変数の構築に使用するため、説明変数間の季節の相関性を可能な限り小さくするためにこれらの説明変数がすべて同じ季節サイクルのものである場合に最も有効です。 時間ステップ ウィンドウの長さに対して自然季節の時間ステップ数を使用することをお勧めします。 データが複数の季節を表示する場合、最も長い季節の長さを使用することをお勧めします。

データ内の 1 つの季節に対応する時間ステップの数を把握している場合、[時間ステップ ウィンドウ] パラメーターで指定できます。また、この値は時空間キューブのすべてのロケーションで使用します。 季節の長さを把握していないか季節の長さがロケーションごとで異なる場合、パラメーターの値は空白のままとなることがあります。また、最適な季節の長さはスペクトル密度関数を使用してロケーションごとに推定します。 この関数の詳細については、「参考資料」セクションでご確認ください。

それぞれのロケーションにおいて、スペクトル分析によって決定された最適な季節の長さが 1 より大きくそのロケーションの時間ステップの数の 3 分の 1 より小さい場合、時間ステップ ウィンドウはこの最適値に設定されます。 それ以外の場合、ロケーションはそのロケーションにおける時間ステップ数の 25 パーセント (切り捨ての値) を時間ステップ ウィンドウに対して使用します。 これによって、少なくとも 1 つの時間ステップがウィンドウ内にあり、少なくとも 3 つの完全な季節サイクルが説明変数として使用されるようになります。 ロケーションに対して使用される時間ステップの値は、出力フィーチャの Time Window フィールドに保存されます。 出力フィーチャの Is Seasonal フィールドは、時間ステップ ウィンドウがスペクトル分析を使用して決定された場合に値 1 を持ち、それ以外の場合に 0 を持ちます。 このワークフローは、次の画像に要約されています。

時間ステップ ウィンドウ パラメーターの決定
時間ステップ ウィンドウはロケーションごとに季節性を検出することで指定または推定します。

[キューブ全体][時系列クラスター] のモデル尺度の場合、デフォルトのタイム ウィンドウは時間ステップ数の 25% (切り下げ) となります。 これは、通常はロケーションが異なると季節的な動作 (あるロケーションでは他のロケーションより冬が早く始まるなど) も異なり、グループ内のすべてのロケーションで 1 つの季節性トレンドを推定、共有できないためです。

予測方法

フォレストをトレーニングするために使用する説明変数と従属変数の値を表す方法は 4 通りあります。 これらのオプションは [予測方法] パラメーターを使用して指定します。

1 つ目のオプションは、[値によってモデルを構築] です。 このオプションでは、説明変数と従属変数に対して時空間ビンの raw 値を使用します。 このオプションを選択した場合、予測値は従属変数の範囲内に含まれるため、データが、将来予測の際に値が増大または減少し続けると予想されるトレンドを持つ場合はこのオプションを使用すべきではありません。 以下の画像に表示されている変数セットは、各行に説明変数と関連付けされた従属変数のセットが表示されている単一のロケーションに対するモデルをトレーニングするために使用されます。 T は時空間キューブ内の時間ステップ数、W は各時間ステップ ウィンドウ内の時間ステップ数、Xt は時間 t における時系列の生データ値です。

注意:

[キューブ全体][時系列クラスター] のモデル尺度の場合は、[値によるモデルの構築] が唯一利用できるフォーキャスト アプローチとなります。

値によってモデルを構築するマトリックス

2 つ目のオプションは、[トレンド除去後に値によってモデルを構築] です。 これがデフォルトのツール オプションです。 このオプションは、ロケーションごとの時系列全体で一次 (線形) トレンドを除去します。これら除去された値は説明変数と従属変数として使用します。 このオプションを使用すると、予測がこの将来トレンドに従い、予測値が従属変数の範囲外で推定できるようになります。 以下の画像に表示されている変数セットは、各行に説明変数と関連付けされた従属変数のセットが表示されている単一のロケーションに対するモデルをトレーニングするために使用されます。 T は時空間キューブ内の時間ステップ数、W は各時間ステップ ウィンドウ内の時間ステップ数、Dt は時間 t における時系列のトレンド除去された値です。

トレンド除去後に値によってモデルを構築するマトリックス

3 つ目のオプションは、[残差値によってモデルを構築] です。 このオプションは、各時間ウィンドウ内の説明変数に基づき従属変数を予測する OLS (最小 2 乗) 回帰分析モデルを作成します。 この回帰分析モデル (OLS 予測と従属変数の raw 値との差) の残差値は、フォレストをトレーニングする際の従属変数を表すために使用します。 以下の画像に表示されている変数セットは、各行に説明変数と関連付けされた従属変数のセットが表示されている単一のロケーションに対するモデルをトレーニングするために使用されます。 T は時空間キューブ内の時間ステップ数、W は各時間ステップ ウィンドウ内の時間ステップ数、Xt は時間 t における時系列の値、X^t (Xt-hat) は時間 t における OLS からの推定値です。

残差によってモデルを構築するマトリックス

最後のオプションは、[トレンド除去後の残差によってモデルを構築] です。 このオプションは、はじめにロケーションの時系列全体で一次 (線形) トレンドを除去します。 このオプションは、各時間ウィンドウ内のトレンド除去された説明変数に基づきトレンド除去された従属変数を予測する OLS 回帰モデルを構築します。 この回帰モデル (OLS 予測と従属変数のトレンド除去された値との差) の残差はフォレストをトレーニングする際の従属変数を表すために使用します。 以下の画像に表示されている変数セットは、各行に説明変数と関連付けされた従属変数のセットが表示されている単一のロケーションに対するモデルをトレーニングするために使用されます。 T は時空間キューブ内の時間ステップ数、W は各時間ステップ ウィンドウ内の時間ステップ数、Dt は時間 t における時系列のトレンド除去された値、D^t (Dt-hat) は時間 t における OLS からの推定値です。

トレンド除去後の残差によってモデルを構築するマトリックス

信頼区間の構築

検証のために 2 つ以上の時間ステップが除外された場合、ツールは、出力フィーチャ内にフィールドとして表示される各予測時間ステップに対する信頼区間の 90 パーセントを計算して、「ツールの出力」セクションで説明するポップアップ チャートに表示します。 ツールでは、各予測値の標準誤差を推定し、各予測値以上/以下の信頼限度 1.645 の標準誤差を作成することで信頼区間を作成します。

ツールは、標準誤差を推定するために次の計算を実行します。

  1. 1 ステップ先の予測の検証 RMSE の計算では、サイズ T のタイム ウィンドウを使用して検証で除外される時間ステップを予測します。 予測モデルのトレーニングには使用されておらず、予測するウィンドウの後に時間ステップが 1 つ以上あるタイム ウィンドウでのみ 1 ステップ先の検証 RMSE を計算できます。 1 つ目のタイム ウィンドウは除外される時間ステップの前の最後の T 時間ステップであり、最初に除外される時間ステップを予測します。 2 つ目のタイム ウィンドウは最後の (T-1) 時間ステップ、および最初に除外される時間ステップ (値は RMSE を計算するために返される) であり、2 番目に除外される時間ステップを予測します。 最後のタイム ウィンドウでは、前の T 時間ステップ (データセットに返された) を使用して最後に除外される時間ステップを予測します。 個別のロケーション モデル尺度の場合、1 ステップ先のフォーキャストでは、検証用に差し引かれる M 時間ステップにおいて、M 値を使用して RMSE が計算されます。 キューブ全体、または時系列クラスターのモデル尺度の場合、グループ内の各ロケーションで M 値が 1 ステップ先の RMSE 計算で考慮されます。
  2. 2 ステップ先の予測の検証 RMSE の計算でも、除外された時間ステップ内のタイム ウィンドウを使用します。 各ウィンドウでは、ステップ 1 の予測値を最後の時間ステップとして使用することで、次に除外される時間ステップを予測します。 2 ステップ先の予測の場合、各ロケーションでは (M-1) 値が 2 ステップ先の RMSE 計算で考慮されます。
  3. K=M まで K ステップ先の予測の検証 RMSE を計算します。 各ロケーションでは、(K-1) ステップ先の RMSE 計算の予測値を使用し、RMSE 計算で (M-K+1) 値が考慮されます。 最後の M ステップ先の RMSE 計算ではロケーションごとに値を 1 つ使用します。
  4. log(K) を説明変数として使用して、グループ内のロケーション (または個別のロケーション) の平均 K ステップ先 RMSE を予測する回帰モデルをフィッティングします。 このモデルを使用して、最初の M 予測値を含む、すべての将来の時間ステップ (K のすべての値) の標準誤差を推定します。

以下の画像は、検証用に差し引かれる時間ステップが 3 つ (M=3) あり、4 つの時間ステップのタイム ウィンドウ (T=4) があるキューブ全体の解析のプロセスを示したものです。

信頼区間
キューブ全体の予測に対して信頼区間が推定されます。

注意:

一部のケースでは、標準誤差を予測する回帰モデルの推定された傾斜または切片が負になることがあります。 推定された切片が負の場合は、切片なしでモデルがフィッティングされます。 傾斜が負の場合、差し引かれる時間ステップ (各ロケーション、時系列クラスター、またはキューブ全体) 内の最大 RMSE がすべての予測値の標準誤差として使用されます。

時系列の外れ値の特定

時系列データの外れ値は、その時系列の他の値のパターンおよび傾向と著しく異なる値です。たとえば、休日前後のオンラインショッピングや豪雨時の交通事故の高い件数は、時系列の外れ値として検出される可能性があります。数値の小数部分の欠落などの単純なデータ入力エラーも、よくある外れ値の原因の 1 つです。時系列予測における外れ値の特定は重要です。外れ値は、将来値の予測に使用される予測モデルに影響するからです。ある場所の時系列の少数の外れ値であっても、予測の精度と信頼性を著しく損なう可能性があります。外れ値の位置、特に時系列の最初または最後の方にある外れ値は、誤った予測になる可能性があります。そのような位置の特定は、各位置の予測値をどう信頼するかを判断する助けになります。

外れ値は、単に raw 値によって判定されるのではなく、予測モデルの適合値からの逸脱の程度によって判定されます。つまり、値が外れ値であると判定されるか否かは状況に依存し、場所と時間によって異なります。予測モデルは、時系列全体に基づいて予測値を定義します。外れ値は、このベースラインから著しく外れた値です。たとえば、年平均気温の時系列について考えてみましょう。この数十年で平均気温は上昇しているので、気温の適合予測モデルも、この上昇を反映して上昇します。これは、1950 年に典型的と見なされて外れ値とは判定されない気温が、2020 年には外れ値と見なされる可能性があるということです。つまり、1950 年の典型的な気温は、2020 年の基準では非常に低いと見なされます。

各場所の時系列の外れ値は、[外れ値の特定] パラメーターを使用して検出することができます。このパラメーターを指定すると、各位置で Generalized ESD (Extreme Studentized Deviate) テストが実行され、時系列の外れ値が検査されます。テストの信頼度は、[信頼度] パラメーターで指定でき、デフォルトでは 90% が使用されます。Generalized ESD テストは、各位置で、1 つの外れ値、2 つの外れ値、3 つの外れ値、というように繰り返され、[外れ値の最大数] パラメーターの値 (デフォルトは時間ステップの 5%、端数切り捨て) に達するまで検査を行い、結果として統計的に有意な外れ値の最大数を返します。各場所の外れ値の数は、出力フィーチャの属性テーブルで確認できます。また個々の外れ値は、次のセクションで説明する時系列のポップアップ チャートで確認できます。

時系列分析の外れ値、Generalized ESD テスト、および結果の解釈方法の詳細

ツールの出力

ツールの 1 次出力は、フィールドとして保存されたその他の全時間ステップの予測を使った最終予測時間ステップによってシンボル化された [入力時空間キューブ] 値にそれぞれのロケーションを表示する 2D フィーチャクラスです。 各ロケーションは独立して予測され、空間リレーションシップは考慮されませんが、マップは、類似する時系列と共に、エリアの空間パターンを表示することができます。

ポップアップ チャート

[マップ操作] のナビゲーション ツールを使ってマップ上のフィーチャをクリックすると、適合フォレスト モデルとともに時空間キューブの値を示し、各予測における信頼区間 90 パーセントとともに予測値を示す [ポップアップ] ウィンドウ内に、チャートが表示されます。 時空間キューブの値は青色で表示され、青色のラインで接続されます。 適合値はオレンジで表示され、オレンジの破線で結ばれます。 予測値はオレンジで表示され、フォレスト モデルの予測を表すオレンジの実線で結ばれます。 薄赤色の信頼限界が各予測値の周辺に描画されます。 チャート内のいずれかのポイントの上にポインターを置き、そのポイントの日付および値を参照することができます。 さらに、時系列の外れ値を検出するよう選択した場合、外れ値は大きな紫色の点で表示されます。

フォレストベースの予測のポップアップ チャート
ポップアップ チャートには元の値、適合値、予測値、および信頼区間が表示されます。

注意:

出力フィーチャがシェープファイル (.shp) として保存された場合、ポップアップ チャートは作成されません。 加えて、信頼区間がチャート外にはみ出した場合、[全データ範囲を表示] ボタンがチャートの上に表示されます。このボタンによって信頼区間全体が表示されるようチャートを拡張できます。

ジオプロセシング メッセージ

このツールは、ツールの実行に関する情報を含む複数のメッセージを提供します。 これらのメッセージは、3 つのメイン セクションを含んでいます。

[入力時空間キューブの詳細] セクションには、入力時空間キューブのプロパティが時間ステップの数、ロケーションの数、時空間ビンの数に関する情報とともに表示されます。 この 1 番目に表示されるプロパティは、キューブが最初にどのように作成されたかによって決まるため、キューブごとに情報が変わります。

[解析の詳細] セクションには、予測結果のプロパティが予測時間ステップの数、検証で除外された時間ステップの数、スペクトル分析によって季節性が検出されたロケーションの割合、および予測時間ステップに関する情報とともに表示されます。 [時間ステップ ウィンドウ] パラメーターに対して値が提供されていない場合、推定した時間ステップ ウィンドウの長さの統計サマリーは最小、最大、平均、中央値、および標準偏差を含めて表示されます。

[ロケーション全体の精度のサマリー] セクションには、すべてのロケーションにおける予測 RMSE および検証 RMSE の統計サマリーが表示されます。 それぞれの値について、最小、最大、平均、中央値、および標準偏差が表示されます。

[外れ値オプション] パラメーターを使用して時系列の外れ値を検出するよう選択すると、[時系列の外れ値サマリー] セクションが表示されます。このセクションには、外れ値を含む場所の数とパーセンテージ、最も多く外れ値を含む時間ステップ、位置別および時間ステップ別の外れ値の数のサマリー統計などの情報が表示されます。

注意:

ジオプロセシング メッセージは、ツールの実行中に [ジオプロセシング] ウィンドウの下部に表示されます。 このメッセージにアクセスするには[ジオプロセシング] ウィンドウでプログレス バーの上にカーソルを置くか、ポップアップ ボタン 別ウィンドウに表示 をクリックするか、メッセージ セクションを展開します。 ジオプロセシング履歴を使用して、以前に実行したツールのメッセージにアクセスすることもできます。

出力フィーチャのフィールド

[Object ID]、ジオメトリ フィールド、およびポップアップ チャートを含んでいるフィールドに加えて、[出力フィーチャ] は以下のフィールドを含みます。

  • [ロケーション ID] (LOCATION) - 時空間キューブの対応するロケーションのロケーション ID です。
  • [(時間ステップ) の (解析変数) の予測] (FCAST_1FCAST_2 など) - 各将来時間ステップにおける予測値です。 フィールド エイリアスは [解析変数] の名前と予測日を表示します。 このタイプのフィールドは各予測時間ステップに対して作成されます。
  • [(時間ステップ) の (解析変数) の区間の上限] (HIGH_1HIGH_2 など) - 各将来時間ステップにおける予測値に対する信頼区間 90 パーセントの上限です。 フィールド エイリアスは [解析変数] の名前と予測日を表示します。 このタイプのフィールドは各予測時間ステップに対して作成されます。
  • [(時間ステップ) の (解析変数) の区間の下限] (LOW_1LOW_2 など) - 各将来時間ステップにおける予測値に対する信頼区間 90 パーセントの下限です。 フィールド エイリアスは [解析変数] の名前と予測日を表示します。 このタイプのフィールドは各予測時間ステップに対して作成されます。
  • [予測二乗平均平方根誤差] (F_RMSE) - 予測 RMSE です。
  • [検証二乗平均平方根誤差] (V_RMSE) - 検証 RMSE です。 検証で除外した時間ステップがない場合、このフィールドは作成されません。
  • [タイム ウィンドウ] (TIMEWINDOW) - ロケーションに対して使用する時間ステップのウィンドウです。
  • [季節性] (IS_SEASON) - ロケーションの時間ステップ ウィンドウがスペクトル密度によって決定されているかを示す Boolean 変数です。 値 1 は季節性がスペクトル密度によって検出されていることを示し、値 0 は季節性が検出されていないことを示します。 [タイム ウィンドウ] パラメーターで値が指定された場合、すべてのロケーションでこのフィールドの値が 0 になります。
  • [予測方法] (METHOD) - このテキスト フィールドには、ランダム シード、ツリーの数、サンプル サイズ、予測アプローチ、時間ステップ ウィンドウがユーザーによって指定されたかツールによって決定されたか、その他の変数、モデル尺度とクラスターの可変性に関する情報 (該当する場合) など、フォレスト モデルの各パラメーターが表示されます。 このフィールドは結果を再現するために使用し、[ロケーションによる予測評価 (Evaluate Forecasts By Location)] ツールで使用しているモデルを特定できます。
  • [モデル適合外れ値の数] (N_OUTLIERS) - その場所の時系列で検出された外れ値の数。このフィールドは、[外れ値オプション] パラメーターを使用して外れ値を検出するよう選択した場合のみ表示されます。

出力時空間キューブ

[出力時空間キューブ] を指定した場合、出力キューブは、入力時空間キューブからの元の値のすべてを、追加された予測値と共に含みます。新しい時空間キューブは、[時空間キューブを 2D で視覚化 (Visualization Space Time Cube in 2D)] ツールまたは [時空間キューブを 3D で視覚化 (Visualize Space Time Cube in 3D)] ツールを使用して表示することができ、[時空間ホット スポット分析 (Emerging Hot Spot Analysis)][時系列クラスタリング (Time Series Clustering)] などの [時空間パターン マイニング] ツールボックスのツールへの入力として使用できます。

複数の予測された時空間キューブを、[位置による予測評価 (Evaluate Forecasts by Location)] ツールを使用して比較し、マージすることができます。これにより、さまざまな予測ツールとパラメーターを使用して複数の予測キューブを作成できます。ツールは、予測または検証 RMSE を使用して位置ごとに最適な予測を特定します。

ベスト プラクティスおよび制限

このツールがデータに適切かどうか判断したり、使用するパラメーターを判断したりする場合は、以下の点について検討します。

  • このツールは、[時系列予測] ツールセット内の他の予測ツールと比べて複雑ですが、データに関する仮説の数は最も少なくなります。 形状とトレンドが複雑で、単純または平滑化の数学関数によってモデル化することが難しい時系列に対して使用することをお勧めします。 また、他の方法の仮説が不十分な場合にもお勧めします。
  • このツールを使用して、異なるモデル尺度やさまざまな時系列変数間のやりとりを探索できます。 異なる尺度と他の変数でツールを複数回実行し、[ロケーションによる予測評価 (Evaluate Forecasts by Location)] ツールを使用してロケーションごとに最適なフォーキャストを決定することをおすすめします。
  • [検証から除外する時間ステップ数] パラメーターの値を決定することが重要です。 除外する時間ステップを増やすと、検証モデルを推定する時間ステップが少なくなってしまいます。 ただし、除外した時間ステップが少なすぎる場合、検証 RMSE は少ないデータ量を使用して推定を行うため、間違いやすくなります。 検証モデルを推定するため十分な時間ステップを残しながら、できるだけ多くの時間ステップを除外することをお勧めします。 また、時空間キューブに十分な時間ステップがある場合は、少なくとも予測する時間ステップ数と同じ数の検証における時間ステップを保留することをお勧めします。

    さらに、予測された値の信頼区間を作成するには、検証用に差し引かれる時間ステップに回帰関数をフィッティングする必要があります。 この関数をフィッティングするには 2 つ以上の値が必要になるため、予測の信頼区間を作成するには時間ステップを 2 つ以上差し引く必要があります。 ただし、差し引く時間ステップの数が大きくなるほど、回帰関数の精度が上がります (その結果、信頼区間の精度も上がります)。 信頼区間の精度を最大限に高めるには、検証用に時間ステップのデフォルト値である 10% を少なくとも差し引くことをおすすめします。

  • このツールは、ある時系列で同じ値が何度も繰り返される場合に不安定または信頼性の低い予測を行うことがあります。 同じ値が繰り返される一般的な原因は、データがカウント数を表し、多くの時間ステップで値が 0 になるゼロインフレーションです。
  • 外れ値を検出するよう選択した場合は、[時間ステップ ウィンドウ] パラメーターを空のままにして各ロケーションで異なる時間ステップ ウィンドウを評価するのではなく、値を指定することをお勧めします。 フォレスト モデルは各ロケーションで予測モデルをトレーニングするために最初の時間ステップ ウィンドウの時間ステップを使用し、外れ値は残りの時間ステップでのみ検出されます。 トレーニングの際に各ロケーションで異なる数の時間ステップが除外されている場合、時間ステップ単位またはロケーション単位で外れ値の平均、最小、最大などの統計サマリーを出力することは誤解を招く恐れがあります。 これらの統計は、各ロケーションに含まれる時間ステップについてのみ計算されます。

参考資料

このフォレスト モデルの詳細については、次の参考文献をご参照ください:

  • Breiman, Leo. (2001). "Random Forests." Machine Learning 45 (1): 5-32. https://doi.org/10.1023/A:1010933404324.
  • Breiman, L., J.H. Friedman, R.A. Olshen, and C.J. Stone. (2017). Classification and regression trees. New York: Routledge. Chapter 4.

フォレスト モデルの参考資料と参考文献については、「フォレストベースの分類と回帰分析の機能」をご確認ください。

タイム ウィンドウの長さを推定するために使用するスペクトル密度関数の詳細については、次の参考文献の findfrequency 関数をご確認ください。

  • Hyndman R, Athanasopoulos G, Bergmeir C, Caceres G, Chhay L, O'Hara-Wild M, Petropoulos F, Razbash S, Wang E, and Yasmeen F (2019). 「Forecasting functions for time series and linear models」 R package version 8.7、https://pkg.robjhyndman.com/forecast
  • Hyndman RJ and Khandakar Y (2008) 「Automatic time series forecasting: the forecast package for R」 Journal of Statistical Software, 26(3), pp. 1-22. https://www.jstatsoft.org/article/view/v027i03.

説明変数の追加とラグ効果の詳細については、次の参考資料をご参照ください。

  • Zheng, H., and Kusiak, A. (2009). "Prediction of Wind Farm Power Ramp Rates: A Data-Mining Approach."ASME. J. Sol. Energy Eng, 131(3): 031011. https://doi.org/10.1115/1.3142727.

関連トピック