R 如何使用optim优化log L,并与OLS进行比较?

R 如何使用optim优化log L,并与OLS进行比较?,r,R,我想优化关于b的正态分布(固定方差=1): 但是我有一些麻烦来完成它 首先,我定义了(in)因变量的向量: set.seed(1001) outcome<-rnorm(1000,sd = 1) covariate<-rnorm(1000,sd = 1) 而不是y=结果,结果=结果,然后直接包括cov=协变量。您需要在optim调用中将所有参数传递给函数loglike,正如它们在loglike中定义的那样。y不是optim或loglikeopt的参数。正常par是一

我想优化关于b的正态分布(固定方差=1):

但是我有一些麻烦来完成它

首先,我定义了(in)因变量的向量:

   set.seed(1001)
   outcome<-rnorm(1000,sd = 1)
   covariate<-rnorm(1000,sd = 1)

而不是y=结果,结果=结果,然后直接包括cov=协变量。您需要在optim调用中将所有参数传递给函数loglike,正如它们在loglike中定义的那样。y不是optim或loglikeopt的参数。正常par是一个dim属性为NULL的单一值,这可能是它与cov不一致的原因,因为R希望与%*%woot-woot进行矩阵乘法没有问题唯一我仍然不完全理解的是一个简单的OLS摘要(lm(结果~协变量))生成与optim()不同的输出。我想optim函数仍然有问题
   loglike <- function(par, outcome, covariate){
               cov <- as.matrix(cbind(1, covariate))
               xb <- cov * par
              (- 1/2* sum((outcome - xb)^2))
   }
                  opt.normal <- optim(par = 0.1,fn = loglike,outcome=outcome,cov=covariate, method = "BFGS",  control = list(fnscale = -1),hessian = TRUE)
                  summary(lm(outcome~covariate))