我使用 fBasics 包来计算一个非常简单的向量 [1,2,3] 的样本过剩峰度:
> library(fBasics)
> x=c(1,2,3)
> kurtosis(x)
[1] -2.333333
attr(,"method")
[1] "excess"
我根据维基百科计算得出的结果http://en.wikipedia.org/wiki/Kurtosis#Sample_kurtosis ,为-1.5。所以我想知道为什么 fBaswics 包给出了不同的结果?
谢谢!
最佳答案
使用moments包中的峰度
来代替。
> library(moments)
> kurtosis(x)
[1] 1.5
来自时刻的峰度
计算 Pearson 峰度度量的估计量。该函数的实现(如果x
是一个数值向量)如下:
n <- length(x)
n * sum((x - mean(x))^4)/(sum((x - mean(x))^2)^2)
为了让您获得过量的峰度使用:
> kurtosis(x)-3
[1] -1.5
现在,为了让您了解 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 编程提示,以便您获得作业的答案。
关于r - 使用 R 包 fBasics 计算样本过剩峰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21483919/