我的目标是为 Weibull 分布的基于泰勒级数的对数似然的二次近似绘制等高线图。
但是,作为 R(以及统计数据)的初学者,我无法继续编写一个函数来评估对数似然给出 theta 和数据。
有人可以指出我正确的方向吗?这是我拥有的 Hessian 计算,作为提示。
#observed information matrix
jhat<-matrix(NA,nrow=2,ncol=2)
jhat[1,1]<-n/gammahat^2+sum((y/betahat)^gammahat*
(log(y/betahat))^2)
jhat[1,2]<-jhat[2,1]<- n/betahat-sum(y^gammahat/betahat^(gammahat+1)*
(gammahat*log(y/betahat)+1))
jhat[2,2]<- -n*gammahat/betahat^2+gammahat*(gammahat+1)/
betahat^(gammahat+2)*sum(y^gammahat)
solve(jhat)
另外,我对 gamma hat 和 beta hat 有这些估计,这些是我认为我必须修改的部分:
gammahat<-uniroot(function(x) n/x+sum(log(y))-n*
sum(y^x*log(y))/sum(y^x),
c(1e-5,15))$root
betahat<- mean(y^gammahat)^(1/gammahat)
weib.y.mle<-c(gammahat,betahat)
我有这个功能,但我认为它不使用泰勒展开:
log_lik_weibull <- function( data, param){
-sum(dweibull(data, shape = param[1], scale = param[2], log = TRUE)) }