Amazon Web Services ブログ
Amazon Forecast で 自由選択した分位数での予測作成のサポートを開始
Amazon Forecast で、自由に選択した分位数で予測を作成できるようになったことをお知らせいたします。
re:Invent 2018 で発表され、2019 年 8 月から一般公開されている Forecast は、機械学習 (ML) により、それまでの機械学習の経験を待つことなく、非常に正確な予測を作成できる完全マネージド型サービスです。Forecast は、製品需要の見積り、サプライチェーンの最適化、エネルギー需要の予測、財務計画、人事計画、クラウドインフラストラクチャ使用状況の算定、トラフィック需要の予測など、さまざまなユースケースに使用できます。
Forecast は、Amazon.com で使用されているものと同じ技術に基づいており、完全に管理されたサーバーですので、プロビジョニングするためのサーバーはありません。また、使用した分だけお支払いいただくようになっており、最低料金や前払い金を求められることはありません。Forecast を使用するために必要なことは、予測対象の履歴データをご提供いただくことだけです。オプションとして、予測に影響を与えると思われる追加データもご提供ください。後者には、価格、行事、天候など、時により変化するデータと、色、ジャンル、リージョンなどカテゴリに関するデータの、両方が含まれます。このサービスは、お手元のデータに基づいて機械学習モデルを自動的にトレーニングし、デプロイして、予測をダウンロードするためのカスタム API を提供します。
ポイント予測 (p50) を作成する他のほとんどの予測ソリューションと異なり、Forecast は、10% (10p)、50% (50p)、90% (90p) の 3 つのデフォルト分位数で確率的予測を作成します。ビジネスにおける資本コスト (過大予測) と顧客需要の不足 (過小予測) のトレードオフに応じて、ご自身のビジネスニースに合った予測を選択できます。10p 予測では、真正値は 10% 予測値よりも低いことが予想されます。投資資本のコストが高い場合 (例:製品在庫が過剰)、分位数 p10 の予測は、比較的少数の商品を注文するのに役立ちます。これと同様に、p90 予測では、真正値は 90% 予測値よりも低いことが予想されます。顧客需要が失われた結果、収益が大きく損なわれたり、カスタマーエクスペリエンスが低下したりした場合は、p90 予測がより役立ちます。詳細については予測精度の評価を参照してください。
Forecast でサポートされている既存の 3 つの分位数は便利ですが、2 つの制約があります。第一に、固定値である分位数は、特定のユースケースの要件に、常に合致するとは限りません。例えば、すべてのコストで顧客需要を満たすことが必須である場合は、p99 予測のほうが p90 より便利でしょう。
第二に、Forecast はデフォルトで常に 3 つの異なる分位数により予測を作成するため、意思決定プロセスに関する分位数が 1 つだけの場合も、3 つ分の料金を請求されることになります。そこでこのたび Forecast では、デフォルトの分位数をオーバーライドし、分位数を最大 5 つまで選ぶことができるようになりました。しかもこの分位数自体も任意に定めることができます (1%~99% まで、平均値を含む)。CreateForecast API でオプションのパラメーターを提供するか、AWS マネジメントコンソールでオーバーライド値を直接指定することで、これを実行することができます。.コンソールまたは QueryForecast
API を使用して、予測クエリを引き続き実行できます。
この投稿では、コンソールを介して、この新機能を使用する方法について解説します。CreateForecast
API を介してこの機能にアクセスすることも可能です。
この機能についてごらんいただくため、先にブログに投稿した Amazon Forecast が一般公開されましたと同じ例を取り上げます。この例では UCI の機械学習レポジトリが提供する、個別家庭の電力消費データセットを使うことにします。Forecast における予測子作成について、詳しくは、先の投稿をごらんください。
予測子がアクティブ化したら、コンソールに移動して予測を作成するか、CreateForecast
API を使用します。予測作成ページには、予測タイプと呼ばれる新しいオプションのパラメーターがあります。そこでは、デフォルトの分位数 0.10、0.50、0.90 をオーバーライドすることができます。
この記事では、0.10、0.35、平均値、0.75、0.99 のカスタム分位数を追加します。
許容される値としては、0.01~0.99 までの任意の値(刻みは 0.01 ずつ)で、平均値を含みます。平均予測は、分布が対称でない場合の中央値(0.50)とは異なります(例:ベータと負の二項)。この場合、分位数を 5 つ指定したので、5 つすべての料金を請求されることになります。たとえば、5,000 件の時系列について予測を作成した場合、25,000 件分の予測について料金を請求されることになります。サービス料金は1,000 件単位で請求されますので、合計請求額は 25 × 0.60 USD =15 USD となります。最新の価格プランについて、詳しくは、Amazon Forecast の料金をごらんください。
予測がアクティブ化していると、コンソールから Forecast lookup ツールを使用して、予測のクエリや視覚化ができます。
次のグラフは、特定の時系列(この場合は「client_12」)の過去の需要と予測を表しています。CreateForecast
で指定されたすべての分位数(この場合、0.10、0.35、平均値、0.75、0.99)がここに表示されています。
コンソールで予測をクエリすることができるほか、選択した Amazon S3 バケットに .csv ファイルとして予測をエクスポートすることもできます。エクスポートした .csv ファイルには、すべての時系列と選択した分位数による予測が含まれています。こちらは具体例で、選択した 5 つの分位数による、各クライアントのエネルギー消費予測です。予測をエクスポートするには、CreateForecastExportJob API を使用するか、下のスクリーンショットでごらんいただけるように、コンソールの「予測エクスポート作成」ボタンを使用します。
「予測エクスポート作成」をクリックすると、下のような詳細ページが表示されます。ここで、エクスポートジョブ名、予測、IAM ロール、およびファイル保存先の S3 バケットを指定します。
エクスポートジョブが完了したら、(コンソールを介して) S3に移動し、関連する S3 バケットにファイルが作成されたことを確認してください。
次の表は、csv の内容を表しています。予測期間全体にわたって、指定されたすべての分位数により、各クライアントについて作成した予測に対応しています。
item_id |
date | p10 | p35 | mean | p75 | p99 |
client_111 | 2015-01-01T01:00:00Z | 48.89389038 | 69.03968811 | 75.33065033 | 88.43639374 | 174.2510834 |
client_111 | 2015-01-01T02:00:00Z | 49.26203156 | 67.66025543 | 72.34096527 | 85.50863647 | 148.0922241 |
client_111 | 2015-01-01T03:00:00Z | 46.06879807 | 67.83860016 | 76.61499786 | 83.54689789 | 225.3299561 |
client_111 | 2015-01-01T04:00:00Z | 45.66434097 | 65.45301056 | 73.38169098 | 88.51142883 | 138.77005 |
client_111 | 2015-01-01T05:00:00Z | 43.5483017 | 66.55085754 | 70.6720047 | 88.17260742 | 144.4982605 |
client_111 | 2015-01-01T06:00:00Z | 50.08174133 | 67.60101318 | 75.05982971 | 83.4147644 | 206.5582886 |
client_111 | 2015-01-01T07:00:00Z | 50.79389954 | 66.47422791 | 78.7857666 | 90.23943329 | 222.6696167 |
client_111 | 2015-01-01T08:00:00Z | 58.11802673 | 67.99427795 | 76.23995209 | 88.22603607 | 185.4029236 |
client_111 | 2015-01-01T09:00:00Z | 42.96152878 | 74.78701019 | 80.14347839 | 96.66455841 | 142.397644 |
client_111 | 2015-01-01T10:00:00Z | 59.34168243 | 72.34555054 | 80.24354553 | 94.45916748 | 164.3058929 |
client_111 | 2015-01-01T11:00:00Z | 53.01160049 | 72.67097473 | 79.31721497 | 90.48171234 | 208.0553894 |
client_111 | 2015-01-01T12:00:00Z | 47.87768173 | 69.18990326 | 77.85028076 | 89.63658905 | 143.6833801 |
client_111 | 2015-01-01T13:00:00Z | 46.98330688 | 71.60288239 | 86.48907471 | 87.89906311 | 1185.726318 |
まとめ
このたび Forecast では、自由に選んだ任意の分位数で、確率的予測を作成できるようになりました。これにより、ユースケース固有の予測を作成できるようになったほか、必要な分位数を選択して、それに対してのみ支払うことができるようになったため、費用も削減できます。この機能は、Forecast が利用可能なすべてのリージョンで、今すぐ使用いただけます。AWS フォーラムか通常の AWS サポートチャンネルを通してフィードバックを共有してください。
著者について
Rohit Menon は、AWS の Amazon Forecast のシニアプロダクトマネージャーです。
Ammar Chinoy は、AWSの Amazon Forecast のシニアソフトウェア開発マネージャーです。