Re: [問題] 離群值

作者: breakheart (畜)   2016-01-02 22:34:58
1. < Q1-N*(Q3-Q1) or > Q3+N*(Q3-Q1) <= 出於常態分配特性exclude outlier
其中N看你對Outlier的容忍度, 容忍小=>N小, 容忍大=>N大
但你會發現用這去exclude outlier似乎並不是所有點都能適當的被移除掉
有其當資料分配是偏態分布情況下,
這是因為前面說過這是假設資料是在常態分布下的移除ourlier,
對鐘型分布(對稱分布內高外低)也許會比較好,但其他就會非常差,
2. 為了改善 1. 的缺點,有些人會採取下面作法
分配右半部right sigma = (P95-P50)/( qnorm(0.95) -qnorm(0.5) )
(當點數少時,0.95會改成0.85 or 0.75)
> median - N*right sigma => outlier
分配左半部sigma = (P50-P05)/( qnorm(0.50) -qnorm(0.05) )
(當點數少時,0.05會改成0.15 or 0.25)
< median - N*right sigma => outlier
各位發現了嗎,上述做法其實是將分配假設是鐘型分布,
以鐘的兩端以常態方式推估sigma,再利用計算outlier
此法可能比1.好一些,但仍無法適用非鐘型分布(ex:雙峰 or Uniform...etc)
對一些偏態很嚴重的鐘型分布也無法很好的套用
3. 在國外這是可以專章討論的一個好論文,他們第一步會先將資料分配類型先求出,
再依據各分配的特性予以合理的exclude outlier方法,
不會用一個方法公式去套用所有情況,這是最合理效果最好但也是最麻煩的,
那有人會說用甚麼方去求出分配,之後再用甚麼方法根據各分配exclude outlier
這太多資料了.....,各家有各家的法寶,就不贅述了
你會在R發現一些package跟Outlier相關的,
但請切記,他們多半都是Base on是某種分配去exclude outlier的
Outlier這是一個好問題,我其實很想知道其他高手對此的見解來討論看看
板上其實很注重在Coding,但應用就很少談了,也許這是個好話題
※ 引述《sky84911 (Chun)》之銘言:
: 請問一下該怎麼用R找出離群值,
: 我可以產生出box plot,可是無法確認離群值是哪一點
: 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com