【问题标题】:zero standard error when estimating parameters with mle2使用 mle2 估计参数时标准误差为零
【发布时间】:2020-03-06 19:12:36
【问题描述】:

我正在使用 mle2 进行估计,并且我的所有参数都得到 0 个标准误差(即使在拟合不好的情况下)。谁能告诉我为什么?有没有更聪明的方法来估计最大似然?


# Define Log likelihood function for product i.  
LL<-function(product, gamma0, beta_0, beta_1,  beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9,beta0, beta1, beta2, beta3, beta4, beta5, beta6, beta7, beta8, beta9, var1) {

          y <- data_$Patients_ln[data_$Brand==product]
          R <- myfunc(product, gamma0, beta_0, beta_1,  beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9,beta0, beta1,beta2, beta3, beta4, beta5, beta6, beta7,beta8, beta9)

          R <- - sum(dnorm(y,mean=R, sd=exp(var1), log=TRUE)) 

          return(R)
        }

        # Sum all the log likelihood function ( sum over all products)
        sumLL <- function(gamma0, beta_0, beta_1, beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9
                          , beta0, beta1, beta2,beta3, beta4, beta5, beta6, beta7, beta8, beta9, var1) {

          products <- unique(data_$Brand)


          sum_ <- 0


          for(i in 1:length(products)){
            sum_ <- sum_ +  LL(products[i], gamma0, beta_0, beta_1, beta_2, beta_3, beta_4, beta_5, beta_6, beta_7, beta_8, beta_9, beta0, beta1, beta2,beta3, beta4, beta5, beta6, beta7, beta8, beta9, var1)
          }

          return(sum_)
        }

 fit<- mle2(sumLL, start=list(gamma0=values[1], beta_0=values[2],beta_1=values[3],beta_2=values[4],beta_3=values[5],beta_4=values[6],beta_5=values[7],beta_6=values[8],beta_7=values[9],beta_8=values[10],beta_9=values[11],  beta0=values[12], beta1=values[13], beta2=values[14],beta3=values[15], beta4=values[16], beta5=values[17],beta6=values[18],beta7=values[19], beta8=values[20], beta9=values[21], var1=values[22]), control=list(maxit=3000))

这是我的输出:

【问题讨论】:

  • 嗨,阿曼达。我不确定你是什么意思。您的标准错误都不是零。你能解释一下你期待看到什么吗?
  • 许多标准误差在1E-15的数量级,在零机器精度范围内。
  • 我可能是一个在交叉验证stats.stackexchange.com 上得到更好回答的统计问题
  • 这是过拟合的问题吗?你有多少观察结果?
  • @mob 您必须将 1e-15 除以另一个 ~1e300 才能在 R 中接近零。问题实际上与模型拟合有关,并且它的右眼球在交叉验证上已经结束。

标签: r


【解决方案1】:

感谢您的回答。

@Allan:我希望标准误差大于 1E-15,因为拟合不是很好。

@我试过去掉参数,只估计1-2个参数的模型,但标准误还是几乎为0。

最好, 阿曼达

【讨论】:

    猜你喜欢
    • 2021-02-28
    • 2020-02-26
    • 1970-01-01
    • 2017-11-22
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多