Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 极大似然估计中的误差,即使是在简单的例子中_R_Mle - Fatal编程技术网

R 极大似然估计中的误差,即使是在简单的例子中

R 极大似然估计中的误差,即使是在简单的例子中,r,mle,R,Mle,我试图用最大似然估计(mle)估计一个模型,因此从一个简单的例子开始,也解释了: 不幸的是,即使在复制此代码时,我也总是会遇到错误: optimstart中的错误,f,method=method,hessian=TRUE,…:“vmmin”中的初始值不是有限的 我的代码看起来像 library(stats4) N=100 x <- runif(N) y <- 5 * x + 3 + rnorm(N) LL <- function(beta0, beta1, mu, sigm

我试图用最大似然估计(mle)估计一个模型,因此从一个简单的例子开始,也解释了:

不幸的是,即使在复制此代码时,我也总是会遇到错误: optimstart中的错误,f,method=method,hessian=TRUE,…:“vmmin”中的初始值不是有限的

我的代码看起来像

library(stats4)

N=100
x <- runif(N)
y <- 5 * x + 3 + rnorm(N)

LL <- function(beta0, beta1, mu, sigma) {
  R = y - x * beta1 - beta0
  R = dnorm(R, mu, sigma, log = TRUE)
  -sum(log(R))
}
fit <- mle(LL, start = list(beta0 = 5.9, beta1 = 2.8, sigma=1), fixed = list(mu=0))
fit
我从线性ols模型中导出了起始值,但稍微向上或向下更改这些值并不能解决错误。 有人知道吗,这里有什么问题吗?

您让dnorm返回概率日志,选择log=TRUE,然后再次获取结果日志。这是错误的:要么删除该选项,要么最好在以后删除对日志的调用

最好保留该选项,因为dnorm的值可能非常小,如果它们不适合R使用的浮点数,则四舍五入为零,这将导致log0通常最小正数为2^-1074或4.940656e-324,其log仅为-744.4401。为了说明这一点,您应该写下可能性的对数,简化公式,然后对结果表达式进行编码。这基本上就是log=TRUE选项为您所做的