平滑化及び外れ値の削除について

matlab、数学初心者で申し訳ありません。 ある生体データから信号処理を行っております。 データを時系列にプロットしてみたのですが、ノイズが多くまたスパイクも多くあります。 そこでそれらを除去したいと考えております。 しかし、データは滑らかな曲線であり、思うようにいきません。 イメージとしては滑らかな近似曲線よりその残差の標準偏差の3倍以上の値を除去するみたいな、、 このような処理はフィルター処理で行うのでしょうか。また、このようなイメージにマッチする外れ値除去のmatlabコードがあれば教えていただきたいです。 よろしくお願いいたします。

 Respuesta aceptada

Hirokazu Tanaka
Hirokazu Tanaka el 6 de Sept. de 2018

1 voto

異常値を検知する isoutlier 関数 は MATLAB 本体の関数ですしお勧めです。
movmethod — 移動メソッドを 'movmedian'/'movmean' と設定すれば、移動平均からのズレを基準に異常値かどうかを判断します。曲線近似を行うわけではないですが、「残差の標準偏差の3倍以上の値を除去」のイメージに近いかと。参考まで。

Más respuestas (1)

Tohru Kikawada
Tohru Kikawada el 6 de Sept. de 2018

1 voto

Signal Processing Toolboxの 信号の平滑化 をベースにはじめていただくのがよいかもしれません。
スパイクノイズの除去については 信号のスパイクの削除 が、外れ値除去については Hampel 識別子を使用した外れ値の排除 が参考になりそうです。

Preguntada:

el 5 de Sept. de 2018

Respondida:

el 6 de Sept. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!