在计算R中基于95%似然的置信区间时,我想用伽玛函数代替指数函数



我想替换指数对数似然


explik <- function(x) {
sum( dexp(data, 1/x, log=TRUE))
}

伽马负对数似然

gammalike <- function(x) {

-sum(dgamma(data, shape=x, scale=2, log=TRUE))
}

在下面的函数和脚本中

likeqn <- function(mu) {

muhat <- mean(data)
maxlik <- explik(muhat)
explik(mu) - maxlik + 0.5 * 3.841
}
source("explik.R")
source("likeqn.R")

# Input data
data <- c(63, 130, 88, 120, 330, 188, 270, 222, 189, 116)
# Find the MLE of an exponential distribution
muhat <- mean(data)
# Solve likelihood equation numerically to find likelihood based CI
vlikeqn <- Vectorize(likeqn)
CIlower <- uniroot(vlikeqn, c(10,muhat) )$root
CIupper <- uniroot(vlikeqn, c(muhat,500) )$root
cbind(CIlower, muhat, CIupper)
# Plot log-likelihood function
x <- seq(80, 350)
vexplik <- Vectorize(explik)
plot(x, vexplik(x), type="l", xlab=expression(mu), ylab="log-likelihood")

我尝试过替换log-lik函数,但是结果似乎不合理。

具有速率lambda的分布Expo(lambda(为Gamma(1,1/lambda((形状尺度(。

gammalike <- function(x) {
sum(dgamma(data, shape=1, scale=x, log=TRUE))
}

最新更新