

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

# アセットのセンサーで異常検出を有効にする
<a name="anom-detection-sensors-asset"></a>

## 計算モデルを作成する (AWS CLI)
<a name="create-computation-model"></a>

計算モデルを作成するには、 コマンドラインインターフェイス () AWS を使用しますAWS CLI。計算モデルを定義したら、モデルをトレーニングし、アセットの異常検出を実行するように推論をスケジュールします AWS IoT SiteWise。
+ 次の内容`anomaly-detection-computation-model-payload.json`のファイルを作成します。

  ```
  {
      "computationModelName": "anomaly-detection-computation-model-name",
      "computationModelConfiguration": {
          "anomalyDetection": {
              "inputProperties": "${input_properties}",
              "resultProperty": "${result_property}"
          }
      },
      "computationModelDataBinding": {
          "input_properties": {
              "list": [{
                      "assetModelProperty": {
                          "assetModelId": "asset-model-id",
                          "propertyId": "input-property-id-1"
                      }
                  },
                  {
                      "assetModelProperty": {
                          "assetModelId": "asset-model-id",
                          "propertyId": "input-property-id-2"
                      }
                  }
              ]
          },
          "result_property": {
              "assetModelProperty": {
                  "assetModelId": "asset-model-id",
                  "propertyId": "results-property-id"
              }
          }
      }
  }
  ```
+ 次のコマンドを実行して、計算モデルを作成します。

  ```
  aws iotsitewise create-computation-model \
      --cli-input-json file://anomaly-detection-computation-model-payload.json
  ```

## ExecuteAction API ペイロードの準備
<a name="create-action-payload"></a>

 トレーニングと推論を実行する次のステップは、[ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html) API を使用して実行されます。トレーニングと推論の両方が JSON アクションペイロード設定で設定されます。[ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html) API を呼び出すときは、アクションペイロードを`stringValue`ペイロードの値として指定する必要があります。

 ペイロードは API 要件に厳密に従う必要があります。具体的には、値は**制御文字** (改行、タブ、キャリッジリターンなど) を含まない**フラット文字列**である必要があります。

以下のオプションは、有効なアクションペイロードを提供する 2 つの信頼できる方法を提供します。

### オプション 1: クリーンペイロードファイルを使用する
<a name="clean-payload-file"></a>

次の手順では、クリーンペイロードファイルのステップについて説明します。

1. ファイルをクリーンアップして、コントロール文字を削除します。

   ```
   tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
   ```

1. ファイル を使用して アクションを実行します`@=file://...`。

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=<MODEL_ID> \
       --action-definition-id <ACTION_DEFINITION_ID> \
       --resolve-to assetId=<ASSET_ID> \
       --action-payload stringValue@=file://training-or-inference-action-payload.json
   ```

### オプション 2: エスケープされた引用符を含むインライン文字列
<a name="inline-string-quotes"></a>

次の手順では、ペイロードをインラインで提供し、中間ファイルを回避する手順について説明します。
+ JSON 文字列内でエスケープされた二重引用符 (`\"`) を使用します。
+ `StringValue=..` 式全体を二重引用符で囲みます。

**Example エスケープされたアクションペイロードの :**  

```
aws iotsitewise execute-action \
    --target-resource computationModelId=<MODEL_ID> \
    --action-definition-id <ACTION_DEFINITION_ID> \
    --resolve-to assetId=<ASSET_ID> \
    --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"
```

## モデルのトレーニング (AWS CLI)
<a name="start-training-cli"></a>

計算モデルを作成すると、アセットに対してモデルをトレーニングできます。アセットのモデルをトレーニングするには、次の手順に従います。

1. 次のコマンドを実行して、`AWS/ANOMALY_DETECTION_TRAINING` アクションの `actionDefinitionId` を検索します。を前のステップで返された ID `computation-model-id`に置き換えます。

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. という名前のファイルを作成し`anomaly-detection-training-payload.json`、次の値を追加します。
**注記**  
 ペイロードは に準拠している必要があります[オプション 1: クリーンペイロードファイルを使用する](#clean-payload-file)。

   1. `StartTime` エポック秒で提供されるトレーニングデータの開始。

   1. `EndTime` エポック秒で提供されるトレーニングデータの終了。

   1. オプションで を設定して[高度なトレーニング設定](adv-training-configs.md)、モデルのパフォーマンスを向上させることができます。

      1. (オプション) `TargetSamplingRate`データのサンプリングレート。

      1. (オプション) モデルトレーニングを改善するために異常な動作が発生した期間`LabelInputConfiguration`を指定します。

      1. (オプション) `ModelEvaluationConfiguration` トレーニングの完了後に指定された時間範囲で推論を実行してモデルのパフォーマンスを評価する。

      1. (オプション) 包括的なパフォーマンスデータ (精度、再現率、曲線下面積) を収集`ModelMetricsDestination`します。

   ```
   {
     "trainingMode": "TRAIN_MODEL", 
     "exportDataStartTime": StartTime,
     "exportDataEndTime": EndTime
   }
   ```  
**Example トレーニングペイロードの例:**  

   ```
   {
     "trainingMode": "TRAIN_MODEL",            
     "exportDataStartTime": 1717225200,
     "exportDataEndTime": 1722789360
   }
   ```

1. 次のコマンドを実行してトレーニングを開始します。コマンド内の以下のパラメータを置き換えてください。

   1. `computation-model-id` ターゲット計算モデルの ID を指定します。

   1. `asset-id` モデルをトレーニングするアセットの ID を指定します。

   1. `training-action-definition-id` ステップ 1 の`AWS/ANOMALY_DETECTION_TRAINING`アクションの ID を持つ 。

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-training-payload.json
   ```  
**Example 実行アクションの :**  

   ```
   aws iotsitewise execute-action --target-resource computationModelId=27cb824c-fd84-45b0-946b-0a5b0466d890 --resolve-to assetId=cefd4b68-481b-4735-b466-6a4220cd19ee --action-definition-id e54cea94-5d1c-4230-a59e-4f54dcbc972d --action-payload stringValue@=file://anomaly-detection-training-payload.json
   ```

1. 次のコマンドを実行して、モデルトレーニングプロセスのステータスを確認します。最新の実行概要には、実行ステータス (`RUNNING`/`COMPLETED`/) が表示されます`FAILED`。

   ```
   aws iotsitewise list-executions \
       --target-resource-type COMPUTATION_MODEL \
       --target-resource-id computation-model-id\
       --resolve-to-resource-type ASSET \
       --resolve-to-resource-id asset-id
   ```

1. 次のコマンドを実行して、最新のトレーニング済みモデルの設定を確認します。このコマンドは、少なくとも 1 つのモデルが正常にトレーニングされた場合にのみ出力を生成します。

   ```
   aws iotsitewise describe-computation-model-execution-summary \
       --computation-model-id computation-model-id \
       --resolve-to-resource-type ASSET \
       --resolve-to-resource-id asset-id
   ```

1. `ComputationModel` が AssetModelProperty を使用している場合は、[ListComputationModelResolveToResources](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListComputationModelResolveToResources.html) API を使用して、実行されたアクションを持つアセットを識別します。

   ```
   aws iotsitewise list-computation-model-resolve-to-resources \
       --computation-model-id computation-model-id
   ```

## モデルの再トレーニングを開始および停止する (AWS CLI)
<a name="start-stop-retraining-cli"></a>

初期モデルトレーニングの後、データドリフトに対処し、時間の経過とともにモデルの精度を維持するように自動再トレーニングを設定できます。再トレーニングスケジューラを使用すると、設定可能な昇格モードで定期的なモデル更新を設定できます。

### スケジューラの再トレーニングを開始する
<a name="start-retraining-scheduler"></a>

1. 次のコマンドを実行して、`AWS/ANOMALY_DETECTION_TRAINING` アクションの `actionDefinitionId` を検索します。を計算モデルの作成から返された ID `computation-model-id`に置き換えます。

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. というファイルを作成し`anomaly-detection-start-retraining-payload.json`、次のコードを追加します。説明されているように、パラメータを値に置き換えます。
**注記**  
 ペイロードは に準拠している必要があります[オプション 1: クリーンペイロードファイルを使用する](#clean-payload-file)。

   1. `lookbackWindow` 再トレーニング (`P180D`//`P360D``P540D`/`P720D`) に使用する履歴データウィンドウ。

   1. `retrainingFrequency` でモデルを再トレーニングする頻度 (最小 `P30D`、最大 `P1Y`)。

   1. (オプション) `promotion`とモデル昇格モード (`SERVICE_MANAGED` または `CUSTOMER_MANAGED`)。デフォルトは `SERVICE_MANAGED` です。

   1. (オプション) 再トレーニングスケジュールの開始日`retrainingStartDate`をエポック秒で指定します。時刻を最も近い UTC 日に切り捨てます。オプション。デフォルトは現在の日付です。

   1. オプションで、モデルのパフォーマンスを向上させる[高度なトレーニング設定](adv-training-configs.md)ように を設定できます。

      1. (オプション) `ModelMetricsDestination` 包括的なパフォーマンスデータ (精度、再現率、曲線下面積) を取得します。

   ```
   {
       "trainingMode": "START_RETRAINING_SCHEDULER",
       "retrainingConfiguration": {
           "lookbackWindow": "P180D",
           "promotion": "SERVICE_MANAGED",
           "retrainingFrequency": "P30D",
           "retrainingStartDate": "StartDate"
       }
   }
   ```

1. 次のコマンドを実行して、再トレーニングスケジューラを起動します。コマンド内の以下のパラメータを置き換えてください。

   1. `computation-model-id` ターゲット計算モデルの ID を指定します。

   1. `asset-id` モデルをトレーニングするアセットの ID を指定します。

   1. `training-action-definition-id` ステップ 1 の`AWS/ANOMALY_DETECTION_TRAINING`アクションの ID を持つ 。

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json
   ```  
**Example 実行アクションコマンドの例**  

   ```
   aws iotsitewise execute-action --target-resource computationModelId=27cb824c-fd84-45b0-946b-0a5b0466d890 --resolve-to assetId=cefd4b68-481b-4735-b466-6a4220cd19ee --action-definition-id e54cea94-5d1c-4230-a59e-4f54dcbc972d --action-payload stringValue@=file://anomaly-detection-start-retraining-payload.json
   ```

### スケジューラの再トレーニングを停止する
<a name="stop-retraining-scheduler"></a>

1. 次のコマンドを実行して、`AWS/ANOMALY_DETECTION_TRAINING` アクションの `actionDefinitionId` を検索します。を、前に作成した計算モデルの実際の ID `computation-model-id`に置き換えます。

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. ファイルを作成し`anomaly-detection-stop-retraining-payload.json`、以下を追加します。
**注記**  
 ペイロードは に準拠している必要があります[オプション 1: クリーンペイロードファイルを使用する](#clean-payload-file)。

   ```
   {
       "trainingMode": "STOP_RETRAINING_SCHEDULER"
   }
   ```

1. 次のコマンドを実行して、再トレーニングスケジューラを停止します。コマンド内の以下のパラメータを置き換えてください。

   1. `computation-model-id` ターゲット計算モデルの ID を指定します。

   1. `asset-id` モデルをトレーニングするアセットの ID を指定します。

   1. `training-action-definition-id` ステップ 1 の`AWS/ANOMALY_DETECTION_TRAINING`アクションの ID を持つ 。

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id training-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-stop-retraining-payload.json
   ```

## 推論の開始と停止 (AWS CLI)
<a name="start-stop-inference"></a>

モデルをトレーニングしたら、推論を開始します。これにより、 に異常がないか産業用アセットをアクティブにモニタリング AWS IoT SiteWise するように指示します。

### 推論を開始する
<a name="start-inference"></a>

1. 次のコマンドを実行して、`AWS/ANOMALY_DETECTION_INFERENCE` アクションの `actionDefinitionId` を検索します。を、前に作成した計算モデルの実際の ID `computation-model-id`に置き換えます。

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. ファイルを作成し`anomaly-detection-start-inference-payload.json`、次の値を追加します。
**注記**  
 ペイロードは に準拠している必要があります[オプション 1: クリーンペイロードファイルを使用する](#clean-payload-file)。

   ```
   "inferenceMode": "START",
   "dataUploadFrequency": "DataUploadFrequency"
   ```

   1. `DataUploadFrequency`: 異常検出を実行するために推論スケジュールを実行する頻度を設定します。許可される値は `PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D` です。

   1. (オプション) `DataDelayOffsetInMinutes` 遅延オフセットを分単位で指定します。この値を 0～60 分に設定します。

   1. (オプション) アクティブ化`TargetModelVersion`するモデルバージョン。

   1. (オプション) シフト設定`weeklyOperatingWindow`で を設定します。

   1. オプションで を設定できます[高度な推論設定](advanced-inference-configurations.md)。

      1. [高頻度推論 (5 分～1 時間)](advanced-inference-configurations.md#high-frequency-inferencing).

      1. [低頻度推論 (2 時間～1 日)](advanced-inference-configurations.md#low-frequency-inferencing).

      1. [柔軟なスケジューリング](advanced-inference-configurations.md#flexible-scheduling).

1. 推論を開始するには、次のコマンドを実行します。ペイロードファイルの次のパラメータを置き換えます。

   1. `computation-model-id` ターゲット計算モデルの ID を指定します。

   1. `asset-id` モデルがトレーニングされたアセットの ID を指定します。

   1. `inference-action-definition-id` ステップ 1 の`AWS/ANOMALY_DETECTION_INFERENCE`アクションの ID を持つ 。

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id inference-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-inference-payload.json
   ```

1. 次のコマンドを実行して、推論がまだ実行されているかどうかを確認します。推論がアクティブな`TRUE`場合、 `inferenceTimerActive`フィールドは に設定されます。

   ```
   aws iotsitewise describe-computation-model-execution-summary \
       --computation-model-id computation-model-id \
       --resolve-to-resource-type ASSET \
       --resolve-to-resource-id asset-id
   ```

1. 次のコマンドは、すべての推論実行を一覧表示します。

   ```
   aws iotsitewise list-executions \
      --target-resource-type COMPUTATION_MODEL \
      --target-resource-id computation-model-id \
      --resolve-to-resource-type ASSET \
      --resolve-to-resource-id asset-id
   ```

1. 次のコマンドを実行して、個々の実行を記述します。を前のステップ 5 の ID `execution-id`に置き換えます。

   ```
   aws iotsitewise describe-execution \
       --execution-id execution-id
   ```

### 推論を停止する
<a name="stop-inference"></a>

1. 次のコマンドを実行して、`AWS/ANOMALY_DETECTION_INFERENCE` アクションの `actionDefinitionId` を検索します。を、前に作成した計算モデルの実際の ID `computation-model-id`に置き換えます。

   ```
   aws iotsitewise describe-computation-model \
       --computation-model-id computation-model-id
   ```

1. ファイルを作成し`anomaly-detection-stop-inference-payload.json`、次のコードを追加します。

   ```
   {
       "inferenceMode": "STOP"
   }
   ```
**注記**  
 ペイロードは に準拠している必要があります[オプション 1: クリーンペイロードファイルを使用する](#clean-payload-file)。

1. 推論を停止するには、次のコマンドを実行します。ペイロードファイルの次のパラメータを置き換えます。

   1. `computation-model-id` ターゲット計算モデルの ID を指定します。

   1. `asset-id` モデルがトレーニングされたアセットの ID を指定します。

   1. `inference-action-definition-id` ステップ 1 の`AWS/ANOMALY_DETECTION_INFERENCE`アクションの ID を持つ 。  
**Example stop inference コマンドの :**  

   ```
   aws iotsitewise execute-action \
       --target-resource computationModelId=computation-model-id \
       --resolve-to assetId=asset-id \
       --action-definition-id inference-action-definition-id \
       --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json
   ```

## データバインディングで特定のリソースを使用する計算モデルを検索する
<a name="find-computation-models-data-binding"></a>

特定のリソースにバインドされている計算モデルを一覧表示するには:
+ **アセットモデル** (このアセットモデルのプロパティのいずれかがバインドされているすべての計算モデルを取得します）。
+ asset (この**アセット**のプロパティのいずれかがバインドされているすべての計算モデルを取得します)
+ **アセットモデルプロパティ** (このプロパティがバインドされているすべての計算モデルを取得します)
+ **アセットプロパティ** (このプロパティがバインドされているすべての計算モデルを取得します。 これは情報提供を目的としている場合もあれば、ユーザーがこのプロパティを別の計算モデルにバインドしようとしても、既に別の場所にバインドされている場合に必要になる場合もあります）。

[ ListComputationModelDataBindingUsages](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListComputationModelDataBindingUsages.html) API を使用して、アセット (プロパティ) またはアセットモデル (プロパティ) `ComputationModelId`をデータバインディングとして使用する のリストを取得します。

次の情報`request.json`を使用して を準備します。

```
{
  "dataBindingValueFilter": {
    "asset": {
      "assetId": "<string>"
    }
    // OR
    "assetModel": {
      "assetModelId": "<string>"
    }
    // OR
    "assetProperty": {
      "assetId": "<string>",
      "propertyId": "<string>"
    }
    // OR
    "assetModelProperty": {
      "assetModelId": "<string>",
      "propertyId": "<string>"
    }
  },
  "nextToken": "<string>",
  "maxResults": "<number>"
}
```

`list-computation-model-data-binding-usages` コマンドを使用して、アセットまたはアセットモデルをデータバインディングとして持つモデルを取得します。

```
aws iotsitewise list-computation-model-data-binding-usages \
--cli-input-json file://request.json
```