予測モデルの推論と評価 (プレビュー)
重要
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されており、運用環境のワークロードに使用することは推奨されません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。
詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
この記事では、予測タスクにおけるモデルの推論と評価に関連する概念について説明します。 AutoML で予測モデルをトレーニングする手順と例については、時系列予測用に AutoML を設定するの記事を参照してください。
AutoML を使用して最適なモデルをトレーニングして選択したら、次の手順では予測を生成し、可能であれば、トレーニング データから提供されたテスト セットでその精度を評価します。 自動機械学習で予測モデル評価を設定して実行する方法については、推論と評価のコンポーネントに関するガイドを参照してください。
推論シナリオ
機械学習で、推論とは、トレーニングで使用されていない新しいデータのモデル予測を生成するプロセスです。 データは時間に依存するため、予測で予測を生成する方法は複数あります。 最も簡単なシナリオは、推論期間がトレーニング期間の直後に続き、予測ホライズンまで予測を生成する場合です。 次の図は、このシナリオを説明したものです。
この図は、2 つの重要な推論パラメーターを示しています。
- コンテキストの長さ、つまりモデルが予測を行うために必要とする履歴の量、
- 予測ホライズン、予測器が時間的にどのぐらい先まで予測するようにトレーニングされるか。
予測モデルでは、通常、何らかの履歴情報 (コンテキスト) を使用して、予測ホライズンまでの予測を行います。 コンテキストがトレーニング データの一部である場合、AutoML は予測に必要なものを保存するため、明示的に指定する必要はありません。
より複雑な他の推論シナリオが 2 つあります。
- 予測ホライズンよりも将来の予測を生成する、
- トレーニング期間と推論期間にギャップがある場合に予測を取得する。
これらのケースについては、以降のサブセクションで確認します。
予測ホライズンを超えた予測: 再帰的予測
ホライズンを超えた予測が必要な場合、AutoML は推論期間にわたってモデルを再帰的に適用します。 つまり、モデルからの予測は、後続の予測ウィンドウに対する予測を生成するための入力として提供されます。 次の図に簡単な例を示します。
ここでは、あるウィンドウからの予測を次のウィンドウ用のコンテキストとして使用して、ホライズンの長さの 3 倍の期間に対する予測を生成します。
警告
再帰的予測ではモデリング エラーが発生するため、元の予測ホライズンから遠くなるほど予測の精度は低下します。 この場合、ホライズンをより長くして再トレーニングすると、より正確なモデルが見つかることがあります。
トレーニング期間と推論期間にギャップがある予測
過去にモデルをトレーニング済みで、それを使用して、トレーニング中はまだ利用できなかった新しい観測値から予測を行うとします。 この場合、トレーニング期間と推論期間に時間差があります。
AutoML ではこの推論シナリオがサポートされますが、図に示すように、ギャップ期間にコンテキスト データを指定する必要があります。 推論コンポーネントに渡される予測データには、特徴量の値、ギャップ内で観測されるターゲット値、推論期間内のターゲットの欠落値つまり "NaN" 値が必要です。 次の表はこのパターンの例を示しています。
ここで、ターゲットと特徴量の既知の値は 2023-05-01 から 2023-05-03 に対して提供されます。 2023-05-04 以降の欠落しているターゲット値は、推論期間がその日付から始まることを示します。
AutoML では、新しいコンテキスト データを使用して、ラグやその他のルックバック機能を更新し、さらに内部状態を維持する ARIMA などのモデルを更新します。 この操作では、モデル パラメーターの更新や再適合は行われません。
モデルの評価
評価とは、トレーニング データから提供されたテスト セットに対する予測を生成し、モデル デプロイの決定を導くメトリックをこれらの予測から計算するプロセスです。 したがって、モデル評価に適した推論モードである、ローリング予測があります。 それについて、次のサブセクションで確認します。
ローリング予測
予測モデルを評価するためのベスト プラクティスの手順では、トレーニングされた予測機能をテスト セット全体で時間的にロール フォワードし、複数の予測ウィンドウでエラー メトリックを平均します。 この手順は、コンテキストによってはバックテストと呼ばれることがあります。 理想的には、評価のテスト セットは、モデルの予測期間と比べて長くなります。 予測エラーの推定値は、統計的にノイズが多いため、信頼性が低い可能性があります。
次の図は、3 つの予測ウィンドウを含む簡単な例を示しています。
この図は、次の 3 つのローリング評価パラメーターを示しています。
- コンテキストの長さ、つまりモデルが予測を行うために必要とする履歴の量、
- 予測ホライズン、予測器が時間的にどのぐらい先まで予測するようにトレーニングされるか、
- ステップ サイズ、テスト セットの各繰り返しでローリング ウィンドウが時間的にどのぐらい先まで進むか。
重要なのは、コンテキストは予測ウィンドウと共にコンテキスト進む点です。 つまり、テスト セットからの実際の値は、現在のコンテキスト ウィンドウに収まる場合に予測を行うために使用されます。 特定の予測ウィンドウに使用される実際の値の最新の日付は、ウィンドウの始点と呼ばれます。 次の表は、ホライズンが 3 日、ステップ サイズが 1 日である 3 ウィンドウのローリング予測からの出力例を示しています。
このような表を使用して、予測と実績を視覚化し、必要な評価メトリックを計算できます。 AutoML パイプラインでは、推論コンポーネントを使用してテスト セットでローリング予測を生成できます。
注意
テスト期間が予測ホライズンと同じ長さの場合、ローリング予測では、ホライズンまでの予測を 1 つのウィンドウで表示します。
評価メトリック
評価の概要またはメトリックの選択は、通常、特定のビジネス シナリオによって推進されます。 いくつかの一般的な選択を次に示します。
- データの特定の動態がモデルによってキャプチャされることをチェックするための観察されるターゲット値と予測値のプロット、
- 実際の値と予測値の MAPE (平均絶対誤差率)、
- 実際の値と予測値の RMSE (二乗平均平方根誤差)、場合によっては正規化を伴う、
- 実際の値と予測値の MAE (平均絶対誤差)、場合によっては正規化を伴う。
ビジネス シナリオに応じて、他にも多くの可能性があります。 推論結果またはローリング予測から評価メトリックを計算するために、独自の後処理ユーティリティの作成が必要になる場合があります。 メトリックの詳細については、回帰と予測メトリックに関する記事セクションを参照してください。
次のステップ
- 時系列予測モデルをトレーニングするように AutoML を設定する方法の詳細について確認します。
- AutoML が機械学習を使用して予測モデルを構築する方法について確認します。
- AutoML での予測に関するよくある質問への回答を確認します。