【Amazon Forecastで時系列予測】②予測モデルの作成(AutoML)

AWSでAI・データ活用

Amazon Forecastは、Amazon.comの機械学習予測技術に基づいて、統計アルゴリズムと機械学習アルゴリズムを使用し、高い精度の時系列予測を提供する完全マネージド型サービスです。
全5回のコラムを通して、Amazon Forecastの概要、そして時系列予測を実際にAmazon Forecastでどのように実施していくのかを操作手順ベースでご紹介していきます。

前回の記事では、予測を行うためのデータセット群の準備に関する手順をご説明しました。
第3回となる今回は、予測子の作成(予測モデルの学習)についてご紹介します。

1. はじめに

前回インポートしたデータセットを使って予測子の作成(予測モデルの学習)を行っていきます。

adwmb08_01.png

2. 時系列予測アルゴリズムについて

Amazon Forecastには、6種類の事前定義済のアルゴリズムが用意されています。
CNN-QR、DeepAR+が俗にいうディープラーニング(深層学習)を使った機械学習アルゴリズムで、非常に強力なアルゴリズムとなっています。

adwmb08_02.png

アルゴリズムによって利用できるデータセットタイプが異なるので注意が必要です。

adwmb08_03.png

例えば、ITEM_METADATA(項目メタデータ)は、CNN-QRとDeepAR+アルゴリズムでしか考慮されません。
また、RELATED_TIME_SERIES(関連する時系列)には2つの形式があり、DeepAR+とProphetはForward-lookingしか扱いません。

  • Forward-looking(フォワードルック):予測期間内のデータポイントを含む時系列
  • Historical(履歴):予測期間内のデータポイントを含まない時系列

3. AutoML(自動的にアルゴリズムを選択)について

データセットに対する最適なアルゴリズムの選択に迷う場合は、AutoMLの利用も可能です。
使用可能なアルゴリズムを全て使用して学習を実行評価し、最も評価指標が優良なアルゴリズムを採用する力技な機能です。

アルゴリズムの選択をするための前提知識がなくても適切なアルゴリズムを見つけられますが、その反面、総当たりなので学習時間が多くかかります。
ある程度アルゴリズムの当たりがついている場合は、手動選択した方が効率は良いと思われます。

実際に今回同じデータセットを使って予測子の作成を行った結果、AutoMLで1時間超かかったのに対し、手動でCNN-QRアルゴリズムを選択した場合は30分弱で学習が完了しました。

4. 予測子の作成

それでは、Amazon Forecastで予測子(学習済みモデル)を作成していきます。

※画像をクリックすると新しいタブで開きます。

Train a predictor > Start

adwmb08_04.png

利用するアルゴリズム、予測の数(期間 × 頻度) といったパラメータの指定を行います。

adwmb08_05.png

  • 予測子名:bisol_covid19_predictor
  • 予測範囲(期間):30
  • 予測の時間単位:day
  • 予測アルゴリズムの選択:AutoML(自動的にアルゴリズムを選択)

以下はOptionalで、学習の過程で評価指標を算出するためのテストに関する設定項目です。
どの位のデータ幅をテストデータとして使って評価指標を算出するかという設定ができます。
今回は、基本的にはここはいじらずデフォルトのまま実行しました。

  • Forecast dimensions
  • Backtest window
    • Number of windows
    • Offset
  • Advanced configurations
    ハイパーパラメータ設定など

データセットグループのダッシュボードページが表示され、予測子のトレーニングが完了するとステータスが「Active」に変わります。
このプロセスにはそれなりに時間がかかります。
今回のデータセットでの学習時間は1時間超でした。

※画像をクリックすると新しいタブで開きます。

adwmb08_06.png

Predictors一覧から作成された予測子を選択して詳細を確認してみます。

※画像をクリックすると新しいタブで開きます。

adwmb08_07.png

AutoMLを利用したか否か、AutoMLの場合は最終的に選ばれたアルゴリズムやモデルの評価指標(wQL、WAPE、RMSE)などの情報が表示されています。
今回のデータセットでは、ARIMAが採用されています。
関連する時系列や項目メタデータをせっかく用意したのに、ARIMAでは考慮されないので少し残念です。

※画像をクリックすると新しいタブで開きます。

adwmb08_08.png

5. 予測子の評価

予測子の作成の過程で以下3つの予測子のメトリクス(評価指標)が生成されます。

  • RMSE(二乗平均平方根誤差、Root Mean Squared Error)
  • WAPE(重み付き絶対誤差率、Weighted Absolute Percentage Error)
  • wQL(重み付き分位損失、weighted Quantile Loss)

これらのメトリクスをみて、どの予測子を使用して予測を生成するかを判断します。
RMSE、WAPE、wQLのメトリクスは誤差や損失の数値なので、値が小さいほど優れたモデルであることを示します。

予測子の詳細ページから、評価された各アルゴリズムのメトリクス(評価指標)を確認することができます。
よく見ると、今回採用されたARIMAよりCNN-QRの評価指標の方が数値が小さいのにARIMAが採用されていることが若干腑に落ちない感じです。

※画像をクリックすると新しいタブで開きます。

adwmb08_09.png

adwmb08_10.png

adwmb08_11.png

adwmb08_12.png

adwmb08_13.png

adwmb08_14.png

adwmb08_15.png

6. おわりに

ひとまず、予測子の学習が完了したので、これで予測(推論)を行うことができます。

次回は、予測(推論)を行う前に、評価指標が良いにも関わらずなぜか採用されなかったCNN-QRアルゴリズムを指定しての予測子の作成を試し、関連する時系列や項目メタデータを考慮した予測モデルも作成してみます。


■商標について
Amazon Web Services、および、かかる資料で使用されるその他のAWS商標は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。


【Amazon Forecastで時系列予測】シリーズ コラム一覧(全5回)
第1回:Amazon Forecastとは
第2回:①データセットの準備
第4回:③予測モデルの作成(CNN-QR)
第5回:④予測実行(推論)

BI_banner01.png