removing outlier from data

12 ビュー (過去 30 日間)
Mayssa Chouat
Mayssa Chouat 2022 年 11 月 11 日
コメント済み: Mayssa Chouat 2022 年 11 月 18 日
Hi everyone
I'm trying to remove outliers from a vector of data in this way:
each 100 elemnts of the vector has to be filtered separatly from the others: from 1 to100, from 101-2001 and so on.
I tried it using B=rmoutliers(A,movmean,100) but I'm not quiet sure what does the 100-element Window exactly do. Does it move the way I described it above ?
Thank u in advance


Chris 2022 年 11 月 11 日
編集済み: Chris 2022 年 11 月 11 日
It's a sliding window. From the text in the function:
% B = RMOUTLIERS(A,..., MOVMETHOD, WL) uses a moving window method to
% determine contextual outliers instead of global outliers. MOVMETHOD can
% be 'movmedian' or 'movmean'.
You'll probably have to write your own function to divide the vector into chunks like you want. It's easy enough with a for loop. Something like:
for idx = 1:100:numel(vec)/100
chunk = vec(idx:idx+100);
% chunk(isoutlier(chunk)) = nan; one option
% filtered(idx:idx+100) = chunk;
filtered(idx:idx+100) = filloutliers(chunk, 'linear');
  1 件のコメント
Mayssa Chouat
Mayssa Chouat 2022 年 11 月 18 日
Thank u so much


その他の回答 (1 件)

Image Analyst
Image Analyst 2022 年 11 月 11 日
From the help:
B = rmoutliers(A,movmethod,window) detects local outliers using a moving window mean or median with window length window. For example, rmoutliers(A,"movmean",5) defines outliers as elements more than three local standard deviations from the local mean within a five-element window.
Seems pretty clear and explicit to me. What didn't you understand? Your signal might move all over the place and the rmoutliers() when used in that way, only looks in a certain window around the current point to determine what is or is not an outlier.
  1 件のコメント
Mayssa Chouat
Mayssa Chouat 2022 年 11 月 18 日
Thank u



Help Center および File ExchangeFilter Analysis についてさらに検索




Community Treasure Hunt

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

Start Hunting!

Translated by