在R中绘制对数似然函数

时间:2020-05-23 08:35:18

标签: r statistics mle log-likelihood

嗨,我收到的x和y长度错误在我的代码中不同。 datasim是大小为1000的模拟样本。请帮助我。

x <- datasim
loglik <- function(theta){
  k<- theta[1]
  lambda<- theta[2]
  out <- sum(dweibull(x,shape = k, scale=lambda, log = TRUE) )
  return(out)
}

theta<- c(0.5,1.5)
plot(theta, loglik(theta), type="l", lwd=3, main="logliklihood_Weibull, n=1000")

1 个答案:

答案 0 :(得分:1)

您可以使用一个包装,因为它很适合您:

library(fitdistrplus)
x = rweibull(1000,20,10)
fit <- fitdist(x, "weibull")
llplot(fitg, expand=5)

enter image description here

或使用您的loglik函数:

library(lattice)

da = expand.grid(k=seq(8,22,length.out=50),
lambda = seq(9,12,length.out=50))
da$LL = apply(da,1,loglik)

wireframe(LL ~ k * lambda, data = da,
scales = list(arrows = FALSE),drape = TRUE, colorkey = TRUE)

enter image description here