How to filter out 1sigma data

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

Réponses (1)

Star Strider
Star Strider le 18 Sep 2017

0 votes

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 commentaires

Mekala balaji
Mekala balaji le 18 Sep 2017
if we just only based on 1sigma mean? does it make sense according to you?
Mekala balaji
Mekala balaji le 18 Sep 2017
I also want the row index of outliers
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);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Statistics and Machine Learning Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by