Lookout for Equipment で異常を検出する - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Lookout for Equipment で異常を検出する

注記

異常検出は、Amazon Lookout for Equipment が利用可能なリージョンでのみ使用できます。

Amazon Lookout for Equipment AWS IoT SiteWise と統合すると、産業機器の異常検出と予測メンテナンスを通じて、産業機器に関するインサイトを得ることができます。Lookout for Equipment は、産業用機器を監視するための機械学習 (ML) サービスであり、異常な機器動作を検出し、潜在的な障害を特定します。Lookout for Equipment を使用すると、予知保全プログラムを実装し、最適ではない機器プロセスを特定できます。Lookout for Equipment の詳細については、「Amazon Lookout for Equipment User Guide」の「What is Amazon Lookout for Equipment?」を参照してください。

異常な機器の動作を検出するように ML モデルをトレーニングする予測を作成すると、 はアセットプロパティ値を Lookout for Equipment AWS IoT SiteWise に送信して、異常な機器の動作を検出するように ML モデルをトレーニングします。アセットモデルで予測定義を定義するには、Lookout for Equipment がデータにアクセスするために必要な IAM ロールと、Lookout for Equipment に送信して処理済みデータを Amazon S3 に送信するプロパティを指定します。詳細については、「でアセットモデルを作成する AWS IoT SiteWise」を参照してください。

AWS IoT SiteWise と Lookout for Equipment を統合するには、以下の大まかなステップを実行します。

  • 追跡するプロパティの概要を示す予測定義をアセットモデルに追加します。予測定義は、そのアセットモデルに基づくアセットに予測を作成するために使用される測定値、変換、メトリクスの再利用可能なコレクションです。

  • 指定した履歴データに基づいて予測をトレーニングします。

  • 推論をスケジュールします。これにより、特定の予測を実行する AWS IoT SiteWise 頻度が に指示されます。

推論がスケジュールされると、Lookout for Equipment モデルは機器から受信したデータをモニタリングし、機器の動作の異常を探します。SiteWise Monitor で結果を表示および分析するには、 AWS IoT SiteWise GET API オペレーション、または Lookout for Equipment コンソールを使用します。また、アセットモデルからアラームディテクターを使用してアラームを作成し、異常な機器の動作を警告することもできます。

予測定義を追加する (コンソール)

によって収集されたデータを AWS IoT SiteWise Lookout for Equipment に送信するには、アセットモデルに AWS IoT SiteWise 予測定義を追加する必要があります。

AWS IoT SiteWise アセットモデルに予測定義を追加するには
  1. AWS IoT SiteWise コンソールに移動します。

  2. ナビゲーションペインで、[モデル] を選択し、予測定義を追加するアセットモデルを選択します。

  3. [予測] を選択します。

  4. [予測定義を追加] を選択します。

  5. 予測定義の詳細を定義します。

    1. 予測定義の一意の [名前][説明] を入力します。予測定義を作成した後は名前を変更できないため、慎重に名前を選択します。

    2. AWS IoT SiteWise がアセットデータを Amazon Lookout for Equipment と共有できるようにする [IAM アクセス許可ロール] を作成または選択します。ロールには、以下の IAM ポリシーと信頼ポリシーが必要です。ロールを作成する手順については、「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」を参照してください。

      IAM ポリシー

      { "Version": "2012-10-17", "Statement": [{ "Sid": "L4EPermissions", "Effect": "Allow", "Action": [ "lookoutequipment:CreateDataset", "lookoutequipment:CreateModel", "lookoutequipment:CreateInferenceScheduler", "lookoutequipment:DescribeDataset", "lookoutequipment:DescribeModel", "lookoutequipment:DescribeInferenceScheduler", "lookoutequipment:ListInferenceExecutions", "lookoutequipment:StartDataIngestionJob", "lookoutequipment:StartInferenceScheduler", "lookoutequipment:UpdateInferenceScheduler", "lookoutequipment:StopInferenceScheduler" ], "Resource": [ "arn:aws:lookoutequipment:Region:Account_ID:inference-scheduler/IoTSiteWise_*", "arn:aws:lookoutequipment:Region:Account_ID:model/IoTSiteWise_*", "arn:aws:lookoutequipment:Region:Account_ID:dataset/IoTSiteWise_*" ] }, { "Sid": "L4EPermissions2", "Effect": "Allow", "Action": [ "lookoutequipment:DescribeDataIngestionJob" ], "Resource": "*" }, { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": ["arn:aws:s3:::iotsitewise-*"] }, { "Sid": "IAMPermissions", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::Account_ID:role/Role_name" } ] }

      信頼ポリシー

      { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "iotsitewise.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:iotsitewise:Region:Account_ID:asset/*" } } }, { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:lookoutequipment:Region:Account_ID:*" } } } ] }
    3. [Next (次へ)] を選択します。

  6. Lookout for Equipment に送信するデータ属性 (測定値、変換、メトリクス) を選択します。

    1. (オプション) 測定値を選択します。

    2. (オプション) 変換を選択します。

    3. (オプション) メトリクスを選択します。

    4. [Next (次へ)] を選択します。

  7. 選択を確認します。アセットモデルに予測定義を追加するには、概要ページで [予測定義を追加] を選択します。

アクティブな予測がアタッチされている既存の予測定義を [編集] または [削除] することもできます。

予測をトレーニング (コンソール)

アセットモデルに予測定義を追加したら、アセットにある予測をトレーニングできます。

で予測をトレーニングするには AWS IoT SiteWise
  1. AWS IoT SiteWise コンソールに移動します。

  2. ナビゲーションペインで、[アセット] を選択し、モニタリングするアセットを選択します。

  3. [予測] を選択します。

  4. トレーニングする予測を選択します。

  5. [アクション] で、[トレーニングを開始] を選択し、以下を実行します。

    1. 予測の詳細で、 がアセットデータを Lookout for Equipment と共有 AWS IoT SiteWise できるようにする IAM アクセス許可ロールを選択します。新しいロールを作成する必要がある場合は、[新しいロールを作成] を選択します。

    2. [トレーニングデータの設定] では、[トレーニングデータの時間範囲] を入力して、予測のトレーニングに使用するデータを選択します。

    3. (オプション) 後処理の後、データのサンプリングレートを選択します。

    4. (オプション) [データラベル] では、ラベル付きデータを保持する Amazon S3 バケットとプレフィックスを指定します。データのラベル付けの詳細については、「Amazon Lookout for Equipment User Guide」の「Labeling your data」を参照してください。

    5. [Next (次へ)] を選択します。

  6. (オプション) トレーニングの完了後すぐに予測をアクティブにする場合は、[詳細設定] で、[トレーニング後に予測を自動的にアクティブ化する] を選択して、以下を実行します。

    1. [入力データ] で、[データアップロードの頻度] として、データのアップロード頻度を定義し、[オフセット遅延時間] として、使用するバッファの量を定義します。

    2. [Next (次へ)] を選択します。

  7. 予測の詳細を確認し、[保存して開始] を選択します。

予測の推論を開始または停止する (コンソール)

注記

Lookout for Equipment の料金は、 AWS IoT SiteWise と Lookout for Equipment の間で転送されたデータを含むスケジュールされた推論に適用されます。詳細については、「Amazon Lookout for Equipment の料金」を参照してください。

予測 lookoutequipment:CreateDataset を追加したが、トレーニング後のアクティブ化を選択しなかった場合、アクティブ化して、アセットのモニタリングを開始する必要があります。

予測の推論を開始するには
  1. AWS IoT SiteWise コンソールに移動します。

  2. ナビゲーションペインで、[アセット] を選択し、予測を追加するアセットを選択します。

  3. [予測] を選択します。

  4. アクティブ化する予測を選択します。

  5. [アクション] で、[推論を開始] を選択し、以下を実行します。

    1. [入力データ] で、[データアップロードの頻度] として、データのアップロード頻度を定義し、[オフセット遅延時間] として、使用するバッファの量を定義します。

    2. [保存して開始] を選択します。

予測の推論を停止するには
  1. AWS IoT SiteWise コンソールに移動します。

  2. ナビゲーションペインで、[アセット] を選択し、予測を追加するアセットを選択します。

  3. [予測] を選択します。

  4. 停止する予測を選択します。

  5. [アクション] で、[推論を停止] を選択します。

予測定義を追加 (CLI)

新規または既存のアセットモデルで予測定義を定義するには、 AWS Command Line Interface () を使用できますAWS CLI。アセットモデルで予測定義を定義したら、Lookout for Equipment で異常検出を行うために、 のアセットの予測 AWS IoT SiteWise をトレーニングし、推論をスケジュールします。

前提条件

これらのステップを完了するには、アセットモデルと少なくとも 1 つのアセットを作成する必要があります。詳細については、アセットモデルを作成する (AWS CLI)およびアセットを作成する (AWS CLI)を参照してください。

を初めて使用する場合は AWS IoT SiteWise、 CreateBulkImportJob API オペレーションを呼び出してアセットプロパティ値を にインポートする必要があります。これは AWS IoT SiteWiseモデルのトレーニングに使用されます。詳細については、「AWS IoT SiteWise 一括インポートジョブを作成する (AWS CLI)」を参照してください。

予測定義を追加するには
  1. asset-model-payload.json という名前のファイルを作成します。これらの他のセクションのステップに従って、アセットモデルの詳細をファイルに追加しますが、アセットモデルの作成または更新のリクエストは送信しないでください。

  2. 次のコードを追加することによって、Lookout for Equipment 複合モデル (assetModelCompositeModels) をアセットモデルに追加します。

    • Property を、含めるプロパティの ID に置き換えます。これらの ID を取得するには、DescribeAssetModel を呼び出します。

    • を、Lookout for Equipment が AWS IoT SiteWise データにアクセスできるようにする IAM ロールの ARN RoleARNに置き換えます。

    { ... "assetModelCompositeModels": [ { "name": "L4Epredictiondefinition", "type": "AWS/L4E_ANOMALY", "properties": [ { "name": "AWS/L4E_ANOMALY_RESULT", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_RESULT", "unit": "none", "type": { "measurement": {} } }, { "name": "AWS/L4E_ANOMALY_INPUT", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INPUT", "type": { "attribute": { "defaultValue": "{\"properties\": [\"Property1\", \"Property2\"]}" } } }, { "name": "AWS/L4E_ANOMALY_PERMISSIONS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_PERMISSIONS", "type": { "attribute": { "defaultValue": "{\"roleArn\": \"RoleARN\"}" } } }, { "name": "AWS/L4E_ANOMALY_DATASET", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_DATASET", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_MODEL", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_MODEL", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_INFERENCE", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_TRAINING_STATUS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_TRAINING_STATUS", "type": { "attribute": { "defaultValue": "{}" } } }, { "name": "AWS/L4E_ANOMALY_INFERENCE_STATUS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE_STATUS", "type": { "attribute": { "defaultValue": "{}" } } } ] }
  3. アセットモデルを作成、または既存のアセットモデルを更新します。次のいずれかを行います:

    • アセットモデルを作成するには、次のコマンドを実行します。

      aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
    • 既存のアセットモデルを更新するには、次のコマンドを実行します。asset-model-id を、更新するアセットモデルの ID に置き換えます。

      aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://asset-model-payload.json

コマンドを実行したら、レスポンスに assetModelId に注意してください。

予測をトレーニングして、推論を開始する (CLI)

予測定義が定義されたので、それに基づいてアセットをトレーニングし、推論を開始できます。予測をトレーニングするが、推論を開始しない場合は、予測をトレーニングする (CLI) に進みます。予測をトレーニングして、アセットの推論を開始するには、ターゲットリソースの assetId が必要です。

予測をトレーニングし、推論を開始するには
  1. 以下のコマンドを実行して、assetModelCompositeModelSummariesassetModelCompositeModelId を見つけます。asset-model-idアセットまたはコンポーネントモデルを更新する (AWS CLI) で作成したアセットモデルの ID に置き換えます。

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 次のコマンドを実行して、TrainingWithInference アクションの actionDefinitionId を検索します。asset-model-id を前のステップで使用した ID に置き換え、asset-model-composite-model-id を前のステップで返された ID に置き換えます。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. train-start-inference-prediction.json というファイルを作成し、次のコードを追加して、次のように置き換えます。

    • asset-id をターゲットアセットの ID に

    • action-definition-id を TrainingWithInference アクションの ID に

    • StartTime をトレーニングデータの開始に (エポック秒で指定)

    • EndTime をトレーニングデータの終了に (エポック秒で指定)

    • TargetSamplingRate を Lookout for Equipment による後処理後のデータのサンプリングレートに。許可される値は PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H です。

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4ETrainingWithInference\":{\"trainingWithInferenceMode\":\"START\",\"trainingPayload\":{\"exportDataStartTime\":StartTime,\"exportDataEndTime\":EndTime},\"targetSamplingRate\":\"TargetSamplingRate\"},\"inferencePayload\":{\"dataDelayOffsetInMinutes\":0,\"dataUploadFrequency\":\"PT5M\"}}}" } }
  4. 次のコマンドを実行して、トレーニングと推論を開始します。

    aws iotsitewise execute-action --cli-input-json file://train-start-inference-prediction.json

予測をトレーニングする (CLI)

予測定義が定義されたので、それに基づいてアセットをトレーニングできます。アセットの予測をトレーニングするには、ターゲットリソースの assetId が必要です。

予測をトレーニングするには
  1. 以下のコマンドを実行して、assetModelCompositeModelSummariesassetModelCompositeModelId を見つけます。asset-model-idアセットまたはコンポーネントモデルを更新する (AWS CLI) で作成したアセットモデルの ID に置き換えます。

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 次のコマンドを実行して、Training アクションの actionDefinitionId を検索します。asset-model-id を前のステップで使用した ID に置き換え、asset-model-composite-model-id を前のステップで返された ID に置き換えます。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. train-prediction.json というファイルを作成し、次のコードを追加して、次のように置き換えます。

    • asset-id をターゲットアセットの ID に

    • action-definition-id をトレーニングアクションの ID に

    • StartTime をトレーニングデータの開始に (エポック秒で指定)

    • EndTime をトレーニングデータの終了に (エポック秒で指定)

    • (オプション) BucketName を、ラベルデータを保持する Amazon S3 バケットの名前に

    • (オプション) Prefix を、Amazon S3 バケットに関連付けられたプレフィックスに。

    • TargetSamplingRate を Lookout for Equipment による後処理後のデータのサンプリングレートに。許可される値は PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H です。

      注記

      バケット名とプレフィックスの両方を含めるか、どちらも含めないでください。

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4ETraining\": {\"trainingMode\":\"START\",\"exportDataStartTime\": StartTime, \"exportDataEndTime\": EndTime, \"targetSamplingRate\":\"TargetSamplingRate\"}, \"labelInputConfiguration\": {\"bucketName\": \"BucketName\", \"prefix\": \"Prefix\"}}}" } }
  4. 次のコマンドを実行して、トレーニングを開始します。

    aws iotsitewise execute-action --cli-input-json file://train-prediction.json

推論を開始する前に、トレーニングを完了する必要があります。トレーニングのステータスを確認するには、次のいずれかを行います。

  • コンソールから、予測対象のアセットに移動します。

  • から AWS CLI、 trainingStatusプロパティpropertyIdBatchGetAssetPropertyValueを使用して を呼び出します。

予測の推論を開始または停止する (CLI)

予測がトレーニングされたら、推論を開始して、Lookout for Equipment にアセットのモニタリングを開始するように指示できます。推論を開始または停止するには、ターゲットリソースの assetId が必要です。

推論を開始するには
  1. 以下のコマンドを実行して、assetModelCompositeModelSummariesassetModelCompositeModelId を見つけます。asset-model-idアセットまたはコンポーネントモデルを更新する (AWS CLI) で作成したアセットモデルの ID に置き換えます。

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 次のコマンドを実行して、Inference アクションの actionDefinitionId を検索します。asset-model-id を前のステップで使用した ID に置き換え、asset-model-composite-model-id を前のステップで返された ID に置き換えます。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. start-inference.json というファイルを作成し、次のコードを追加して、次のように置き換えます。

    • asset-id をターゲットアセットの ID に

    • action-definition-id を推論開始アクションの ID に

    • Offset を、使用するバッファの量に

    • Frequency を、データがアップロードされる頻度に

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\": {\"inferenceMode\":\"START\",\"dataDelayOffsetInMinutes\": Offset, \"dataUploadFrequency\": \"Frequency\"}}" }}
  4. 次のコマンドを実行して、推論を実行します。

    aws iotsitewise execute-action --cli-input-json file://start-inference.json
推論を停止するには
  1. 以下のコマンドを実行して、assetModelCompositeModelSummariesassetModelCompositeModelId を見つけます。asset-model-idアセットまたはコンポーネントモデルを更新する (AWS CLI) で作成したアセットモデルの ID に置き換えます。

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 次のコマンドを実行して、Inference アクションの actionDefinitionId を検索します。asset-model-id を前のステップで使用した ID に置き換え、asset-model-composite-model-id を前のステップで返された ID に置き換えます。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. stop-inference.json というファイルを作成し、次のコードを追加して、次のように置き換えます。

    • asset-id をターゲットアセットの ID に

    • action-definition-id を推論開始アクションの ID に

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\":{\"inferenceMode\":\"STOP\"}}" }}
  4. 次のコマンドを実行して、推論を停止します。

    aws iotsitewise execute-action --cli-input-json file://stop-inference.json