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 のシニアソフトウェア開発マネージャーです。