ユニット 8 / 9

予知保全

利益:

  • AIによる特徴抽出により、振動・温度データから故障予兆を解析可能
  • AI の助けを借りて、しきい値ベースのシンプルな機械学習異常検出アプローチを設計する能力
  • 誤警報 (誤検知) と見逃した障害 (誤検知) のバランスとメンテナンスの決定を検証する機能

生産ラインでのベアリングの予期せぬ故障は、数時間のダウンタイム、注文の欠落、そして場合によっては付随的損害につながります。従来のメンテナンスは、故障時メンテナンス (故障したときに修理する - 最も高価な驚き) と定期メンテナンス (予定通りに交換する - 多くの場合時期尚早で無駄が多い) の 2 つの極端な状態で停止します。予知保全は、機械の実際の状態を常に測定し、故障を予測し、適切なタイミングで介入するという 3 番目の方法を開きます。振動、温度、電流、音などの信号の変化は、数週間前に故障を示します。 AI はここで強力です。信号から特徴を抽出し、異常を検出し、残りの寿命を推定します。しかし、誤報が 1 つあると不必要なダウンタイムが発生し、障害が 1 つ見逃されると災害が発生します。しきい値と決定バランスはエンジニアの責任です。この単元では、AI を使用して予知保全を設定し、その決定を検証する方法について説明します。

なぜ振動と温度なのか?

回転機械の故障は特徴的な痕跡を残します。ベアリングが摩耗し、ギアに亀裂が入り、シャフトのバランスが崩れると、振動スペクトルの特定の周波数でエネルギーが増加します。温度は、摩擦と負荷の増加を示す遅いですが信頼できる指標です。これらの信号から意味のある特徴を抽出します。

属性

それは何と言っていますか

どっちの故障?

RMS(実効値)

一般的な振動エネルギー

全体的な劣化、アンバランス

ピーク

突然の打撃

ベアリングの欠損、ノッチ

クレストファクター(ピーク/RMS)

パルス内容

ベアリングの早期故障

尖度

分布の「急激さ」

パルス障害の症状

支配周波数 (FFT)

エネルギーが収集される周波数

特定のコンポーネントの障害

重要なアイデア: 生の信号を調べる代わりに、障害に敏感な機能を監視します。 AI はこれらの属性を計算するコードをすばやく作成します。

import numpy as npdef jitter_attributes(signal, fs): """signal: 加速度シーケンス、fs: サンプリング周波数 (Hz)。""" rms = np.sqrt(np.mean(signal**2)) ピーク = np.max(np.abs(signal)) クレスト = ピーク / rms if rms > 0 else 0 # 尖度 (4 次モーメント /分散^2) 平均 = np.mean(信号) 尖度 = np.mean((信号 - 平均)**4) / (np.var(信号)**2 + 1e-12) # 主周波数 (FFT) スペクトル = np.abs(np.fft.rfft(信号)) 周波数 = np.fft.rfftfreq(len(信号), 1/fs) dominant_f = 周波数[np.argmax(spectrum)] return {"rms": rms、"peak": ピーク、"crest": 頂点、"kurtosis": 尖度、"dominant_frequency": dominant_f}

ヒント: AI に特徴を抽出するときは、必ずサンプリング周波数 (fs) と信号の継続時間を指定してください。 FFT 分解能とナイキスト制限はそれらに依存します。 fs が指定されていない場合、主周波数が誤って解釈されます。さらに、正常なマシンから「ベースライン」を収集しない限り、しきい値は意味を持ちません。

閾値ベースおよび学習ベースの検出

基本的なアプローチは 2 つあります。

しきい値ベース: 属性の特定の制限 (RMS など) を超えると、アラームが生成されます。シンプルで透明性があり、説明しやすい。しかし、しきい値を正しく設定するのは難しく、一次元的です。

学習ベース (異常検出): 正常な動作データから「正常」を学習し、そこからの逸脱をマークします。多次元パターンを捕捉しますが、より多くのデータが必要となり、「ブラック ボックス」になるリスクがあります。

import numpy as npdef z_score_anomali(value,baseline_avg,baseline_std,threshold=3.0): """単純な統計的異常: ベースラインから標準偏差は何個離れていますか?""" z = (value - Baseline_avg) / (baseline_std + 1e-12) return abs(z) > Threshold, z# 例: 正常なマシンの RMS 平均 0.8、みましょうstd be 0.1alarm, z = z_score_anomaly(value=1.25,baseline_avg=0.8,baseline_std=0.1)print(f"z-score: {z:.1f},アラーム: {alarm}") # z=4.5 -> アラーム True

この単純な Z スコア アプローチでも、しきい値は正常なマシンの統計から導出され、恣意的に選択されるものではないという原則が示されています。 AI はより高度な方法 (Isolation Forest、オートエンコーダー) を提案する場合がありますが、それらはすべて同じ基礎を持っています。最初に「正常」を定義し、次に偏差を測定します。

誤報とフォルトバランスの欠落

これは、予知保全の中心となるエンジニアリング上の決定です。エラーには 2 種類あり、そのコストは非対称です。

エラーの種類

意味

コスト

誤報(誤検知)

異常がない場合のアラーム

不必要な姿勢、自信の喪失

フォルトの見逃し (偽陰性)

障害発生時にアラームを鳴らさない

思わぬ故障、破損、危険

しきい値を下げると(感度が高すぎると)、見逃される障害は減少しますが、誤った警報は増加します。オペレータはアラームに依存しなくなりました (「アラーム疲労」)。しきい値を増やすと、誤ったアラームは減少しますが、実際の障害を見逃すリスクが増加します。適切なバランスは故障の結果によって決まります。安全上重要なコンポーネント (クレーンのブレーキなど) の故障の見逃しは容認できません。そこでは感度を高く保ち、誤った警報に耐えることになります。

注意: AI によって提案されるしきい値またはモデルの精度 (例: 「95% の精度」) は、クラスの不均衡により誤解を招く可能性があります。誤動作はまれです。 「故障しない」と謳っている機種でも精度は高くても役に立ちません。精度ではなく、誤報率と見逃した故障率によってモデルを評価します。このバランスはプロセスのリスクによって決まります。

意思決定から維持まで: 人間の承認

異常検出は、直接的な「マシンの停止」コマンドではありません。意思決定支援信号です。一般的なフロー: 異常の検出 → 重症度および傾向の評価 → ケアチームの確認 (身体検査、追加測定) → 介入の計画。 AIは傾向と考えられる原因を提案できますが、「このベアリングは交換する必要がある」という判断とタイミングは人間に任されています。なぜなら、人間は生産計画、スペアパーツ、安全性の状況を把握しているからです。

弱いプロンプト / 強いプロンプト

WEAK: 「この振動データは欠陥があるのでしょうか?」 (ベースラインなし、fs なし、コンテキストなし。根拠のないはい/いいえ。) STRONG: 「12 kHz でサンプリングされたベアリングの 1 秒の加速度データがあります。RMS、波高率、尖度、および支配周波数を計算します。30 日間の正常な動作ベースライン (RMS avg=0.8、std=0.1) があります。この測定は、ベースラインから Z スコアを計算し、次に従って解釈します。 3 シグマしきい値。警告を発しますが、これは決定を支援する信号であり、決定的な故障の決定ではないと述べてください。」

ミニケース

メンテナンス エンジニアのエムレは、ファン モーターの振動ベースのモニタリングを設置しています。特徴抽出と Z スコア異常コードを AI に出力します。システムは数日以内にアラームを発します。しかし、エムレがそれをチェックすると、機械は無傷であることが判明しました。それは誤報でした。調査すると、ファンの振動は通常、負荷の変化に応じて変動するのに対し、わずか 2 時間のデータでベースラインを確立したことに気づきました。さまざまな負荷条件をカバーするためにベースラインを 1 週間に延長し、誤ったアラームが停止されます。その後、波高率がゆっくりと上昇傾向にあることに気づきました。これは、RMS がしきい値を超える前の初期のベアリング故障を示します。物理検査によりベアリングの早期摩耗が確認されます。エムレは計画メンテナンスでベアリングを交換しており、予期せぬ停止は発生していません。 AI が属性と異常を迅速に計算しました。しかし、ベースラインの品質と傾向の解釈、つまり誤報を排除し、実際の障害を早期に発見することは、エンジニアの仕事になりました。

よくある間違い

  • 正常なマシンから適切/代表的なベースラインを収集せずに、しきい値を設定します。
  • サンプリング周波数を指定せずに FFT/支配周波数を解釈します。
  • モデルを「正確」に評価し、まれに誤動作が発生した場合に誤解を招く結果が得られる。
  • プロセスのリスクとは無関係に、しきい値を任意に選択します。
  • 異常信号を直接の停止コマンドと誤解し、人間による検証を回避します。
  • 単一の指標に注目し、トレンド (緩やかな上昇) を無視します。

要約すると

  • 予知保全は機械の実際の状態を測定し、故障を予測します。
  • RMS、波高、尖度、支配周波数などの特徴が振動/温度から抽出されます。
  • しきい値と異常の検出は、正常なマシンのベースライン統計から得られます。
  • 誤報と見逃した障害のバランスは、プロセスのリスクに応じて調整されます。
  • まれな障害では、「正確さ」は誤解を招きます。誤警報/ミス率が使用されます。
  • 異常は意思決定を支援する信号です。ケアの決定とタイミングは本人にあります。

アプリケーションタスク

振動または温度の時系列 (健全なベース + 徐々に劣化するセクション) を検索またはシミュレートします。ベースラインから AI までの特徴抽出 (RMS、山、尖度) および Z スコア異常検出コードを出力します。次に、(1) 健全なセクションのみからベースラインを設定し、サンプリング頻度を指定します。(2) 2 シグマと 4 シグマのしきい値を試し、誤警報と見逃した障害の数がどのように変化するかを比較します。(3) 単一の測定値の代わりに属性の傾向をプロットし、早期警告が得られるかどうかを確認します。シナリオのリスクにどのしきい値が適切であるかを説明し、そのしきい値を選択した理由を正当化します。