我使用fBasics软件包来计算一个非常简单的向量的样本过度峰度[1,2,3]:
> library(fBasics)
> x=c(1,2,3)
> kurtosis(x)
[1] -2.333333
attr(,"method")
[1] "excess"
我根据WIkipedia http://en.wikipedia.org/wiki/Kurtosis#Sample_kurtosis计算的是-1.5。所以我想知道为什么fBaswics包给出了不同的结果?
谢谢!
答案 0 :(得分:5)
从包裹中使用kurtosis
代替。
> library(moments)
> kurtosis(x)
[1] 1.5
来自妈妈们的{p> kurtosis
计算了皮尔逊测量峰度的估计量。实现此函数(如果x
是数字向量),如下所示:
n <- length(x)
n * sum((x - mean(x))^4)/(sum((x - mean(x))^2)^2)
为了让你获得过多的峰度使用:
> kurtosis(x)-3
[1] -1.5
现在,为了让您了解kurtosis
形式fBasics的不同之处,请查看代码,以便使用:
library(fBasics)
methods("kurtosis")
getAnywhere("kurtosis.default")
如果x
是一个数值向量,那么从fBasics(实际上来自timeDate,请参阅我的评论)中的峰度定义了多余的峰度为:
sum((x - mean(x))^4/as.numeric(var(x))^2)/length(x) - 3
我认为这会对你有所帮助。您的评论中的问题是寻找一个基本的统计答案,我刚刚指出了R编程提示,以便您获得作业的答案。