How to filter out 1sigma data

10 次查看(过去 30 天)
Mekala balaji
Mekala balaji 2017-9-18
Hi,
I have below data:
1.02
1.06
1.10
1.06
1.02
1.05
1.12
1.50
1.01
I want to filter-out the data which is >1sigma values (if 1sigma is standard in Matlab, using that function), if there is no such standard, then 1sigma is by 1sigma mean value.
my desired output:
1.02
1.06
1.10
1.06
1.02
1.05
1.01

回答(1 个)

Star Strider
Star Strider 2017-9-18
I can’t produce your desired output, since that does not match the criterion of data being less than 1 standard deviation of the mean:
v = [1.02
1.06
1.10
1.06
1.02
1.05
1.12
1.50
1.01];
vm = mean(v);
vs = std(v);
v_result = v(v < vm+vs);
The mean+std value is 1.2573, so only 1.50 fails to meet the criterion.
  3 个评论
Mekala balaji
Mekala balaji 2017-9-18
I also want the row index of outliers
Star Strider
Star Strider 2017-9-18
If you set 1 sigma (standard deviation) as the criterion, then none are acceptable, since the standard deviation is 0.1528. All the values are above that.
The row index of the outliers is easy:
outlier_idx = find(v >= vm+vs);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Graph and Network Algorithms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by