在R中使用Optim命令时出错

在R中使用Optim命令时出错,r,optimization,R,Optimization,以前,当我不小心让R尝试获取负数的日志时,我遇到了这个错误,但现在我不知道问题出在哪里?当设置fnscale=-1时,它变成了一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl。当您设置fnscale=-1时,它将成为一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl。当您设置fnscale=-1时,它将成为一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl。当您设置fn

以前,当我不小心让R尝试获取负数的日志时,我遇到了这个错误,但现在我不知道问题出在哪里?

当设置fnscale=-1时,它变成了一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl。

当您设置fnscale=-1时,它将成为一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl。

当您设置fnscale=-1时,它将成为一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl。

当您设置fnscale=-1时,它将成为一个最大化问题。快速浏览目标函数似乎表明您的问题是无界的,即您可以不断增加b0以增加logl

logl = function(theta, x, y)
{
b0 <- theta[1]
b1 <- theta[2]
sig.hat <- theta[3] 
b2 <- theta[4]
n = length(x)
logl <- .5*n*log(2*pi)-.5*n*(sig.hat) - (1/(2*(exp(sig.hat))))*sum((y - (b0+b1*x+b2*(x^2))^2))
}
theta.start = c(.015,.02,3,1)
optim(theta.start, fn=logl, x=x, y=y, control=list(fnscale=-1), hessian = T)
Error in optim(theta.start, fn = logl, x = x, y = y, control = list(fnscale = -1),  : 
  non-finite finite-difference value [1]