简体   繁体   English

在 R 中绘制对数似然 function

[英]plotting log-likelihood function in R

Hi I have received an error of x and y length differ in my code.嗨,我的代码中收到 x 和 y 长度不同的错误。 datasim is a simulated sample of size 1000. Please help me with this. 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")

You can use a package since it's weibull you are fitting:您可以使用 package,因为它是您适合的 weibull:

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

在此处输入图像描述

Or using your loglik function:或使用您的 loglik function:

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)

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM