data(quilpie, package = "GLMsData"); names(quilpie)
mu = seq(0.01, 0.99, length.out = 100L)
loglik = NULL
lik =NULL
for (i in 1:length(mu)) {
loglik[i] <- sum(dbinom(quilpie$y, size = 1, prob=mu[i], log=TRUE))
lik[i] <- sum(dbinom(quilpie$y, size=1, prob=mu[i], log=FALSE))
}
plot(mu, lik, type = "l", lwd = 2,
xlab = expression(paste(,mu ,)),
main = "Likelihood function",
,ylab = expression(paste("loglik (", mu ,")")))
abline(v = mu[which(lik==max(lik))], lwd = 3, lty =2)
abline(v = optimize(lik, lower = 0, upper = 1, maximum = TRUE)$max)
optimize(lik, lower = 0.01, upper = 0.99, maximum = TRUE)
mu[which(lik==max(lik))]
plot(mu, loglik, type = "l", lwd = 2,
xlab = expression(paste(,mu ,)),
main = "Log-likelihood function",
,ylab = expression(paste("loglik (", mu ,")")))
abline(v = mu[which(loglik==max(loglik))], lwd = 3, lty =2)
abline(v = optimize(loglik, lower = 0, upper = 1, maximum = TRUE)$max)
optimize(loglik, lower = 0.01, upper = 0.99, maximum = TRUE)
mu[which(loglik==max(loglik))]
我試圖獲得可能性和對數似然的圖。對數似然圖效果很好,但似然函式圖沒有顯示任何內容。此外,優化功能不起作用。我需要這方面的幫助。
uj5u.com熱心網友回復:
將loglik和的計算重寫lik為函式,將它們向量化,然后optimize。并與curve.
請注意,函式將在引數 上進行優化prob,這里作為第一個引數,命名為x。
引數y是資料。
floglik <- function(x, y){
sum(dbinom(y, size = 1, prob = x, log = TRUE))
}
floglik <- Vectorize(floglik, "x")
max_loglik <- optimize(floglik, interval = c(0, 1), y = quilpie$y, maximum = TRUE)
curve(floglik(x, quilpie$y), from = 0, to = 1,
lwd = 2,
xlab = expression(paste(mu)),
main = "Log-likelihood function",
ylab = expression(paste("loglik (", mu ,")")))
abline(v = max_loglik$maximum)
對于可能性也是如此。
flik <- function(x, y){
prod(dbinom(y, size = 1, prob = x, log = FALSE))
}
flik <- Vectorize(flik, "x")
max_lik <- optimize(flik, interval = c(0, 1), y = quilpie$y, maximum = TRUE)
curve(flik(x, quilpie$y), from = 0, to = 1,
lwd = 2,
xlab = expression(paste(mu)),
main = "Likelihood function",
ylab = expression(paste("lik (", mu ,")")))
abline(v = max_lik$maximum)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/372992.html
標籤:r
