我想计算分布的第n个矩。我正在尝试在R中使用库'moments'的all.moments函数。我以这种方式测试了all.moments:

 library(moments)
 r<-rnorm(10000)
 rr<-all.moments(r,order.max=4)
 rr

 [1]  1.000000000  0.002403360  0.962201478 -0.022694670  2.852696159

在我看来,这是不正确的,因为我知道在正态分布中第3和第4矩必须为0。
我的错误在哪里?

最佳答案

第三时刻是偏斜。您是正确的:对于正态分布,该值为零。由于您仅从正态分布中进行采样,因此结果大约为零。

第四阶矩是峰度。对于正态分布,这是3σ^ 4。在这种情况下,σ为1,因此您的结果应为3。

为了提高估计的准确性,请增加样本量。对于1e7观测值的样本:

> library(moments)
> r <- rnorm(1e7)
> all.moments(r,order.max=4)
[1] 1.0000000000 0.0004028138 0.9995373115 0.0007276404 2.9976881271

关于r - all.moments函数怪异的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9828774/

10-11 17:20