コンテンツにスキップ

Anomaly Detectionコネクタ

Anomaly Detectionコネクタは、機械学習を使用してデータストリーム内の異常を検出します。

コネクタタイプ: MeddleAnomalyDetect

アルゴリズム: Isolation Forest

{
"type": "MeddleAnomalyDetect",
"config": {
"algorithm": "IsolationForest",
"parameterKeys": ["temperature", "pressure"],
"iforestConfig": {
"numTrees": 100,
"subsampleSize": 256,
"anomalyRatio": 0.05,
"retrainEvery": 50,
"windowSize": 1000
}
}
}
  • algorithm: IsolationForest(現在サポートされている唯一のアルゴリズム)
  • parameterKeys: 分析するペイロードキーの配列
  • iforestConfig: Isolation Forest固有の設定
  • numTrees: フォレスト内のツリー数(デフォルト:100)
  • subsampleSize: 各ツリーのサンプルサイズ(デフォルト:256)
  • anomalyRatio: 予想される異常の比率(デフォルト:0.05 = 5%)
  • retrainEvery: Nサンプルごとにモデルを再トレーニング(デフォルト:50)
  • windowSize: トレーニングウィンドウサイズ(デフォルト:1000)
  1. トレーニングフェーズ: モデルを構築するために初期データを収集
  2. 検出フェーズ: 新しいデータポイントに異常スコアを付ける
  3. 再トレーニング: 新しいデータで定期的にモデルを更新
  4. 出力: ペイロードにanomaly_scoreis_anomalyを追加

入力:

{
"temperature": 25.5,
"pressure": 101.3
}

出力:

{
"temperature": 25.5,
"pressure": 101.3,
"anomaly_score": 0.42,
"is_anomaly": false
}

異常検出:

{
"temperature": 95.0,
"pressure": 150.0,
"anomaly_score": 0.89,
"is_anomaly": true
}
  1. 予知保全 - 故障前に機器の異常を検出
  2. 品質管理 - 欠陥製品を特定
  3. プロセス監視 - 異常なプロセス動作を検出
  4. セキュリティ - 異常なシステム動作を特定

anomalyRatiosubsampleSizeを増やす:

{
"anomalyRatio": 0.1,
"subsampleSize": 512
}

anomalyRatioを減らし、windowSizeを増やす:

{
"anomalyRatio": 0.01,
"windowSize": 2000
}

retrainEveryを減らす:

{
"retrainEvery": 25
}
  1. 関連パラメータを選択 - 意味のあるメトリクスのみを含める
  2. トレーニング期間を許可 - モデルは学習するために初期データが必要
  3. 異常比率を調整 - ドメインに合わせて適応
  4. 誤検知を監視 - 誤アラームが多すぎる場合はパラメータを調整
  5. アラートと組み合わせる - 通知のためにAlertコネクタと使用
OpcuaReader → AnomalyDetect → Trigger → Alert
InfluxDb2Writer
  1. センサーデータを読み取る
  2. 異常を検出
  3. is_anomaly == trueでトリガー
  4. アラートを送信してデータベースに保存
  • Trigger - 異常に対応
  • Alert - 通知を送信
  • Filter - 異常をフィルタリング