フィルターのクリア

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

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

採用された回答

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

その他の回答 (1 件)

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

カテゴリ

Help Center および File Exchange平滑化とノイズ除去 についてさらに検索

Community Treasure Hunt

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

Start Hunting!