IoTデータを収集・抽出・変換・可視化・分析するAWS IoT Analytics
目次
IoTシステムの全体像(収集・抽出・変換・可視化・分析)
IoT(Internet of Things)システムにおいては、デバイスから収集したデータをどのようにビジネスに活かすかが重要になります。
デバイスからデータを収集し、ビジネスにつなげるためには、下記の3ステップにおいて必要な機能を備えたIoTシステムを構築する必要があります。
- センサー、デバイスから各種稼働データを収集・転送する。
設置したデバイスから稼働データを収集します。具体的な収集データとしては、振動データ、温度データ、音データ、画像データなどが考えられます。これらの収集したデータはゲートウェイを通してクラウドなどの保存先に転送されます。 - 収集されたデータを抽出・変換する。
データを抽出・変換し、IoTシステムで利用しやすい状態にします。「Extract (抽出)」「Transform (変換)」「Load (書き出し)」の頭文字をとって、ETL処理とも言います。 - 統計の手法などを駆使して、分析・可視化する。
絞り込んで集められた統計学的な手法やグラフ化処理を行うなど、データ分析を行うことで意味のある内容に可視化します。
具体的な流れについて、次項にて説明していきます。
IoTデータ処理の流れと特徴
IoTシステムにおけるデータ処理の流れと、IoTシステムで収集されるデータの特徴について記載していきます。
IoTデータ処理の流れとは?
IoTシステムにおけるデータ処理の流れとしては、デバイスでデータを収集した後に、通常のデータ分析システムと同様、ETL処理を行い、BIツールや機械学習エンジンで処理を行う、といった流れになります。一方で、通常のデータ分析システムとの大きな違いとしては、デバイスで収集するデータが多種多様であり、そのまま分析などを行うことが難しい、という特徴があります。
IoTデータの特徴とは?
IoTシステムにおけるデータ処理の難易度をあげている、IoTデータの特徴について記載していきます。
多種多様である
IoTシステムにおいてデータを収集するデバイスは、通常OSやメーカーが異なるセンサーなどを利用します。そのため、収集するデータのフォーマット等が異なっているケースが多いです。加えてそのようなデータを活用していく際には、他のデータと合わせて分析を行えるような形式に変更する必要があります。
例えば、温度センサーから収集したデータだけでは、気温のグラフしか作成できません。気温と日射量の関係であったり、最終的に気温による混雑度を予測したいといった場合にはほかのデバイスから収集したデータも使うことが必要です。このように、収集するデータが多種多様であるため、外部データと統合が必要となります。
欠損がある場合がある
デバイスから収集したデータには、何らかの原因で欠損データや異常な値が記載されたデータが存在します。たとえば、一時的なネットワークの不具合でデータが一定時間収集できないケースもあれば、データを収集するデバイスが水没したりして、正しくないデータを収集してしまう、といったケースです。このようなケースがあっても正しいアウトプットを出せるように、システムとしてデータの欠損を補完したり、事前にクリーンアップしたり、といった処理が必要になります。
IoT開発はAWSなら素早く実現可能、スタイルズのAWSによるIoTシステム構築サービスはこちら→
AWS IoT Analyticsとは
AWS IoT Analyticsとは、大量のIoTデータを分析できるマネージド型サービスです。このサービスは、様々な機能を利用して収集したIoTデータを細かく処理し、データの誤差情報や送信元のデバイス状況などを管理できます。先述のように、IoTデータを使うためにはクリーンアップや欠損処理、データの拡張などの様々な細かい処理が必要になります。
AWS IoT Analyticsでは、IoTデバイスからのデータをビジネスにおいて活用できるように、これらの様々なステップを管理・自動化することが可能です。また、簡単な分析のためのSQLクエリエンジンや複雑な分析に向けた機械学習エンジンも利用することが可能です。
このように、AWS IoT Analyticsを利用することで、IoTデバイスから収集したデータを格段に扱いやすくすることができます。
AWS IoT Analyticsの機能
AWS IoT Analyticsの機能について、IoTシステムの流れに沿ってみていきましょう。
収集
AWS IoT Analyticsは、AWSの機能を利用したデータ収集と、MQTTプロトコルを利用したデータ収集の機能が備わっています。前者であれば、AWS IoT Coreやその他のAWSサービスのAPIを使用して、AWS IoT Analyticsにデータを取り込めます。後者であれば、AWS IoT Analyticsのコンソールから操作をすることで、さまざまな形式のMQTTトピックフィルタを使用してメッセージを受信するように設定することができます。
変換
AWS IoT Analyticsは、データの変換を行うための様々な機能が備わっています。簡単なデータ変換であれば、事前にAWS IoT Analyticsで用意された機能を用いてフィルタリング・データ変換を行うことができます。例えば、グローバルなシステムの場合に温度データにおける摂氏の表記を華氏に変換する、といった具合です。
また、複雑なデータ変換であれば、AWS Lambda関数を利用することができます。AWS Lambdaにより、欠落データを検出したときにデータを補完することができるほか、データ上の異常値を削除することも可能です。
保存
収集、加工したデータはAWS IoT Analytics専用のストレージに保管されます。このストレージはIoT分析に特化しており、時系列でデータを保管できるだけでなく、高速な取り出しも可能になっています。また、データをセキュアに保存するためのアクセス権限の管理、データ保持ポリシーの実装を行うことができます。また、天気予報などの外部データなど、分析に必要な追加データについても、AWS IoT Analyticsにロード・保存することが可能です。。
分析
AWS IoT Analyticsでは、下記の分析ツールが用意されています。
- SQLエンジン…専用のSQLクエリエンジンが用意されており、SQLをインタラクティブに実行することができます。
- 時系列分析…IoTシステムは時間の経過とともに生じるデータの変化をとらえることが重要です。そのために、AWS IoT Analyticsでは時系列分析を簡単に行えるようになっています。
- 機械学習…高度な分析を行うケースに向けて、Jupyterノートブックインスタンスを利用することができます。Jupyterノートブックは、ブラウザ上で動作する機械学習の対話型実行環境です。データ分析には欠かせないツールの1つであり、ノートブックと呼ばれるファイルにpythonなどのプログラムを記述し、実行結果を逐次確認しながら、データ分析を進めることができます。また、構築済みの回帰分析エンジンも利用することができ、データの予測も可能です。
可視化
AWSにおける可視化(BIツール)としてAmazon QuickSightがありますが、AWS IoT AnalyticsではAmazon QuickSightへのコネクタが提供されています。したがって、Amazon QuickSightにて簡単にデータを可視化することが可能です。
IoT開発はAWSなら素早く実現可能、スタイルズのAWSによるIoTシステム構築サービスはこちら→
まとめ
IoTシステムは大量かつ多種多様なデータを扱うため、それに耐えられるストレージはもちろんのこと、多様なデータを簡単かつ自動的に扱う必要があります。AWS IoT Analyticsには、大量のデータを簡単に扱うための様々な機能が用意されており、またマネージドサービスであるため運用負荷も軽減することができます。IoTシステムを構築し、新しいビジネスを始めたい場合には、AWS IoT Analyticsの使用を検討してみてください。