MATLAB Answers

0

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

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

  0 Comments

Sign in to comment.

2 Answers

Answer by Hirokazu Tanaka on 6 Sep 2018
 Accepted Answer

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

  0 Comments

Sign in to comment.


Answer by Tohru Kikawada on 6 Sep 2018

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

  0 Comments

Sign in to comment.