
拓海先生、最近『Maximum Correntropy Unscented Filter』という論文を耳にしました。うちの現場でもセンサーが時々おかしな値を出して困っているのですが、これは要になる技術でしょうか。

素晴らしい着眼点ですね!大丈夫、一緒に整理すれば必ずできますよ。結論だけ先に言うと、この論文は『センサーなどが時々出す非常に大きな外れ値(インパルスノイズ)に強く状態推定を行う方法』を提案しているんです。

要するに、普段のノイズなら今のカルマンフィルタでいいけれど、ときどきガツンと外れる値が来る場合に現場で使えるという理解でいいですか。

その通りですよ。少し背景を整理しますね。まず従来よく使われるのはカルマンフィルタの発展であるUnscented Kalman Filter (UKF)(Unscented Kalman Filter、略称 UKF、非線形状態推定手法)で、これは通常のガウス的な誤差には強いです。

ただ、うちの設備ではたまに突発的に電圧が飛んで変な値が出るんです。これがいわゆるインパルスノイズですね。これを受けると推定がぐちゃっとなる。これって要するに『突発的な外れ値に強いフィルタ』ということ?

まさにそうです。論文は二つの考えを組み合わせています。一つはUnscented Transformation (UT)(Unscented Transformation、略称 UT、非線形性を高次で近似する手法)で、非線形を丁寧に扱うこと。もう一つはMaximum Correntropy Criterion (MCC)(Maximum Correntropy Criterion、略称 MCC、外れ値に強い誤差評価基準)を用いて後処理をロバスト化することです。

分かりました。導入するとして、投資対効果はどう見るべきでしょう。現場の人間にとって運用は難しくなりませんか。

良い視点ですね。要点を三つにまとめます。第一に、性能改善は『外れ値が頻繁に起きる環境』で顕著に出るということ。第二に、実装は既存のUKFに近く、計算負荷は増えるが現代の組込みやサーバで十分対処可能であること。第三に、現場運用はパラメータ(カーネル幅)だけ管理すればよく、運用負担は限定的であることです。

ありがとうございます。ところで実際の切り替えはどのタイミングで判断すればいいですか。テストはどの程度やれば安心できますか。

ここも三点だけ押さえましょう。第一に、まず現場のログで外れ値の頻度と振幅を定量化してください。第二に、オフラインで従来UKFとMCUFを比較し、平均誤差だけでなく外れ値時の最大誤差を評価してください。第三に、試験運用は短期間で良いが、外れ値の再現性を確認するため実環境のピーク時を含めるべきです。

実務的にはパラメータを外部から調整する仕組みで行けそうですね。これで社内の反対を抑えられる気がします。最後に、私の理解で論文の要点を整理すると……。

素晴らしい締めですね!どうぞ自分の言葉でお願いします。

要は、従来のUKFが得意な普段の誤差はそのまま維持しつつ、稀に発生する大きな外れ値に対してはMCCという評価を使って耐性を付けたフィルタである、だから外れ値が問題の現場には投資する価値があると理解しました。
