驯服偏斜…为什么偏斜功能这么多?


9

我希望对该社区的四种偏斜类型有更多的了解。

我所指的类型在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),比较样本偏斜度和峰度的量度。

根据我对那篇论文的阅读,他们认为类型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的作者编写了与帮助页面中的注释不同的偏斜函数。注意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)在第一个方程式中吗?哪个方程式可以更好地处理上溢/下溢?还有其他想法为什么它们不同(但产生相同的结果)?


3
您的问题提到了“四种类型的偏斜”……但随后给出了链接,并启动了许多代码(您甚至没有提到哪种语言)。因此,人们不必阅读链接即可发现您的要求,对于不阅读R的人们以及发现阅读代码无助于传达理解的人们而言,这将有助于定义以下四个方面。在一堆代码之前(或最好是代替)所指的偏度度量。[当您说“四个”而不是“这四个”时,您为什么认为只有四个而不是五个或七个或其他数字?]
Glen_b-恢复莫妮卡2015年

1
我已经尝试对您可以在您的帖子中找到的特定问题给出某种形式的答案,并一路解决了许多问题,但是除了“希望有更多的见解”之外,我还无法回答。您能否更清楚地确定您想了解的事物?我们的网站上有很多关于偏度的问题。
Glen_b-恢复莫妮卡2015年

谢谢Glen,您的帖子。我包括R只是为了说明目的并显示公式。我也不知道乳胶。:(
克里斯

Answers:


10

让我们从您描述为“一种旧方法”的方法开始;这是第二个Pearson偏度,即中值偏度;实际上,瞬间偏度与大致相同的年份(中偏度实际上要年轻一些,因为瞬间偏度先于Pearson的努力)。

关于一些历史的一些讨论可以在这里找到; 该帖子还可能对您的其他几个问题有所帮助。

如果您使用第二次Pearson偏度来搜索我们的网站,您将看到很多帖子,其中包含有关此度量方式行为的一些讨论。

实际上,这比我脑中出现的偏斜程度要古怪得多。他们有时都做一些奇怪的事情,这些事情与人们对偏度测量的期望不符。


通常的形式在维基百科讨论这里 ; 就像它所说的那样,这是一种矩估计方法,并且在给定总体计算的基础上根据标准化的第三矩来使用,这是很自然的事情。b1

如果将用作(即不进行贝塞尔校正),则会得到您提到的类型。这些就是我所说的“时刻方法”。对我来说,尚不清楚试图对分母进行偏斜有很多意义,因为这不一定会使比率偏斜。这样做可能很有意义,这样计算结果就可以与人们期望手动完成的事情相匹配。s n - 1 g 1snsn1g1

但是,还有第二种(等效)的方法来根据累积量来定义总体偏斜度(请参阅上面的Wikipedia链接),并且如果对于样本偏斜度使用了那些偏斜度的无偏估计,则得到。G1

[注进一步的是,在分子乘以通过 unbiases它,以便可以是另一个原因,人们看那个形式。如果尝试使第三矩和第二矩计算均无偏差,则获得前列的和系数会略有不同。]n 2b1 nn-1n-2n2(n1)(n2)n,(n1)(n2)

所有这三个在第三时刻偏斜上都只是稍有不同。在非常大的样本中,您使用的实际上没有任何区别。在较小的样本中,它们的偏差和方差都略有不同。


这里讨论的形式并没有穷尽偏斜的定义(我想我已经看过大约十二种了,维基百科的文章列出了很多,但即使这还不包括色域),甚至也没有涉及第三种的定义。瞬间偏斜,其中我看到的不止您在此处提出的三个偏斜。

为什么有许多偏度度量?

那么(暂时将所有这些第三阶偏斜视为一个)为什么会有那么多不同的偏斜呢?部分原因是偏度实际上很难确定。这是一件很难的事,您无法真正固定到一个数字。结果,所有定义在某种程度上都不够充分,但是通常符合我们对偏度度量应该做什么的广泛理解。人们一直在试图提出更好的定义,但是诸如QWERTY键盘之类的旧措施却一无所获。

为什么基于第三时刻有几种偏度度量?

至于为什么有这么多的第三阶偏度,那仅仅是因为有多种方法可以将人口测度转变为样本测度。我们看到了两条基于时刻的路线,一条基于累积量。我们可以构建更多;例如,我们可能会尝试在某种分布假设下,最小均方误差度量或其他类似数量下获得(小样本)无偏度量。

您可能会在网站上找到一些与偏斜启发有关的帖子;有些例子显示的分布不对称,但第三矩偏度为零。有些数据显示皮尔逊中偏度和第三矩偏度可能具有相反的征兆。

以下是一些与偏度有关的帖子的链接:

平均值=中位数是否意味着单峰分布是对称的?

在左偏数据中,均值和中位数之间是什么关系?

如何从离群值的直方图中确定偏度?


关于您关于的计算的最后一个问题:b1

n(xx¯)3((xx¯)2)3/2 #from e1071 :: skewness来源

(xx¯)3/n((xx¯)2/n)3/2# e1071帮助页面

两种形式在代数上是相同的。第二个明确地以“第二次施加动力第三时刻”的形式,而第一个只是取消了并将剩余部分置于前面。我不认为这样做是为了避免溢出/下溢;我想这样做是因为它被认为会更快一些(如果担心上溢或下溢,可能会以不同的方式安排计算。) n32n

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.