PDA

查看完整版本 : 【讨论】去掉数据中的特异值


tolabfans
2008-03-19, 11:23
如附件中1000个数,mean(a) = -0.0062 std(a)=0.0488
变异系数std(a)/mean(a)=-7.8461.
仔细一看,有二十几个数的值差得太离谱了,如果去掉的话,剩下的数估计变异就很小了。
用个什么标准能够自动筛选去除呢。不知道统计学上有什么科学的办法。
然后用matlab实现。希望探讨一下。

dnping
2008-03-19, 11:30
哈哈,对于数据的筛选,统计上的确有很多方法,比如T检验,F检验,还有Q检验等……
这个在matlab里面都有现成的函数,楼主可以看一下……

slgu
2008-03-22, 14:38
统计上常用的做法是先求算该组数据的标准差:s=std(x),若有些数值超出了正负3个标准差的范围,将其查验其客观性,或直接将其剔除。

tolabfans
2008-03-23, 19:00
统计上常用的做法是先求算该组数据的标准差:s=std(x),若有些数值超出了正负3个标准差的范围,将其查验其客观性,或直接将其剔除。


我就是想知道这个。谢谢

mathjiang
2008-03-24, 22:01
统计上常用的做法是先求算该组数据的标准差:s=std(x),若有些数值超出了正负3个标准差的范围,将其查验其客观性,或直接将其剔除。

就是 3sigma 准则。