[アップデート] Amazon Forecastで予測作成時に分位数(quantile)を設定できるようになりました
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開催前なので、今後のアップデートにも期待が高まります。