[アップデート] Amazon Forecastで予測作成時に分位数(quantile)を設定できるようになりました

2019.11.26

DA事業本部の貞松です。

re:Invent 2019開催直前のAWSアップデートに関するアナウンスが祭りの様相を呈しております。
本記事では、Amazon Forecastに関するアップデートの一つについて、実際に動作を確認した内容についてまとめます。

アップデート内容

Amazon Forecast can now support generating predictions in any quantile

Forecastで予測を作成する際に分位数(quantile)を設定できるようになりました。

アップデート前のForecastで作成される予測は、百分位数(percentile)に基づいて、p10(10パーセンタイル)、p50(50パーセンタイル)、p90(90パーセンタイル)の3つで実際の予測値を作成していました。ちなみにp50が統計的に中央値と呼ばれるもので、一般的に予測値といえばこのp50(中央値)が出力されることを想定していることが多いです。

これらの分位数はForecastで作成された予測子(学習済みの予測モデル)を用いて生成される予測値の分布に対して、俗に言う上振れや下振れの予測値を表現しますが、上述の通り分位数の設定がp10、p50、p90で固定だった為、表現の柔軟性が乏しかったと言えます。

今回のアップデートによってこの分位数を設定できるようになった為、より実用に沿った予測値を出力することができるようになります。

コンソール上で動作を確認

AWSコンソール上でForecastの予測作成画面を開きます。前提として、時系列データのインポートから予測子の作成までは完了しているものとします。

新たに Forecast types- optional が追加になっていることを確認できます。

https://docs.aws.amazon.com/forecast/latest/dg/API_CreateForecast.html

Forecastの開発者ガイドにあるAPIリファレンスによると、設定値は 0.01〜0.99 あるいは mean で、カンマ区切りで入力することにより5つまで設定することが可能です。
(mean は平均値で、予測値の分布が対照的な場合は、中央値(0.50)と一致します)

ここでは 0.2, 0.4, 0.6, 0.8, mean を入力して、予測の作成を実行してみます。
(入力フォームの説明書きでは .10, .50, .90, .99 のように表記されていますが前0あり・なしのどちらでも大丈夫です)

予測の作成が完了したら、Forecast lookupで予測の可視化を実行します。

p20、p40、p60、p80、meanの5つのグラフが表示されました。

ついでに予測結果のエクスポートも実行してみたところ、ちゃんとデータカラムとして、p20、p40、p60、p80、meanが出力されていました。

まとめ

アップデートにより、Forecastで予測作成時に分位数(quantile)を設定できることを確認し、可視化も予測結果のエクスポートも問題なく実行できました。 まだre:Invent 2019開催前なので、今後のアップデートにも期待が高まります。