[我正在尝试根据0.025和0.975的分位数来估计反Gamma分布的参数。
[目前,我发现rriskDistributions::get.gamma.par
给了我给定伽玛分布分位数的参数估计值。但是,我无法弄清楚Gamma位数与反Gamma位数之间的关系。
我应该如何继续,或者是否有可以为我完成此任务的软件包?
您可以编写自己的目标函数,以计算特定反伽玛参数集的计算分位数与目标分位数之间的平方偏差:
library(invgamma)
objfun <- function(p,target) {
qq <- qinvgamma(c(0.025,0.975),shape=p[1],rate=p[2])
sum((qq-target)^2)
}
然后使用optim()
最小化:
## example
tt <- qinvgamma(c(0.025,0.975), shape=2,rate=2)
optim(par=c(1,4), ## starting values; must be sensible
fn=objfun,
target=tt)
$par
[1] 1.980279 1.948050
$value
[1] 9.0741e-05
$counts
function gradient
61 NA
$convergence
[1] 0
$message
NULL