メインコンテンツまでスキップ

予測分析(機械学習)

目次​


概要​

予測分析画面は、時系列タグデータを学習して将来値を予測し、異常値(異常診断)を検知します。オペレーターがGUIで学習区間・サンプリング周期・アルゴリズムを選択するだけで、結果をチャートと表で即座に確認できます。

この画面は次の分析に使用します。

  • 今後N時点のタグ値の予測(需要予測・生産量予測など)
  • 過去データから統計的に外れた異常値の検知
  • アラームルールのしきい値を決めるための基準分析

パス: 現在の統合サイドバーには標準メニューとして表示されない場合があります。内部URLは /forecast/index で、画面タイトルは 機械学習 です。

本ドキュメントは予測・異常診断の付加画面について説明します。左側メニューを基準とした運用フローは コンソールナビゲーションと共通画面 を先にご参照ください。


画面構成​

┌──────────────────────────────────────────────────────────────────┐
│ 🧠 기계학습 │ ← ① 상단
├─────────────────────┬────────────────────────────────────────────┤
│ │ │
│ 📄 양식 │ 📈 기계학습 결과 │
│ ───────────────── │ ────────────────────────────────────────│
│ ◯ 대상 태그 선택 │ [학습 데이터] [이상진단 건수] [실행 시간] │ ← 요약 카드
│ • 태그명 입력 │ │
│ │ ┌──────────────────────────────────────┐ │
│ ◯ 데이터 구간 │ │ │ │
│ • 학습 구간 (날짜) │ │ 결과 차트 (520px) │ │
│ • 샘플링 주기 │ │ │ │
│ │ └──────────────────────────────────────┘ │
│ ◯ 기계학습 속성 │ │
│ • 예측 알고리즘 │ ◯ 예측 데이터 (테이블) │
│ • 예측 갯수 │ ◯ 이상진단 데이터 (테이블) │
│ • 이상진단 알고리즘 │ │
│ • 개연성 │ │
│ │ │
│ [🚀 기계학습 시작] │ │
└─────────────────────┴────────────────────────────────────────────┘
領域位置表示
① 上部全幅ページタイトル
② 左側col-lg-3フォーム(入力フォーム) — 4 fieldset + 開始ボタン
③ 右側col-lg-9機械学習の結果 — サマリーカード3種 + チャート + 2つの結果テーブル

上部 — ページタイトル​

項目表示
ページタイトル🧠 「機械学習」

左側 — フォーム(入力フォーム)​

左側パネルのフォームは4つのグループ(<fieldset>)で構成されます。

1) 対象タグの選択​

入力name幅placeholder説明
タグ名tag_name250px(青ボーダー2px)「タグ名を入力」登録済みタグ一覧からオートコンプリートで選択。選択と同時に hidden フィールド tag_id に保存

入力欄の右側には 🧭 アイコンと「機械学習を実行するタグを選択してください。」という案内文が表示されます。

2) データ区間​

入力name幅説明
学習区間learning_time250px(中央揃え、太字)開始~終了日時。クリックすると日付範囲選択が表示。フォーム送信時に hidden フィールド learning_date_from / learning_date_to で送信
サンプリング周期term200pxセレクター — 「サンプリング周期」オプション(例: 1_MIN / 5_MIN / 30_MIN / 1_HOUR / 1_DAY などシステムに定義された周期リスト)

サンプリングとは?​

オプション意味
原本(RAW)すべてのデータポイントをそのまま学習 — データ量が多く変動の速いタグに
サンプリング(スナップショット)一定周期で代表値1つを抽出して学習 — 長期間の学習・計算コストを削減

hidden セレクターにより sampling="LAST" が既定で設定されます(最後の値を代表値として使用)。

3) 機械学習プロパティ​

予測アルゴリズム(forecast_algorithm)​

オプションラベル特性
LINEAR_REGRESSION(既定)Linear regression単純な線形トレンド — 高速で解釈が容易
ARIMAAuto-regressive Integrated Moving Average時系列の自己相関・季節性を活用
SMO_REGSupport vector machine for regression非線形パターン、ノイズに強い
GAUSSIAN_PROCESSESStochastic process確率的予測+不確実性の推定

予測件数(forecast_count)​

入力幅説明
テキスト入力200px(右揃え)予測する結果件数(タイムスタンプ単位)

例: サンプリング周期 1_HOUR + 予測件数 24 = 今後24時間の予測

異常診断アルゴリズム(abnomal_algorithm)​

オプションラベル特性
EGADS(既定)Seasonal-naive-based季節性を反映、運用データに一般的
DBSCANCluster-basedクラスタから外れる点を異常値として判定
GAUSS_BASEDStatistical-based正規分布に基づく統計的異常値検知
HIL_OUTDistance-based距離ベースの異常値

確度フィルタ(probability_filter)​

入力幅意味
テキスト入力200px(右揃え)0~1のしきい値。確度がこの値以上のデータのみを異常データと判定

例: 0.95 を入力すると、確度95%以上の強い異常値のみを検知します。値が小さいほど多くの異常値を検出しますが、誤検知が増えます。

4) 機械学習開始ボタン​

ボタン幅動作
🚀 機械学習開始250px(青)入力を検証したうえでバックエンドに学習を要求。実行中は右側チャート領域に進行状況を表示。完了すると結果チャートと2つのテーブルが表示される

右側 — 機械学習の結果​

サマリーカード3種​

チャート上部の横型3分割カード(total_ml_co)。

カードID表示
学習データresult_learning_count学習に使用したデータポイント数
異常診断件数result_abnomal_count検知した異常値の件数
実行時間result_text学習+予測処理に要した時間

実行前はすべて - と表示されます。実行直後に自動で値が入ります。

結果チャート​

チャート領域(data_chart、幅100% × 高さ520px)に次の内容が1画面で描画されます。

シリーズ意味
学習区間の実測値入力した学習期間の元の時系列
予測値学習後に予測した将来N時点
予測上限(LIMIT_MAX)予測信頼区間の上限
予測下限(LIMIT_MIN)予測信頼区間の下限
異常値マーカー異常診断で検知した時点を個別に表示

チャートが空の場合は案内文が表示されます。

🤖 [機械学習イラスト]

対象タグを選択したうえで、機械学習を開始してください。

予測データテーブル​

<fieldset> の 予測データ ラベルの下のテーブル(forecast_data_table)。

カラム幅表示
No.60px行番号
タイムスタンプ200px予測時点
予測値自動アルゴリズムが算出した予測値
WEIGHT自動予測の重み(アルゴリズムごとに意味が異なる)
LIMIT_MIN自動予測下限
LIMIT_MAX自動予測上限

異常診断データテーブル​

<fieldset> の 異常診断データ ラベルの下のテーブル(abnomal_data_table)。

カラム幅表示
No.60px行番号
タイムスタンプ200px異常値が検知された時点
異常診断値200pxその時点の実測値
確度(PROBABILITY)自動異常値の確信度(0~1、1に近いほど強い異常値)

予測・異常診断アルゴリズム選択ガイド​

運用データに適したアルゴリズムを選ぶ際の参考にしてください。

予測アルゴリズム​

データ特性推奨アルゴリズム
単調な増加/減少トレンドLINEAR_REGRESSION
日次/週次の繰り返しパターンARIMA
非線形でノイズが大きいデータSMO_REG
予測の不確実性も併せて確認したい場合GAUSSIAN_PROCESSES

異常診断アルゴリズム​

データ特性推奨アルゴリズム
季節性のある一般的な運用データEGADS(既定)
多次元クラスタ分析が適する多変量DBSCAN
正規分布に近い安定したデータGAUSS_BASED
点間の距離ベース(大域/局所の異常)HIL_OUT

確度フィルタガイド​

値効果
0.5弱い異常値まで検知(誤検知の可能性 ↑)
0.8一般的な運用に適する
0.95強い異常値のみ検知(確実な異常のみ)
0.99非常に強い異常値のみ(誤検知はほぼなし、見逃しの可能性 ↑)

活用シナリオ​

シナリオ設定例
モーター温度の24時間予測タグ=MOTOR-001.TEMP / 学習7日 / サンプリング1時間 / LINEAR_REGRESSION / 予測24件
エネルギー消費の1週間予測タグ=POWER.kWh / 学習30日 / サンプリング1時間 / ARIMA / 予測168件
品質測定値の異常値検知タグ=QUALITY.SCORE / 学習14日 / サンプリング5分 / EGADS / 確度 0.9
振動センサーの異常検出タグ=VIB-001.RMS / 学習7日 / サンプリングRAW / DBSCAN / 確度 0.95
アラームしきい値の決定安定運用1週間を学習 → GAUSS_BASED の LIMIT_MAX をアラームしきい値として採用

よくある質問​

Q. 学習を開始しても結果がすぐに出ません。 A. 学習区間が長い場合やサンプリング周期が短い場合は時間がかかります。初回は学習区間を1~3日+サンプリング周期1時間程度に軽く設定して、所要時間を計測してください。

Q. 予測値が平坦すぎます。 A. 学習アルゴリズムが LINEAR_REGRESSION の場合は単調なトレンドのみを捉えます。周期性のあるデータであれば ARIMA に変更してみてください。

Q. 異常値が多すぎる/少なすぎるのですが。 A. 確度フィルタ の値を調整してください。多すぎる場合は0.9~0.95に上げ、少なすぎる場合は0.5~0.7に下げてください。

Q. 学習区間が短くてはいけませんか? A. 学習区間が短すぎると、モデルが十分なパターンを学習できません。一般的には 予測件数の10倍以上 を学習区間として設定することを推奨します。

Q. 結果テーブルのWEIGHTカラムはどういう意味ですか? A. アルゴリズムによって異なります。回帰モデルでは予測の重み、確率モデルでは信頼度の尺度として使用されます。一般のオペレーターは LIMIT_MIN/LIMIT_MAX の信頼区間に注目していただければ十分です。

Q. 結果を他の人に渡したいのですが。 A. チャートはチャートのダウンロードアイコンからPNG画像として、テーブルはブラウザの表コピーまたは右クリックメニューからコピーしてご利用ください。(CSVダウンロードボタンは現在無効です)

Q. 同じタグで複数のアルゴリズムを比較したいです。 A. 各アルゴリズムで1回ずつ実行し、チャートのPNGを保存したうえで外部ツールで並べて比較してください。異常診断アルゴリズムでは EGADS↔DBSCAN の比較がよく使われます。

Q. 予測結果をアラームルールのしきい値として使用できますか? A. はい。安定した学習結果の LIMIT_MAX/LIMIT_MIN を アラーム のEQLアラームしきい値に移して使用すれば、統計ベースのしきい値を自動化できます。

Q. 学習結果を自動でアラームバンドに反映できますか? A. はい。フロー の flow_update_tag_alarm_band_numeric ノードを結線して自動化できます。


関連画面​

  • データポイント — トレンド画面で元データを可視化して確認
  • アラーム — 学習結果のしきい値をアラームルールへ反映
  • 日次統計 — サイト・ライン・設備別の比較分析
  • フロー — 学習結果を自動適用する自動化構成