Amazon Sagemaker Canvas +QuickSightで工場の出荷量を予測し、結果を可視化してみた

 

はじめに

本記事では、Amazon Sagemaker Canvasというサービスを用いて、ノーコードで機械学習モデルを構築する手順について紹介します。

近年、AIの活用が広がる一方で、「AIを作るにはプログラミングができなければならない」と思われがちです。しかし、Amazon SageMaker Canvasを使えば、コードを書くことなく直感的な操作で機械学習モデルを構築できます。

AIに興味のある方は、ぜひ一度触れてみていただければと思います。

また、AWSにはQuickSightというデータの可視化サービスも備わっており、Sagemaker Canvasでで出力した予測値のデータもグラフにすることができます。今回は簡易ではありますが、ダッシュボードを構築してみました。

Amazon Sagemaker Canvasとは?

Amazon SageMaker Canvasは、AWS が提供するノーコード機械学習(ML)ツールです。

プログラミングの知識がなくても、GUI(グラフィカルユーザーインターフェース)を通じてデータの前処理、分析、予測モデルの作成・評価・活用を行うことができます。

他のツールとの連携が可能であり、以下のように連携することが可能です。

  • SageMaker Studio

    Canvasで作成したモデルを、コードレベルでのチューニングや再学習にスムーズに引き継ぐことができます。

    ノーコードからコード開発へのステップアップを容易にします。

  • Amazon QuickSight

    Canvasで得た予測結果をBIツールで可視化することで、データの洞察を直感的に理解し、意思決定に活かせます。

  • Amazon S3 / Athena / Redshift / Snowflake

    これらのサービスをデータソースや出力先として利用できるため、既存のデータ基盤と容易に統合できます。

使用するデータソース

今回使用するデータは、Tableau製造業ユーザー会で提供されている、「サンプルスーパーファクトリー」という各工場・各商品の製造量や出荷量のサンプルデータから、商品の出荷量を予測するという目的で使用しました。

こちらは以前社内でTableauダッシュボードのコンペも開催させていただいており、Tableau製造業ユーザー会の方が作成された素晴らしいサンプルデータなので、是非使ってみたいと考えてました。 今回は視点を膨らませ、3か月先までの出荷量を予測するモデルを構築しました。

出典:Tableau製造業ユーザー会

事前準備

以下の設定が必要です。

  • VPCの構築
  • Sagemakerドメインの設定
    • 今回はシングルユーザー向けで作成しました。

私は、以下のリンクを参考にして初期設定を行いました。

https://qiita.com/siida36/items/f6e4ba4a03b641fc5fea

モデルの構築

Sagemaker Canvasを開く

実際にAmazon Sagemaker Canvasを開いてみると以下の画面に遷移します。

左の項目から様々な機能を使用することができます。

  • Data Wrangler
    • データ前処理・クレンジングを行う機能
  • Datasets
    • 学習用データを管理する場所
  • My Models
    • 機械学習モデルを一覧管理する機能
  • ML OPs
    • モデルを本番環境で活用・管理するための仕組み
  • Ready to use
    • 学習済みの汎用AIモデルをすぐに利用できる機能
  • GenAI
    • 生成AI(Generative AI)を利用できる機能

今回はきれいに整っているデータなので、My Modelsからいきなりモデルを作成しました。

My Modelsにてモデル構築

モデルを構築していきます。今回は3か月先までの出荷量を予測したいので、Problem typeに「Predictive analysis」を選択します。

データの選択は、サンプルスーパーファクトリーをローカルからアップロードしたデータを選択します。

次に予測する対象を選択します。今回は出荷量の実績値(Actual)を予測したいので、「Actual」をTarget Columnに指定します。

予測する対象を設定できましたら、その右側のModel typeの「Configure model」を選択します。

ここではモデルのアルゴリズムなどモデルのチューニングすることができます。

まず、「Time series configuration」からデータのユニークなIDについては、Product_IDを指定しました。(商品ごとの出荷量を予測したいため)

また、「Algorithms」から今回使用するモデルは、DeepAR+, Prophet, Autoregressive Integrated Moving Average(ARIMA)の3つを選択しました。

ここまで設定できたので、右上の「Quick build」からモデルの構築を進めました。

モデルの性能と予測結果

モデルの構築が完了すると以下のように性能を出力してくれます。

各指標について実績と予測値の誤差を評価した指標になっております。直感的にわかりやすいのがRMSEで、1レコードあたりどれくらい予測値と実績がずれるか を表した指標になります。今回出荷量が10万単位のレコードになるので、平均して実績と予測値が5万弱ずれますということです。(精度はあまり高くないですが、特徴量の追加やレコード数を増やすとより精度向上が見込めるかと思います。)

画面上部の「Predict」をクリックすると実際データには存在しない3か月分(2026/1/1~2026/3/1)の予測値を算出することができます。

「Start Predictions」をクリックし、予測値を算出します。

予測値は以下のように出力されました。

出力結果は岡山工場の製品に絞ったものですが、各製品2026/1/1~2026/3/1の予測値が出力されます。

D~G列に関しての説明は、以下になります。

  • p10
    • 分位点0.1のこと、10%以下の確率で各レコードの値より下回ることを意味している
  • p50
    • 分位点0.5のこと、予測の中央値を意味している(meanと同じ値)
  • p90
    • 分位点0.9のこと、90%以下の確率で各レコードの値より下回ることを意味している

このようにプログラミングを使用せずに、画面のボタン操作のみで未来の値を予測してくれるモデルを構築することができました。ただ、値を出力するだけでは、どの製品がどの月にどれくらいの出荷量になるかわかりにくいので、可視化する必要があります。

AWSのサービスにQuickSightというデータの可視化サービスがあり、今回出力された予測値をそのままQuickSightにデータを転送することができます。

QuickSightとは?

Amazon QuickSightは、AWSが提供するクラウド型のBI(ビジネスインテリジェンス)ツールです。 データを可視化し、インタラクティブなダッシュボードを作成して、ビジネス上の意思決定を支援します。

Excelのような手軽さと、AWSのスケーラビリティを兼ね備えた分析プラットフォームです。

QuickSightでの可視化

QuickSightを開く

QuickSightを開くと以下のような画面が開かれます。

「分析」からグラフを作成することができます。

グラフの作成

先に作りたいグラフを選択してから、そのグラフの要素にデータのカラムをドラッグ&ドロップで作成することができます。

作りたいグラフから指定できるので、作りたいグラフ1つ1つの知識などがいらずに、直観的に作りやすいと感じました。

シートの大きさなどうまく変えながら、簡単にダッシュボードを作ることができました。予測した結果をレポートとして簡単に連携できるので非常に便利に感じました。

1枚目が予測する上で、現状のカテゴリごとの出荷数を様々な角度から分析したダッシュボードです。

  • ドーナツグラフ
    • 工場の商品別の出荷量の内訳を表示、全日程を通してどの商品の出荷数が多いのかの傾向を把握することができます。
  • カテゴリ別箱ひげ図
    • 商品ごとで増減が激しいのかを箱ひげ図で表示、幅の大小で各月の出荷量が発散している/まとまっている傾向がつかめます。
  • カテゴリ別推移グラフ
    • 各商品の出荷数推移を表示、季節性やトレンドがあるのかの傾向を把握することができます。

2枚目のダッシュボードが特定の商品について、来月の出荷数など今後の情報を把握するためのダッシュボードです。

  • フィルター
    • 特定の商品で絞り込みを行うことができます。
  • テキスト
    • 今月の出荷数と来月の予測出荷数を表示、現状の在庫データもあれば、後いくつ商品が必要なのか把握できそうだなと思いました。
  • 推移
    • 選択した商品の過去の推移と3か月分の予測値の推移を表示、2,3か月後の予定も立てられるように3か月先まで表示しています。

終わりに

今回は、Amazon Sagemaker Canvasを使って、機械学習の予測モデルを構築しQuickSightで可視化しました。今回のようにAIモデルを構築するのにプログラミングの要素を一切使わずにモデルを構築することができましたので、プログラミングが苦手でAIに手を出しにくいと思っていた方に向けて、一人でも触ってみようと思っていただければ幸いです。

料金については、1回学習モデルを構築するのに2~3ドルかかりました。むやみやたらと使うとそれなりの料金がかかりますが、AIをとりあえず触ってみるのには手ごろなコスト感だと思います。

Keywalkerでは、AIのみならずデータ分析基盤やBIダッシュボードの開発やお客様自身でデータを活用できるような教育プログラムの設計や活用浸透支援も行っておりますので、もしデータ活用でお悩みの方がいましたらご気軽にご相談ください。

ShtockData

お問い合わせフォーム

お問い合わせ項目を選択してください