使用antiD函数进行伽马分布的方差

时间:2014-09-21 06:52:04

标签: r gamma-distribution r-mosaic

这是我在这里的第一篇文章,我希望我能遵守社区的所有规则。

我正在尝试使用镶嵌包中的函数antiD来计算R中的形状参数2和缩放参数3的伽玛分布的方差。我使用的R代码如下

stopifnot(require(mosaic))

f <- function(y) {
     dgamma(y, shape = 2, scale = 3)
}

mean_integral <- antiD( z*f(z) ~ z )
mn <- mean_integral(10^4)

g <- function(y) {
     (y - mn)^2
}

variance <- antiD(f(x)*g(x) ~ x)
variance(10^5)
## [1] 7.115334e-09

问题是我得到的数字没有意义,因为那些参数的Gamma分布的方差应该等于2 * 3 ^ 2 = 18(Wiki page on Gamma distribution)。此外,如果我将10 ^ 4作为variance()的上限(默认下限为0),它将返回以下内容:

variance(10^4)
## [1] 18

从10 ^ 4到10 ^ 5的积分将是:

variance(10^5) - variance(10^4)
## [1] -18

有人知道为什么variance(10^5)在这种情况下会产生无意义的结果吗?我也将非常感谢有关该职位风格的任何其他评论。

0 个答案:

没有答案