Amazon Web Services ブログ

Amazon QuickSight ML Insights を使用して、データから異常を見つけ、将来を予測する



テクノロジーの進化に伴い、ビジネスは多種多様なソースから、より多くのデータを収集するようになってきています。集めるデータポイントが多くなりすぎると、ビジネスの成長に役立つ適切な知見を見出すことがしばしば難しくなります。ダッシュボードは、構築の仕方によっては、データを視覚的に表現することに優れていますが、データから異常や外れ値といった隠れた知見を見つけるとなると、必ずしも優れた手段とは言えません。人がデータを探す際には役立ちますが、データ自らが人にアピールしてくれるわけではありません。データ収集の規模が大きくなると、間接費の増大を避けるためにも前者から後者に移行する必要があります。企業が持つ時間やリソースの限界から、大まかなトレンドの把握に留まるか、または深い知見を得るにしても、その規模は小さなデータサブセットに限られるでしょう。

こうした限界から、情報に基づいて意思決定を下すことができなくなる恐れがあります。Amazon QuickSight には、機械学習 (ML) による異常検知機能が組み込まれており、 ML モデルの構築、トレーニング、ハイパーパラメータチューニング、推論、デプロイメントタスクにおいて、時間とリソースの節約に役立ちます。さらに、何百万ものメトリクスや何十億もの大規模データポイントから、深い知見を得ることができます。

この記事では、ML Insights を使用して役立つビジュアルや予測を作成する方法をご紹介します。このチュートリアルでは、以下の AWS のサービスを使用します。

  • Amazon QuickSight – ML Insights やビジュアルを構築します。
  • Amazon Athena – 手動でのデータ分析のため、Amazon QuickSight データセットをクエリします。
  • AWS Glue – データセットをクロールし、ロードすることなくメタデータを準備します。これにより、安価で拡張性と耐久性が非常に高い S3 バケットに格納された 未加工データファイルにビジュアルを保存し、実行できるので、高額なデータベース実行コストを低減できます。
  • Amazon S3 – データソースを保存します。

データセットの準備

始めるには、まず Amazon QuickSight 用データセットの収集、クリーンアップ、準備を行う必要があります。この記事では、データソースとして Amazon S3 を使用しますが、Quicksight 対応であれば、Redshift、Athena、RDS、Aurora、MySQL、Postgres、MariaDB など、あらゆるデータソースを使用して、クエリとビジュアルの構築ができます。この記事では、次の 3 つのデータセットを使用します。

この記事では、ビジュアル作成手順のうち、データのクリーニング後から、データタイプの変更、および特定のユースケースで求められるディメンションを反映するためのデータのフィルタリングまでを紹介します。

スーパーマーケットの売上高データセットを準備するには、次のステップを実行します。

  1. AWS S3 コンソールで [バケットの作成] を選択して S3 バケットを作成します。
  2. [バケット名] に適切な名前を入力し、ビジュアルを構築するリージョンを選択して、[バケットの作成] を選択します。
  3. ローカルマシンにパブリックデータセットをダウンロードします。
  4. S3 バケットを選択し、[アップロード] を選択して、ローカルマシンにダウンロードしたデータセットに移動します。
  5. データセットファイルを選択して、[アップロード] を選択します。
  6. AWS Glue コンソールで、CSV ファイルで実行するクローラを作成し、メタデータを準備します。
  7. [クローラ名] に、ご使用のクローラ名を入力します (例: sales-data)。
  8. [次へ] をクリックします。
  9. [データストアの追加] セクションの [データストアの選択] で、[S3] を選択します。
  10. [データのクロール先] では、[アカウントで指定されたパス] を選択します。
  11. [インクルードパス] に、S3 バケットへのパスを入力します。データストアを複数含めることもできます。
  12. [次へ] をクリックします。
  13. [IAM ロールの選択] セクションで、[IAM ロールを作成します] を選択します。
  14. [IAM ロール] に、AWS Glue が Amazon S3 にアクセスする際に必要なロールを入力します。
  15. [次へ] をクリックします。
  16. [このクローラのスケジュールを作成する] セクションの [頻度] で、クローラをデータ上で実行する頻度を選択します。この記事では、[オンデマンドで実行] を選択します。

    これにより、どれくらい頻繁にデータセットを更新してメタデータを反映させるかを、柔軟に設定できます。
  17. [クローラの出力の構成] セクションの [データベース] で、使用するクローラのテーブルを含むデータベースを選択します。
  18. [次へ] をクリックします。
  19. クローラの作成後、[クローラの実行] を選択します。クローラの実行完了までには数分かかる場合があります。
  20. AWS Glue コンソールの [データベース] で、[テーブル] を選択します。
  21. 作成したデータベースを選択します。
  22. [テーブルの表示] を選択します。
  23. [アクション] ドロップダウンメニューから、[データを表示] を選択します。

    これにより、Athena コンソールに移動します。Athena では、ワンタイムクエリを柔軟に実行し、必要な時にデータを手動で分析できます。たとえば、Athena クエリエディタに次のコードを入力することで、メンバーがクレジットカードまたは Ewallet でどの製品ラインを好んで購入しているかを確認できます。

    SELECT "product line",
             "unit price",
             "quantity",
             "total",
             "rating",
             "customer type",
             "payment"
    FROM "sales-data"."supermarket_sales_data"
    WHERE "customer type" = 'Member'
            AND "payment" IN ('Credit card', 'Ewallet');
    

    次のスクリーンショットは、このクエリの出力を示します。

  24. データベースの作成後、Amazon QuickSight コンソールで、[新規分析] を選択します。
  25. [新規データセット] を選択します。
  26. データソースとして Athena を選択します。
  27. [データソース名] で名前を付けます (例: sales-data)。
  28. [データソースの作成] を選択します。
  29. [テーブルの選択] セクションで、Athena のデータベースを選択します。
  30. ビジュアル化するテーブルを選択します。
  31. データセットでオブジェクトを編集するには、[データを編集/プレビュー] を選択します。
  32. [選択] を選択します。

    次のスクリーンショットは、[日付] フィールドのデータタイプを文字列から日付に変更すると、データがどう表示されるかを示します。データプレビューセクションが表示されます。
  33. [日付] 列で、[文字列] データタイプを選択します。利用可能なデータタイプオプションが表示されたウィンドウが開きます。
  34. [日付] を選択します。
  35. [保存する] をクリックします。

データのビジュアル化

これで、ビジュアルを作成する準備ができました。この記事では、スーパーマーケットの売上高、フライトのデータ、および住宅の売上高に関するデータセットを使用します。

スーパーマーケットの売上高

この記事では、Web サイト「kaggle」から取得したスーパーマーケットの売上高データセットを使用します。この時系列のデータセットは、小売業のトレンドや異常値の検出に最適で、過去の売上高の異常値をすばやく特定できるほか、支店、都市、日時、顧客タイプごとにソートできます。

2019 年の合計売上高と売上高に寄与したトップ商品を分析するには、次の手順を実行します。

  1. Amazon QuickSight コンソールで、先ほど作成した supermarket_sales_data analysis を選択します。
  2. [追加する] をクリックします。
  3. [インサイトの追加] を選択します。
  4. [計算] ドロップダウンメニューから、[異常検出] を選択します。
  5. [選択] を選択します。
  6. [フィールドウェル] セクションの [タイム] で、[日付] を選択します。
  7. [] で、[合計 (Sum)] を選択します。
  8. [カテゴリ] で、[製品ライン] を選択します。

    新しい設定ページが開きます。
  9. [保存する] をクリックします。
  10. [今すぐ実行] を選択します。

    Amazon QuickSight は、選択したディメンションをフィルターして、合計売上高の異常値を表示します。左側のパネルには、Amazon QuickSight 寄与分析により、売上高の急上昇に寄与したトップ顧客が表示されます。次のスクリーンショットを参照してください。

フライトの遅延

異常検出は、全国の複数の拠点で事業を行っている航空会社など、他のビジネスにも役立ちます。この記事では、Web サイト「data.world」から取得した Airlines Delay (エアラインの遅延) データセットを使用します。この公開データセットは、米国運輸省のデータをもとに作成されたもので、国内便の定時運行を追跡します。これにより、航空会社は離陸遅延の要因となった異常を検出できます。前のセクションと同じステップを実行することで、異常のビジュアルを作成できます。次のスクリーンショットを参照してください。

自動説明文機能の使用

ほとんどの場合、グラフとチャートがあればデータのインサイトを提供できますが、グラフの意味を説明することで、データから何を学べるかをパートナーや同僚に理解させることができます。

Amazon QuickSight 自動説明文機能は、エグゼクティブとの協議に向けた準備に役立つ理解しやすい説明を提供します。Amazon QuickSight は、ダッシュボードのデータとチャートに基づいて、さまざまなインサイトや自然言語による説明を自動表示します。

推奨インサイトの追加

Amazon QuickSight は、ビジュアルに追加できる推奨インサイトを提供しています。この記事では、スーパーマーケットの売上高およびフライト遅延データセットにインサイトを追加する方法について説明します。

さらに、事前構築済の計算セットからカスタムインサイトを追加することもできます。詳しくは、分析にカスタムインサイトを追加するを参照してください。

スーパーマーケットの売上高

2019 年に小売店舗で顧客が使用した支払いタイプのトップ 3 を調べるとします。スーパーマーケットの売上高データセットを使用して、製品ラインと支払いタイプごとにデータの内訳を確認します。次の手順を実行します。

  1. supermarket_sales_data 分析の [ビジュアルタイプ] で、テーブルアイコンを選択します。
  2. [フィールドウェル] に対して、[製品ライン] と [支払い] を選択します。
  3. [インサイト] で、+ を選択してビジュアルに推奨インサイトを追加します。

    次のスクリーンショットは、インサイトを追加した結果、詳細が追加された様子を示します。

フライト遅延の比較

先ほどのエアラインの遅延データセットを使用して、2018 年 1 月のフライトの遅延を分析して、先ほどの遅延数と比較します。エアラインの遅延データセットを使用して、先ほどと同じステップを実行します。次のスクリーンショットを参照してください。

ML を活用した予測

顧客トランザクションからデータポイントを収集することで、将来の売上高を予測できます。しかしこうした予測を構築して表示するには、分析チームは複雑なアルゴリズムと ML を活用したソリューションを構築する必要があります。Amazon QuickSight は、ML を活用した予測と what-if 分析により、この問題をシンプル化します。これにより、ML やデータ分析に関する専門知識がなくても、データからビジュアル予測を取得できます。

スーパーマーケットの売上高

ML を活用した予測をデモンストレーションするため、この記事ではスーパーマーケットの売上高のデータセットを使用して、週次および四半期ごとのトレンドで製品の売上高を予測します。売上高データセットは、複数のデータポイントのデータ粒度を有します。適切なデータポイントの詳細については、Amazon QuickSight で ML Insights を使用するためのデータセット要件を参照してください。

ML を活用した予測をするには、次のステップを実行します。

  1. supermarket_sales_data 分析の [ビジュアルタイプ] で、折れ線グラフを選択します。
  2. [フィールドウェル] の[X軸] に対して、[日付] を選択します。
  3. [] で、[合計 (Sum)] を選択します。
  4. ビジュアル上で、ドロップダウンメニューから、[予測の追加] を選択します。

    これで、折れ線グラフの予測が作成されます。次のスクリーンショットを参照してください。

住宅の販売価格

ML 予測でよく見られるその他のユースケースとしては、履歴データを使用した住宅販売価格の予測が挙げられます。この記事では、Web サイト「kaggle」のHouse Sales in King County, USA (米国キング郡の住宅販売価格) データセットを使用します。このデータセットは、ワシントン州キング郡の住宅販売価格データから成ります。

日付でソートされた平均住宅価格の予測を作成するには、前のセクションのステップを実行します。次のスクリーンショットに、折れ線グラフの予測を示します。

まとめ

この記事では、Amazon QuickSight ML Insights を使用して、データ内の異常の発見や予測などに役立つ強力なインサイトを構築する方法について説明しました。ML Insights のカスタマイズの詳細については、Amazon QuickSight が ML Insight の一般提供を開始を参照してください。


著者について

Pranabesh Mandal は AWS のソリューションアーキテクトです。彼は、10 年以上にわたって大企業の顧客向けに IT 業務をした経験があります。クラウド技術に情熱を注ぎ、特に分析分野に取り組んでいます。仕事以外では、彼の妻と一緒に、米国中の神聖な国立公園をハイキングし、美しい自然と野生生命を探索するのが大好きです。

 

 

Karthik Odapally は、AWS のシニア ソリューション アーキテクトです。彼はチーム内でデータ駆動の文化を推進し、AWS Re:Invent カンファレンスでは、自身の取り組みについて、お客様とともに情熱的な発表を行いました。暇があれば、ここパシフィックノースウェストで、家族や友人にクッキーやカップケーキを焼いています。ヴィンテージのレーシングカーを愛しています。