SageMaker Canvasによる需要予測の技術詳細
使用されている機械学習アルゴリズムの種類と特徴
Amazon SageMaker Canvasは、統計モデルと機械学習モデルのアンサンブルにより高精度な時系列需要予測を実現しています (高度なモデル構築設定 - Amazon SageMaker AI)。Canvasでは最大6種類の組み込みアルゴリズムを組み合わせてモデルを構築しており、デフォルトではデータに応じてこれら全てを用いた最適な組み合わせが自動選択されます (高度なモデル構築設定 - Amazon SageMaker AI)(ユーザーが特定のアルゴリズムに絞って使用することも可能です (高度なモデル構築設定 - Amazon SageMaker AI) (高度なモデル構築設定 - Amazon SageMaker AI))。サポートされている主なアルゴリズムとその特徴は以下のとおりです。
- ARIMA(自己回帰和分移動平均): 古典的な統計的時系列モデルで、過去のデータの自己相関やトレンドを捉えて将来を予測します。比較的シンプルなモデルですが、トレンドや周期性のある需要を表現できます。少数(<100程度)の時系列データやデータ構造が比較的単純な場合に有効とされています (高度なモデル構築設定 - Amazon SageMaker AI)。
- ETS(指数平滑法): Holt-Winters法に代表される指数平滑モデルで、過去の観測値の指数減衰的な加重平均に基づき予測を行います。季節性パターン(週次・年次など)のあるデータに適しており、こちらも**時系列数が少ない場合(<100系列)**に有効です (高度なモデル構築設定 - Amazon SageMaker AI)。過去データに直近ほど高い重みを置くことでトレンドや季節性を捉えます。
- Prophet: Facebook社が開発したオープンソースの加法モデルで、トレンド・季節性・祝日効果などを考慮したベイズ的構造時系列モデルです。年次・週次の強い季節変動や非線形な成長トレンド(飽和に近づくようなケース)があるデータに適しています (高度なモデル構築設定 - Amazon SageMaker AI)。十分な履歴(複数年分など)がある場合に高精度な予測を出せる傾向があります。
- DeepAR+: Amazonが開発したリカレントニューラルネットワーク (RNN) に基づく時系列予測アルゴリズムです。複数の時系列データをまとめて一つのグローバルなモデルとして学習し、各系列のパターンを学習します (高度なモデル構築設定 - Amazon SageMaker AI)。多数の関連する時系列(特徴量系列)を含む大規模データセットで特に効果を発揮し (高度なモデル構築設定 - Amazon SageMaker AI)、需要のような複雑なパターン(季節性・トレンド・プロモーション影響など)もRNNが自動で捉えます。
- CNN-QR(畳み込みニューラルネットワーク–分位点回帰): 深層学習(CNN)を用いた独自の時系列予測アルゴリズムで、予測値の分位点(Quantile)を直接推定するものです (高度なモデル構築設定 - Amazon SageMaker AI)。数百以上の時系列を含むような大規模データで性能を発揮し、複数系列の共通パターンを畳み込みネットで学習します (高度なモデル構築設定 - Amazon SageMaker AI)。分位点回帰により需要予測の不確実性も扱えるのが特徴です(例えば需要予測の90%信頼区間など)。
- NPTS(非パラメトリック時系列予測): 過去の実績値からサンプリングして将来の分布を見積もるベースライン(基準)モデルです (高度なモデル構築設定 - Amazon SageMaker AI)。需要が疎らまたは断続的(インターミッタント需要:例として売れない期間が長くゼロが頻出するような製品)な場合に有効とされ、過去のパターンをそのまま反映した予測を行います (高度なモデル構築設定 - Amazon SageMaker AI)。機械学習というより統計的な乱数サンプリング手法ですが、極端に不規則な需要に対してはこの手法が安定した精度を示すことがあります。
これらのアルゴリズムはスタッキングアンサンブルによって統合され、Canvasはそれぞれで学習したモデルを組み合わせて最適な予測モデルを構築します (高度なモデル構築設定 - Amazon SageMaker AI)。アンサンブルにより複数モデルの長所が活かされるため、単一モデルより精度が向上する傾向があります。なおCanvasでは、標準ビルド(Standard build)とクイックビルド(Quick build)という2種類のモデル構築モードがあります。標準ビルドでは上述の複数アルゴリズムによる本格的な学習・アンサンブルが行われ(高精度だが学習時間は長め)、クイックビルドでは単一のツリーベース学習アルゴリズム(決定木アルゴリズム。内部的にはXGBoostなどを利用)による簡易モデルが短時間で作成されます (高度なモデル構築設定 - Amazon SageMaker AI)。クイックビルドでは20分程度でモデルと簡易な説明可能性の結果が得られるのに対し (Train a time series forecasting model faster with Amazon SageMaker Canvas Quick build | AWS Machine Learning Blog)、標準ビルドでは最大で数時間かけて精度を優先したモデル作成が行われます (Train a time series forecasting model faster with Amazon SageMaker Canvas Quick build | AWS Machine Learning Blog)。用途に応じてまずクイックで素早く傾向を掴み、その後標準で精度を追求するといった使い分けも可能です。
需要予測におけるデータ処理方法(前処理・特徴量エンジニアリング・欠損値処理など)
需要予測(時系列予測)の精度を高めるには、適切なデータ前処理と特徴量エンジニアリングが重要です。SageMaker Canvasではユーザーがコーディングせずとも、以下のようなデータ処理を行うことができます。
-
データ形式と必須カラム: 時系列予測を行うには、データセットに日時を示すタイムスタンプ列、予測したいターゲット(目的変数)列、そしてアイテムID列(SKUや店舗IDなど、系列を区別する識別子)が必要です (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI) (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。例えば小売の需要予測であれば、日時(日付)、販売数量(ターゲット)、商品ID(アイテムID)が最低限必要になります。時系列データの時間間隔(頻度)は一定であることが望ましく、Canvasでは日次、週次、月次など様々な予測頻度に対応しています (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。日時のフォーマットも標準的な形式(YYYY-MM-DD HH:MM:SS など)であれば自動認識されます (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。
-
時間間隔の調整(リサンプリング): 実データでは記録間隔が不規則だったり、一部の期間のデータが欠落していることがあります。Canvasにはリサンプリング(Resample)機能があり、指定した時間間隔でデータを再サンプリングして規則的な系列に整えられます (Prepare data for model building - Amazon SageMaker AI) (Prepare data for model building - Amazon SageMaker AI)。例えば、営業日ごとの売上データを週次や月次に集計し直したり、穴あきの日時データを毎日の頻度で補完するといった処理がワンクリックで可能です。リサンプリング時には、非営業日や未観測日のデータも自動で補完され、間隔が揃った時系列データとなります(例えば「平日のみ記録→土日を含む7日間」で再サンプリングするなどのオプションがあります (Prepare data for model building - Amazon SageMaker AI))。これにより、モデルが時間の間隔不整による影響を受けず、一貫した周期を学習できるようになります。
-
欠損値の処理: 時系列データには売上ゼロの日やデータ欠測が発生することがあります。Canvasでは欠損値の自動補完が行われ、デフォルトではターゲット列の欠損は0、その他の数値列の欠損はその列の中央値で埋められます (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。ただしこのデフォルト補完方法はユーザーが変更可能で、平均値や最小値で埋める、あるいはターゲットに限っては
NaN
(欠測のまま)扱いにすることもできます (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。文脈に応じた適切な補完が重要で、例えば「売れていない」のか「未販売(日扱い)」なのかで0とNaNの使い分けが必要です (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。一般に、ターゲット列における欠損値はモデル精度を大きく低下させる可能性があるため、可能であればターゲットの欠損を含まないデータを用意することが推奨されています (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。Canvasでは手動で欠損行の削除や値の一括置換もGUI上で行えるため、データクレンジングをあらかじめ実施しておくと良いでしょう。 -
特徴量エンジニアリングと未来の既知情報: 需要に影響を与える要因をデータに盛り込むことで予測精度を高めることができます。Canvasはデータセット中の列を解析し、将来の値があらかじめ分かっている可能性がある列(例えば価格予定、プロモーション予定、天候予報など)を自動検出して「Future values(将来値)」とマークします (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。これらの列は将来予測期間において既知の外生変数としてモデルに利用され、需要に与える影響を考慮した予測が可能になります (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。例えば、アイスクリームの売上を予測する際に気温や価格といった要因を特徴量として含めれば、暑い日や値下げ時に売上が増える影響をモデルが学習し、より現実に即した予測が得られます (Time Series Forecasts in Amazon SageMaker Canvas - Amazon SageMaker AI)。Canvas上ではこれらの特徴量も含めてモデル構築できますし、将来値をユーザーが仮定して入力することでWhat-if分析(価格を下げたら需要はどう変わるか等)をインタラクティブに行うこともできます (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。
-
時間的特徴量とカレンダー要因: 需要には曜日や月、季節、祝日など周期的なパターンが潜んでいます。Prophetモデルは曜日・年次季節性を自動で組み込みますし (Algorithms support for time-series forecasting - Amazon SageMaker AI)、ETSも季節性成分を内部で扱います。機械学習系のDeepAR+やCNN-QRも、内部的に時刻情報を扱うことでこれら季節性を学習します。またCanvasでは明示的な曜日・月などのカレンダーフィーチャー生成指定はありませんが、必要に応じてユーザーが手動で特徴量を追加することも可能です(例えば「月末かどうか」「祝日かどうか」のフラグ列を事前にデータに入れておくなど)。モデルはこれら追加特徴量の有用性も自動評価します。実際、Canvasのモデルインサイトでは各列の予測への影響度が表示され (Train a time series forecasting model faster with Amazon SageMaker Canvas Quick build | AWS Machine Learning Blog)、どの特徴量が需要変動を左右しているかを確認できます。分析の結果、重要度の低い特徴量は削除し、重要度の高い特徴量を追加で作成するといった試行も、コードレスで実践できます。
-
データ分割とモデル評価: モデルの汎化性能を測るために、Canvasは内部的に学習データと検証データの分割を行いモデル評価を実施しています。ユーザーには詳細な分割操作は不要ですが、Canvasは時系列の末尾の一部を検証用に取り置き、予測精度指標(平均絶対誤差や平均絶対百分率誤差など)を算出します。モデル構築後、Canvasはリーダーボード形式で複数モデル候補の評価結果を表示し、データセットと問題タイプに基づく最適モデルを推奨してくれます (Amazon SageMaker Canvas が時系列予測モデルの新機能を発表 - AWS)。ユーザーはリーダーボード上で各モデルの主要な評価指標(例えばMAPEやRMSEなど)を比較できるため、必要に応じて別のモデルを選択したり、データ前処理を見直した上で再度モデル構築する、といった反復的な改善プロセスを取ることが可能です。
以上のように、Canvasでは時系列需要予測に適したデータフォーマット調整から欠損補完、関連する特徴量の取り込みまで一通りの前処理をサポートしており、専門知識がなくともGUI上の操作でデータを整形できます。それでも難しいデータ課題(極端な外れ値の処理や高度な特徴量設計など)がある場合は、事前にデータを加工してインポートすることで対応できます。
予測精度を向上させるための具体的手法
需要予測モデルの精度を高めるために、SageMaker Canvasおよびそのバックエンド(AutoMLエンジン)では様々な工夫が施されています。主な手法とポイントを以下にまとめます。
-
ハイパーパラメータチューニング(HPO): モデルの学習過程で、自動的にハイパーパラメータ最適化が行われます。SageMaker Autopilot(Canvasの背後で動くAutoMLエンジン)は、あらかじめ定義された評価指標に基づいてパラメータを調整し、モデルの精度向上を図ります (AWS を活用した小売業の需要予測 | Amazon Web Services ブログ)。例えば、DeepAR+であれば学習率やRNNの層数、ARIMAであれば(p,d,q)の次数など、各アルゴリズム固有のパラメータを探索します。Canvasではユーザーが個別に設定を試行する必要はなく、ベイズ最適化や多段階(マルチファイデリティ)最適化といった手法を用いて自動的に複数回のトライアルが走り、最適値に近づけます (高度なモデル構築設定 - Amazon SageMaker AI)。デフォルトでは最大100回の試行を行い最良モデルを追求する仕組みになっており (高度なモデル構築設定 - Amazon SageMaker AI)、それらの結果はリーダーボード上に候補モデルとして提示されます。要するに、Canvasを用いることで裏側では膨大なモデル学習・チューニングが実行されていますが、ユーザーはそのチューニング工程を意識せずとも高性能なモデルを得られるわけです。 (AWS を活用した小売業の需要予測 | Amazon Web Services ブログ)
-
アンサンブル学習の活用: 前述の通り、Canvasの標準ビルドではスタッキングアンサンブルによるモデル統合が行われます。異なるアルゴリズム(統計モデルとディープラーニングモデル等)は誤差の性質や得意領域が異なるため、組み合わせることで単一モデルでは捉えきれないパターンを予測できます (高度なモデル構築設定 - Amazon SageMaker AI)。Canvasは6種類のモデル候補を学習した後、それらをスタッキング(メタ学習器による統合)して最終的な予測モデルを構築します (高度なモデル構築設定 - Amazon SageMaker AI)。これにより、例えば「短期的な直近傾向はARIMAが得意だが長期的な季節サイクルはProphetが得意」という場合でも、両者の利点を活かした予測が可能です。ユーザーはデフォルトでこのアンサンブルの恩恵を受けられますが、高度な設定で使用アルゴリズムを限定することもできます (高度なモデル構築設定 - Amazon SageMaker AI)。例えば計算資源や解釈性の都合で「あえて統計モデルだけでアンサンブルする」「DeepAR+単独モデルをチューニングして使う」といった選択も可能です。一般にはアンサンブルしたモデルの方が精度は高く安定するため、精度最優先の場合は全アルゴリズムを用いた標準ビルドを選択するとよいでしょう。 (高度なモデル構築設定 - Amazon SageMaker AI) (高度なモデル構築設定 - Amazon SageMaker AI)
-
データ拡張(データAugmentation): 時系列データにおけるデータ拡張は画像データほど一般的ではありませんが、需要予測においてはデータ量や情報量を増やす工夫が精度向上につながります。Canvasでは自動で行われませんが、ユーザー側で取り組めるポイントとして以下があります。
- 外部データの統合: 先述の「未来値」特徴量の活用もこの一種です。需要に影響を与える経済指標や天候データ、SNSトレンドなどを追加で取り込み、モデルに学習させることで精度向上が見込めます。例えばビールの需要予測に気温やスポーツイベントの有無を追加したり、アパレル商品の需要にGoogleトレンドのファッション関連指数を加える、といった具合です。適切な外部要因を入れることでモデルがより多面的に需要をとらえられます。
- 過去データからのサンプル増強: DeepAR+のようなモデルは各時系列をスライディングウィンドウで区切った多数のサンプルで学習するため、長い系列データはそれだけ学習サンプル数が多いというメリットがあります。必要に応じて意図的に系列を区間に分割して学習データ数を稼ぐ手法もあります(ただし時系列の順序関係を保つ必要があります)。また、ヒストリカルデータが極端に少ない場合には、類似商品のデータを寄与させる(転移学習的な発想)や、専門家の知見によるシナリオデータの擬似生成(例えば「もし在庫切れがなかった場合の売上」を推定して補う等)も考えられます。
- ノイズ付加によるロバスト化: データにランダムノイズや微小な揺らぎを加えて学習させると、モデルが過学習せずロバストになる場合があります。需要予測ではあまり一般的ではありませんが、例えば直近の需要急増を過大評価しないよう一部データポイントを調整する等も精度安定化に有効です。
- 階層的なアプローチ: データ拡張とは少し異なりますが、需要予測では階層構造(例:全国→地域→店舗という階層)でデータをまとめて精度を上げる手法もあります。上位レベルで予測した需要を下位に配分する、あるいは下位の系列を集約して上位の精度を上げるなど、複数スケールのデータを組み合わせることも、間接的にデータ量を増やす一手段です。
Canvas自体は上記を自動では行いませんが、ユーザーが追加の特徴量を投入したりデータの変換を工夫することでモデル精度をさらに高める余地があります。また、Canvasで得られた予測結果を分析し、もし精度に課題があれば新たなデータソースを加える、といったPDCAサイクルを回すことが重要です。
-
その他の精度向上テクニック:
- 目的関数・評価指標の適切化: 予測の目的に合った評価指標を選ぶことも精度「向上」に寄与します。Canvasでは高度な設定で最適化する目標メトリクスを選択可能で、デフォルトがRMSEなのに対しビジネス上はMAPE(平均絶対百分比誤差)の方が重要、といった場合に変更できます (高度なモデル構築設定 - Amazon SageMaker AI)。評価指標を変えることでAutoMLのチューニングの向き先が変わり、結果的に実ビジネスに有用な精度向上につながります。
- 予測レンジと粒度: あまりにも長期の予測や過細な粒度(例: 分単位の予測など)は不確実性が高まります。適切な予測期間と粒度を設定することでモデルの相対精度は上がります。Canvasでは予測期間をユーザー指定でき、過去のデータ長とのバランスも考慮して設定することが重要です。
- モデル解釈を活かした改善: Canvasのモデル解釈タブで得られるカラム影響度や誤差の分析結果を確認し、モデルが捉えきれていないパターンを探すことも有効です (Train a time series forecasting model faster with Amazon SageMaker Canvas Quick build | AWS Machine Learning Blog)。例えば「特定の商品カテゴリで誤差が大きい」ことが分かれば、そのカテゴリを分けて別モデルを作ることを検討したり、追加の特徴量(そのカテゴリ専用の需要指標など)を与えることが考えられます。このように、単にモデルを自動任せにするだけでなく、人間が結果を分析してフィードバックすることで継続的に予測精度を向上させていけます。
企業や業界における実際の適用事例
ノーコードで需要予測を実現できるSageMaker Canvasは、様々な業界・企業での活用が始まっています。その具体的な適用例をいくつか紹介します。
-
小売業の事例: 小売業界では売上予測や在庫最適化のための需要予測にCanvasが活用されています。例えばAWSの公式ブログでは、店舗レベルの売上予測にCanvasを用いるシナリオが紹介されています (Reinventing retail with no-code machine learning: Sales forecasting using Amazon SageMaker Canvas | AWS Machine Learning Blog) (Reinventing retail with no-code machine learning: Sales forecasting using Amazon SageMaker Canvas | AWS Machine Learning Blog)。データエンジニアがAmazon Redshiftに集約した過去の売上データ(店舗日別売上やプロモーション実施有無など)をCanvasに取り込み、4つの手順(データ選択→モデル構築→精度・要因の確認→予測生成)で数週間先の売上を予測するという流れです (Reinventing retail with no-code machine learning: Sales forecasting using Amazon SageMaker Canvas | AWS Machine Learning Blog)。このように、現場のビジネスアナリストが自らデータを引き出し、モデルを構築して各店舗の需要予測を行い、その結果をもとに在庫補充やプロモーション計画を立案するといったセルフサービス分析が可能になっています。従来はデータサイエンティストに依頼して数日~数週間かかっていた需要予測を、Canvasによってその日のうちに試行・結果確認まで完了できる点が大きなメリットです。 (AWS を活用した小売業の需要予測 | Amazon Web Services ブログ)
-
製造業(ハイテク業界)の事例(Samsung Electronics): 韓国の大手電子機器メーカーであるSamsung Electronics社では、Amazon SageMaker Canvasを需要予測に活用しています。同社のデバイスソリューション部門では、メモリ製品などの需要を高精度に予測するためにビジネスアナリストがCanvasを使い始めました (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。数日間のトレーニングを経て、2022年にはアナリスト自らが8四半期先(2年先)までの需要予測をCanvasで実施できるようになったといいます (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。Canvasにデータを取り込んで予測値を指定するだけで、バックエンドで自動的にデータ準備・探索・モデル構築が行われ、クリック操作で全工程が完了します (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。その結果、Samsungでは予測の精度が向上するとともに、需要予測のリードタイムが大幅に短縮されました。以前は新たな要因が需要に与える影響を分析するのにデータサイエンスチームへ依頼して1~2日待つ必要がありましたが、Canvas導入後は1~2時間で分析と予測が可能になったと報告されています (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。ビジネスアナリストが迅速にインサイトを得られるようになったことで、データサイエンティストはより高度なモデル開発に時間を割けるようになり、両者の協業体制も強化されました (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS) (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。Samsung社はPC需要予測で得た成功を受けて、今後はモバイル・サーバー・自動車分野など他の事業領域でもCanvasを活用した需要予測を展開していく計画とのことです (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。
-
その他の業界での活用: Canvasは上記以外にもサプライチェーン全般で活用が期待されています。例えば消費財メーカーが物流需要を予測したり、自動車産業で部品需要を予測するケース、エネルギー業界で電力需要を予測するケースなどが考えられます。まだ具体的事例として公表されていないものもありますが、需要予測というテーマ自体はあらゆる業界のビジネス計画の中核であり、「データさえあれば誰でも予測モデルを構築できる」Canvasの登場は大きなインパクトを与えています (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS) (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。実際、経営コンサルティング企業のBain & CompanyはCanvasを顧客企業のDX支援に活用し、顧客離反予測や需要予測など10以上のユースケースで効果を確認する取り組みを行ったとされています(Immersion Dayのハンズオン事例)[1]。公共分野でも、来場者数の予測や医療機関の患者数予測など、時系列データ分析が必要な場面でCanvasのようなAutoMLツールが使われ始めています。
このように、Amazon SageMaker Canvasは小売から製造、ハイテクまで幅広い分野で需要予測の民主化を進めています。従来専門家に頼っていた予測モデル構築を現場主体で行えるようにし、精度向上と業務スピードアップの双方を実現した事例が増えてきています (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS) (Samsung Electronics Improves Demand Forecasting Using Amazon SageMaker Canvas | Samsung Electronics Case Study | AWS)。今後さらに多くの企業が実データでの検証を重ね、需要予測を含む予測分析業務にCanvasを取り入れていくことが予想されます。
-
Bain & CompanyによるCanvas活用事例は、Zennの記事「SageMaker Canvasの新LLM機能とBain & Companyの活用事例」(2023年)に言及があります。 ↩︎
Discussion