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

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

Accepted Answer

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

More Answers (1)

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

Community Treasure Hunt

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

Start Hunting!