【要約】ρ=0.998 の壁 — 百円台の 8-bit マイコンに 2D マハラノビス距離を乗せて、ベアリング劣化を聴く [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
著者は、安価な8-bitマイコンでのベアリング検知において、高いデータ相関による数値計算の破綻に直面した。
- ・2軸の振動データの相関がρ=0.998と極めて高く、共分散行列がほぼ特異となる。
- ・逆行列の要素が1.5×10⁶オーダーに跳ね上がり、16-bit整数演算の範囲を超える。
- ・多重共線性により、計算過程でノイズが過剰に増幅される数値悪条件が発生する。
// Approach
著者は、数値的安定性を確保しつつ、リソースの限られたマイコンで動作させるために以下の手法を採った。
- ・対角正則化(Tikhonov regularization)を導入し、共分散行列に微小なεを加える。
- ・係数が16-bit signedに収まるよう、εを調整して行列の条件数を改善する。
- ・ハードウェア乗算器がない環境のため、ソフトウェアによる右シフト累積を用いた乗算ルーチンを実装する。
- ・計算精度と負荷のトレードオフとして、32-bit累算と48-bit累算の2パターンを検討する。
// Result
著者は、計算精度とCPU負荷のトレードオフに基づく設計指針を明らかにした。
- ・32-bit累算:異常判定一致率は77.46%だが、誤報(False Positive)はゼロで運用が安定する。
- ・48-bit累算:一致率は99.72%に向上し、異常の検出遅延も解消される。
- ・いずれの構成も、PIC16F1503上で極めて低いCPU負荷(0.035%)で動作可能である。
Senior Engineer Insight
> 現場では計算量よりも統計知識の不足が設計の制約となる。本記事は、産業用途で最重要となる「誤報を出さない」要件に対し、正則化とビット幅の選択でどう向き合うかを示している。低コストな8-bit MCUでも、適切な数学的アプローチがあれば、レガシー設備の高度な監視が可能であることを証明した。極めて実践的な知見である。