【发布时间】:2013-01-10 20:07:07
【问题描述】:
在给定特定平均值(或中位数)和特定分位数(95% 分位数)的情况下,在 R 中是否有任何方法可以计算 gamma 分布的比例和形状?
例如,我有一个 mean = 130
和 95% 分位数 = 300
分布的偏移量为80
有没有什么方法可以得到满足这些标准的伽马的尺度和形状?
【问题讨论】:
标签: r statistics gamma-distribution
在给定特定平均值(或中位数)和特定分位数(95% 分位数)的情况下,在 R 中是否有任何方法可以计算 gamma 分布的比例和形状?
例如,我有一个 mean = 130
和 95% 分位数 = 300
分布的偏移量为80
有没有什么方法可以得到满足这些标准的伽马的尺度和形状?
【问题讨论】:
标签: r statistics gamma-distribution
这是一种方法:
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 是什么意思,如果这正是伽马变为非零的地方,那么从 130 和 300 中减去 80 并执行与上述相同的操作。
【讨论】:
myfun 的正值,另一个返回负值。尝试几个值,看看你会得到什么,然后选择 2 作为起始值。请参阅?uniroot 了解更多详情。