首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R模拟研究中的极大似然估计

R模拟研究中的极大似然估计
EN

Stack Overflow用户
提问于 2018-10-25 20:31:57
回答 1查看 208关注 0票数 0

我从我的分布中生成了10000个值,并保存在object val_1中。然后我将val_1保存在对象弹出窗口中。

然后,在无重复抽样的情况下,对同一分布的参数进行估计。迭代次数为5000次,样本大小为100。下面的代码给出了以下错误:

代码语言:javascript
复制
Error in optim(par = starts, fn = likelihood, x = data, method = "BFGS",  : 
non-finite finite-difference value [1]
In addition:   
There were 50 or more warnings (use warnings() to see the first 50)

我的代码:

代码语言:javascript
复制
set.seed(83)
pop <- val_1
head(pop)
sam.size <- 100
sam <- sample(pop, sam.size, replace = T)
length(sam)
nsims <- 5000
bs <-array(0,dim=c(nsims ,4))
for(i in 1:nsims)  {   #bs sims
    bs.sam.ind <- sample(1:sam.size, sam.size, replace = T)
    repest<- (goodness.fit(pdf = pdf_ngexp , cdf = cdf_ngexp,
    starts = c(1,1,1,1), sam[bs.sam.ind], method = "BFGS",
    domain = c(0,Inf),mle = NULL, lim_inf = c(0,0,0,0),
    lim_sup = c(2,2,2,2), S = 250, prop=0.1, N=50))
    bs[i,] <-  repest$mle
     }
    head(bs);tail(bs) 
   > head(bs)
      [,1]      [,2]     [,3]     [,4]
[1,] 1.3047830 2.0713999 1.615993 1.953030
[2,] 0.3889123 0.1611767 6.671304 4.033765
[3,] 0.7419812 0.7278994 2.856462 3.914601
[4,] 0.6067144 0.1701769 2.512169 3.086249
[5,] 0.9250573 1.1543839 3.925454 9.867746
[6,] 0.4469384 0.1334538 4.648391 4.711571
 > tail(bs)
    [,1] [,2] [,3] [,4]
[4995,]    0    0    0    0
[4996,]    0    0    0    0
[4997,]    0    0    0    0
[4998,]    0    0    0    0
[4999,]    0    0    0    0
[5000,]    0    0    0    0
EN

回答 1

Stack Overflow用户

发布于 2018-10-25 21:38:01

我们没有你的数据,所以我们不能重现错误。但以下是调试此类问题的一般方法:

  • 保存触发错误的数据集。它可能仍然在循环中构造的变量中;如果不在,请将打印消息添加到循环中,这样您就可以找出是哪个迭代导致了它,再次运行,并在错误迭代处停止。(有set.seed(83)很好;没有set.seed(),这一步可能真的很难。)
  • 确认,从坏的数据集开始,您仍然会得到相同的错误。希望它不会是随机的。
  • 现在,使用坏的数据集,尝试直接在该数据集上调试goodness.fit。为此,请调用debug(goodness.fit),然后从您的循环中重复调用。找出该函数中的哪条语句失败,并重复此过程:保存发送给它的任何数据,确认错误是可重现的,等等。
  • 在某一时刻,您将缩小错误的范围,找出错误的原因。然后,您需要确定它是由代码中的错误、包代码中的错误还是仅仅是unavoidable.

引起的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52989356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档