

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Aktifkan deteksi anomali pada sensor aset
<a name="anom-detection-sensors-asset"></a>

## Buat model komputasi ()AWS CLI
<a name="create-computation-model"></a>

Untuk membuat model komputasi, gunakan AWS Command Line Interface ()AWS CLI. Setelah Anda menentukan model komputasi, latih model, dan jadwalkan inferensi untuk melakukan deteksi anomali pada aset di. AWS IoT SiteWise
+ Buat file `anomaly-detection-computation-model-payload.json` dengan konten berikut:

  ```
  {
      "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"
              }
          }
      }
  }
  ```
+ Jalankan perintah berikut untuk membuat model komputasi:

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

## ExecuteAction Persiapan muatan API
<a name="create-action-payload"></a>

 Langkah selanjutnya untuk menjalankan pelatihan dan inferensi dilakukan dengan [ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html)API. Baik pelatihan dan inferensi dikonfigurasi dengan konfigurasi muatan tindakan JSON. Saat menjalankan [ExecuteAction](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ExecuteAction.html)API, muatan tindakan harus diberikan sebagai nilai dengan `stringValue` muatan. 

 Muatan harus benar-benar mematuhi persyaratan API. Secara khusus, nilainya harus berupa **string datar**, tanpa **karakter kontrol** (misalnya, baris baru, tab, atau pengembalian carriage).

Opsi berikut menyediakan dua cara andal untuk memasok muatan tindakan yang valid: 

### Opsi 1: Gunakan file payload bersih
<a name="clean-payload-file"></a>

Prosedur berikut menjelaskan langkah-langkah untuk file payload bersih:

1. Bersihkan file untuk menghapus karakter kontrol.

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

1. Jalankan tindakan dengan file`@=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
   ```

### Opsi 2: String sebaris dengan tanda kutip lolos
<a name="inline-string-quotes"></a>

Langkah-langkah berikut menjelaskan langkah-langkah untuk memasok payload inline, dan menghindari file perantara:
+ Gunakan tanda kutip ganda yang lolos (`\"`) di dalam string JSON.
+ Bungkus seluruh `StringValue=..` ekspresi dalam tanda kutip ganda.

**Example dari muatan tindakan yang lolos:**  

```
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\"}"
```

## Latih model (AWS CLI)
<a name="start-training-cli"></a>

Dengan model komputasi yang dibuat, Anda dapat melatih model terhadap aset. Ikuti langkah-langkah di bawah ini untuk melatih model aset:

1. Jalankan perintah berikut untuk menemukan `AWS/ANOMALY_DETECTION_TRAINING` tindakan. `actionDefinitionId` Ganti `computation-model-id` dengan ID yang dikembalikan pada langkah sebelumnya.

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

1. Buat file bernama `anomaly-detection-training-payload.json` dan tambahkan nilai-nilai berikut:
**catatan**  
 Muatan harus sesuai dengan. [Opsi 1: Gunakan file payload bersih](#clean-payload-file) 

   1. `StartTime`dengan dimulainya data pelatihan, disediakan dalam hitungan detik.

   1. `EndTime`dengan berakhirnya data pelatihan, disediakan dalam hitungan detik.

   1. Anda dapat mengonfigurasi secara opsional[Konfigurasi pelatihan lanjutan](adv-training-configs.md), untuk meningkatkan kinerja model.

      1. (Opsional) `TargetSamplingRate` dengan laju pengambilan sampel data.

      1. (Opsional) `LabelInputConfiguration` untuk menentukan periode waktu ketika perilaku anomali terjadi untuk pelatihan model yang ditingkatkan.

      1. (Opsional) `ModelEvaluationConfiguration` untuk mengevaluasi kinerja model dengan menjalankan inferensi pada rentang waktu tertentu setelah pelatihan selesai.

      1. (Opsional) `ModelMetricsDestination` untuk mengumpulkan data kinerja yang komprehensif (presisi, penarikan, Area Di Bawah Kurva).

   ```
   {
     "trainingMode": "TRAIN_MODEL", 
     "exportDataStartTime": StartTime,
     "exportDataEndTime": EndTime
   }
   ```  
**Example dari contoh muatan pelatihan:**  

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

1. Jalankan perintah berikut untuk memulai pelatihan. Ganti parameter berikut dalam perintah:

   1. `computation-model-id`dengan ID model komputasi target.

   1. `asset-id`dengan ID aset tempat Anda akan melatih modelnya.

   1. `training-action-definition-id`dengan ID `AWS/ANOMALY_DETECTION_TRAINING` tindakan dari Langkah 1.

   ```
   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 dari tindakan eksekusi:**  

   ```
   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. Jalankan perintah berikut untuk memeriksa status proses pelatihan model. Ringkasan eksekusi terbaru menunjukkan status eksekusi (`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. Jalankan perintah berikut untuk memeriksa konfigurasi model terlatih terbaru. Perintah ini menghasilkan output hanya jika setidaknya satu model berhasil dilatih.

   ```
   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. Saat menggunakan `ComputationModel` AssetModelProperty, gunakan [ListComputationModelResolveToResources](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListComputationModelResolveToResources.html)API untuk mengidentifikasi aset dengan tindakan yang dieksekusi.

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

## Mulai dan hentikan pelatihan ulang model ()AWS CLI
<a name="start-stop-retraining-cli"></a>

Setelah pelatihan model awal, Anda dapat mengonfigurasi pelatihan ulang otomatis untuk mengatasi penyimpangan data dan mempertahankan akurasi model dari waktu ke waktu. Penjadwal pelatihan ulang memungkinkan Anda mengatur pembaruan model berkala dengan mode promosi yang dapat dikonfigurasi.

### Mulai pelatihan ulang penjadwal
<a name="start-retraining-scheduler"></a>

1. Jalankan perintah berikut untuk menemukan `AWS/ANOMALY_DETECTION_TRAINING` tindakan. `actionDefinitionId` Ganti `computation-model-id` dengan ID yang dikembalikan dari pembuatan model komputasi Anda.

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

1. Buat file bernama `anomaly-detection-start-retraining-payload.json` dan tambahkan kode berikut. Ganti parameter dengan nilai seperti yang dijelaskan.
**catatan**  
 Muatan harus sesuai dengan. [Opsi 1: Gunakan file payload bersih](#clean-payload-file) 

   1. `lookbackWindow`dengan jendela data historis yang akan digunakan untuk pelatihan ulang (`P180D`///`P360D``P540D`/`P720D`).

   1. `retrainingFrequency`dengan seberapa sering melatih kembali model (minimum`P30D`, maksimum`P1Y`).

   1. (Opsional) `promotion` dengan mode promosi model (`SERVICE_MANAGED`atau`CUSTOMER_MANAGED`). Default-nya adalah `SERVICE_MANAGED`.

   1. (Opsional) `retrainingStartDate` dengan tanggal mulai untuk jadwal pelatihan ulang, disediakan dalam detik epoch. Memotong waktu ke hari UTC terdekat. Opsional, default ke tanggal saat ini.

   1. Anda dapat mengonfigurasi secara opsional [Konfigurasi pelatihan lanjutan](adv-training-configs.md) untuk meningkatkan kinerja model.

      1. (Opsional) `ModelMetricsDestination` untuk mendapatkan data kinerja yang komprehensif (presisi, recall, Area Under the Curve).

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

1. Jalankan perintah berikut untuk memulai penjadwal pelatihan ulang. Ganti parameter berikut dalam perintah:

   1. `computation-model-id`dengan ID model komputasi target.

   1. `asset-id`dengan ID aset tempat Anda akan melatih modelnya.

   1. `training-action-definition-id`dengan ID `AWS/ANOMALY_DETECTION_TRAINING` tindakan dari Langkah 1.

   ```
   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 Contoh perintah eksekusi tindakan**  

   ```
   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
   ```

### Hentikan penjadwal pelatihan ulang
<a name="stop-retraining-scheduler"></a>

1. Jalankan perintah berikut untuk menemukan `AWS/ANOMALY_DETECTION_TRAINING` tindakan. `actionDefinitionId` Ganti `computation-model-id` dengan ID sebenarnya dari model komputasi yang dibuat sebelumnya.

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

1. Buat file `anomaly-detection-stop-retraining-payload.json` dan tambahkan yang berikut ini:
**catatan**  
 Muatan harus sesuai dengan. [Opsi 1: Gunakan file payload bersih](#clean-payload-file) 

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

1. Jalankan perintah berikut untuk menghentikan penjadwal pelatihan ulang. Ganti parameter berikut dalam perintah:

   1. `computation-model-id`dengan ID model komputasi target.

   1. `asset-id`dengan ID aset tempat Anda akan melatih modelnya.

   1. `training-action-definition-id`dengan ID `AWS/ANOMALY_DETECTION_TRAINING` tindakan dari Langkah 1.

   ```
   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
   ```

## Mulai dan hentikan inferensi ()AWS CLI
<a name="start-stop-inference"></a>

Setelah melatih model, mulailah inferensi. Ini menginstruksikan AWS IoT SiteWise untuk secara aktif memantau aset industri Anda untuk anomali.

### Mulai inferensi
<a name="start-inference"></a>

1. Jalankan perintah berikut untuk menemukan `AWS/ANOMALY_DETECTION_INFERENCE` tindakan. `actionDefinitionId` Ganti `computation-model-id` dengan ID sebenarnya dari model komputasi yang dibuat sebelumnya.

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

1. Buat file `anomaly-detection-start-inference-payload.json` dan tambahkan nilai-nilai berikut:
**catatan**  
 Muatan harus sesuai dengan. [Opsi 1: Gunakan file payload bersih](#clean-payload-file) 

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

   1. `DataUploadFrequency`: Konfigurasikan frekuensi di mana jadwal inferensi berjalan untuk melakukan deteksi anomali. Nilai yang diizinkan adalah:`PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D`.

   1. (Opsional) `DataDelayOffsetInMinutes` dengan offset penundaan dalam hitungan menit. Tetapkan nilai ini antara 0 dan 60 menit.

   1. (Opsional) `TargetModelVersion` dengan versi model untuk mengaktifkan.

   1. (Opsional) Konfigurasikan `weeklyOperatingWindow` dengan konfigurasi shift.

   1. Anda dapat mengonfigurasi [Konfigurasi inferensi lanjutan](advanced-inference-configurations.md) secara opsional.

      1. [Inferensi frekuensi tinggi (5 menit - 1 jam)](advanced-inference-configurations.md#high-frequency-inferencing).

      1. [Inferensi frekuensi rendah (2 jam — 1 hari)](advanced-inference-configurations.md#low-frequency-inferencing).

      1. [Penjadwalan yang fleksibel](advanced-inference-configurations.md#flexible-scheduling).

1. Jalankan perintah berikut untuk memulai inferensi. Ganti parameter berikut dalam file payload.

   1. `computation-model-id`dengan ID model komputasi target.

   1. `asset-id`dengan ID aset tempat model dilatih.

   1. `inference-action-definition-id`dengan ID `AWS/ANOMALY_DETECTION_INFERENCE` tindakan dari Langkah 1.

   ```
   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. Jalankan perintah berikut untuk memeriksa apakah inferensi masih berjalan. `inferenceTimerActive`Bidang diatur ke `TRUE` saat inferensi aktif.

   ```
   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. Perintah berikut mencantumkan semua eksekusi inferensi:

   ```
   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. Jalankan perintah berikut untuk menggambarkan eksekusi individu. Ganti `execution-id` dengan id dari Langkah 5 sebelumnya.

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

### Hentikan inferensi
<a name="stop-inference"></a>

1. Jalankan perintah berikut untuk menemukan `AWS/ANOMALY_DETECTION_INFERENCE` tindakan. `actionDefinitionId` Ganti `computation-model-id` dengan ID sebenarnya dari model komputasi yang dibuat sebelumnya.

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

1. Buat file `anomaly-detection-stop-inference-payload.json` dan tambahkan kode berikut.

   ```
   {
       "inferenceMode": "STOP"
   }
   ```
**catatan**  
 Muatan harus sesuai dengan. [Opsi 1: Gunakan file payload bersih](#clean-payload-file) 

1. Jalankan perintah berikut untuk menghentikan inferensi. Ganti parameter berikut dalam file payload:

   1. `computation-model-id`dengan ID model komputasi target.

   1. `asset-id`dengan ID aset tempat model dilatih.

   1. `inference-action-definition-id`dengan ID `AWS/ANOMALY_DETECTION_INFERENCE` tindakan dari Langkah 1.  
**Example dari perintah stop inferensi:**  

   ```
   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
   ```

## Temukan model komputasi yang menggunakan sumber daya tertentu dalam pengikatan data
<a name="find-computation-models-data-binding"></a>

Untuk membuat daftar model komputasi yang terikat pada sumber daya yang diberikan:
+ **model aset** (ambil semua model komputasi di mana salah satu properti model aset ini terikat).
+ **aset** (ambil semua model komputasi di mana salah satu properti aset ini terikat)
+ **properti model aset** (ambil semua model komputasi di mana properti ini terikat)
+ **properti aset** (ambil semua model komputasi di mana properti ini terikat. Ini bisa untuk tujuan informasi, atau diperlukan ketika pengguna mencoba mengikat properti ini ke model komputasi lain tetapi sudah terikat di tempat lain)

Gunakan [ ListComputationModelDataBindingUsages](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_ListComputationModelDataBindingUsages.html)API untuk mengambil daftar `ComputationModelId` s yang mengambil aset (properti) atau model aset (properti) sebagai pengikatan data.

Siapkan a `request.json` dengan informasi berikut:

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

Gunakan `list-computation-model-data-binding-usages` perintah untuk mengambil model dengan aset atau model aset sebagai binding data.

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