Skewness

馴服偏斜…為什麼有這麼多偏斜函數?

  • June 28, 2015

我希望對這個社區的四種偏差有更多的了解。

我所指的類型在http://www.inside-r.org/packages/cran/e1071/docs/skewness幫助頁面中有所提及。

幫助頁面中沒有提到舊方法,但我仍然將其包含在內。

require(moments)
require(e1071)


x=rnorm(100)
n=length(x)
hist(x)


###############type=1
e1071::skewness(x,type=1)
sqrt(n) * sum((x-mean(x))^3)/(sum((x - mean(x))^2)^(3/2)) #from e1071::skewness source
m_r=function(x,r) {n=length(x); sum((x - mean(x))^r/n);} ##from e1071::skewness help
g_1=function(x) m_r(x,3)/m_r(x,2)^(3/2)
g_1(x) ##from e1071::skewness help
moments::skewness(x) ##from e1071::skewness help
(sum((x - mean(x))^3)/n)/(sum((x - mean(x))^2)/n)^(3/2) ##from moments::skewness code, exactly as skewness help page


###############type=2
e1071::skewness(x,type=2)
e1071::skewness(x,type=1) * sqrt(n * (n - 1))/(n - 2) #from e1071::skewness source
G_1=function(x) {n=length(x); g_1(x)*sqrt(n*(n-1))/(n-2);} #from e1071::help
G_1(x)
excel.skew=function(x) { n=length(x); return(n/((n-1)*(n-2))*sum(((x-mean(x))/sd(x))^3));}
excel.skew(x)


###############type=3
e1071::skewness(x,type=3)
e1071::skewness(x,type=1) * ((1 - 1/n))^(3/2) #from e1071::skewness source
b_1=function(x) {n=length(x); g_1(x)*((n-1)/n)^(3/2); }  #from e1071::skewness help page
b_1(x);
prof.skew=function(x) sum((x-mean(x))^3)/(length(x)*sd(x)^3);
prof.skew(x)

###############very old method that fails in weird cases
(3*mean(x)-median(x))/sd(x)
#I found this to fail on certain data sets as well...

這是 e1071 的作者參考的論文:http: //onlinelibrary.wiley.com/doi/10.1111/1467-9884.00122/pdf Joanes 和 CA Gill (1998),Comparing measure of sample skewness and kurtosis。

根據我對那篇論文的閱讀,他們認為類型 #3 的錯誤最少。

以下是上述代碼中偏度的示例:

e1071::skewness(x,type=1)
-0.1620332
e1071::skewness(x,type=2)
-0.1645113
e1071::skewness(x,type=3)
-0.1596088
#old type:
0.2694532

我也注意到e1071的作者寫的skew函數和幫助頁面的註釋不同。注意 sqrt:

sqrt(n) * sum((x-mean(x))^3)/(sum((x - mean(x))^2)^(3/2)) #from e1071::skewness source

(sum((x - mean(x))^3)/n)/(sum((x - mean(x))^2)/n)^(3/2) #from moments and e1071 help page

任何想法為什麼 sqrt(n) 在第一個等式中?哪個方程更好地處理上溢/下溢?任何其他想法為什麼它們不同(但產生相同的結果)?

讓我們從您描述為“舊方法”的那個開始;這是第二個 Pearson 偏度或中值偏度;事實上,矩偏度和那大致相同的年份(中值偏度實際上有點年輕,因為矩偏度先於 Pearson 的努力)。

可以在這裡找到對一些歷史的一些討論;該帖子還可能對您的其他幾個問題有所了解。

如果您使用第二個 Pearson 偏度搜索我們的網站,您會看到相當多的帖子,其中包含對該測量行為的一些討論。

這並不比我腦海中的偏度測量值更奇怪。他們有時都會做一些奇怪的事情,這些事情與人們對偏度度量的期望不符。


通常的形式在此處的 Wikipedia 中進行了討論;正如它所說,它是一種矩估計方法,並且根據標準化的第三矩進行總體計算,使用它是一種自然的事情。

如果一個使用為了(即沒有貝塞爾校正)你得到你提到的類型;其中任何一個都是我所說的“時刻方法”。我不清楚嘗試消除分母的偏差有多大意義,因為這不一定消除比率的偏差;這樣做可能是有意義的,以便計算與人們可能期望手動執行的操作相匹配。

但是,還有第二種(等效)方法來定義人口偏度,根據累積量(參見上面的維基百科鏈接),如果對於樣本偏度,您使用了這些的無偏估計,您會得到.

[進一步注意,將分子乘以經過消除偏見,因此這可能是人們看待這種形式的另一個原因。如果嘗試對三階矩和二階矩的計算都進行去偏,則會得到一個稍微不同的因子和從前面出來。]

所有這三個只是第三矩偏度的略微不同的變化。在非常大的樣本中,您使用的確實沒有區別。在較小的樣本中,它們的偏差和方差都略有不同。


這裡討論的形式並沒有窮盡偏度的定義(我認為我已經看到了大約十幾個 -維基百科文章列出了很多,但即使這樣也沒有涵蓋所有範圍),甚至沒有與第三個相關的定義-矩偏度,我看到的比你在這裡提出的三個還要多。

為什麼有很多偏度度量?

那麼(暫時將所有這些第三時刻的偏度視為一個)為什麼會有這麼多不同的偏度?部分原因是偏度作為一個概念實際上很難確定。這是一件很棘手的事情,您無法真正確定一個數字。結果,所有定義在某種程度上都不夠充分,但通常符合我們對偏度測量應該做什麼的廣義理解。人們一直試圖提出更好的定義,但舊的措施,如 QWERTY 鍵盤,並沒有去任何地方。

為什麼有幾個基於第三時刻的偏度度量?

至於為什麼會有如此多的三階矩偏度,這僅僅是因為將總體測量值轉換為樣本測量值的方法不止一種。我們看到了兩條基於矩的路線和一條基於累積量的路線。我們還可以建造更多;例如,我們可能會嘗試在某些分佈假設下獲得(小樣本)無偏測量,或最小均方誤差測量或其他類似數量。

您可能會在網站上發現一些與偏度相關的帖子;有一些展示了非對稱但三階矩偏度為零的分佈示例。有一些顯示 Pearson 中值偏度和三階矩偏度可能有相反的跡象。

以下是一些與偏度相關的帖子的鏈接:

均值 = 中位數是否意味著單峰分佈是對稱的?

在左偏數據中,均值和中位數之間的關係是什麼?

如何從具有異常值的直方圖中確定偏度?


關於你關於計算的最後一個問題:

#from e1071::skewness source

#from 時刻和 e1071 幫助頁面

這兩種形式在代數上是相同的;第二個清楚地寫成“第三個時刻在第二個權力時刻”的形式,而第一個只是抵消了把剩菜放在前面。我不認為這樣做是為了避免上溢/下溢;我想它已經完成了,因為它被認為要快一點。[如果溢出或下溢是一個問題,可能會以不同的方式安排計算。]

引用自:https://stats.stackexchange.com/questions/159098

comments powered by Disqus

相關問答