在 R 中,给定特定的平均值(或中位数)和特定的分位数(95% 分位数),有什么方法可以计算 Gamma 分布的尺度和形状吗?
例如,我有一个均值 = 130
和 95% 分位数 = 300
分布的偏移为80
有没有办法获得满足这些标准的 Gamma 尺度和形状?
最佳答案
这是一种方法:
myfun <- function(shape) {
scale <- 130/shape
pgamma(300, shape, scale=scale) - 0.95
}
tmp <- uniroot( myfun, lower=2, upper=10 )
myshape <- tmp$root
myscale <- 130/tmp$root
qgamma(0.95, shape=myshape, scale=myscale)
integrate( function(x) x*dgamma(x,shape=myshape,scale=myscale),
lower=0, upper=Inf )
我不确定你所说的偏移量 80 是什么意思,如果这就是 Gamma 变得非零的地方,那么从 130 和 300 中减去 80 并执行与上面相同的操作。
关于r - 如何估计 Gamma 距离的形状和尺度。具有特定均值和 95% 分位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266354/