Stata似乎忽略了我在最大似然估计中的起始值

时间:2013-10-04 16:42:01

标签: stata

我正在尝试估计最大似然模型,并且它正在陷入Stata中的收敛问题。实际的模型非常复杂,但是当它提供适当的起始值时,它在R中没有任何麻烦。然而,我似乎无法让Stata接受我提供的起始值。

我在下面列举了一个简单的例子来估计泊松分布的平均值。这不是我想要估计的实际模型,但它证明了我的问题。我设置了跟踪变量,它允许您在Stata搜索可能性表面时查看参数。

虽然我使用init来设置起始值0.5,但第一次迭代仍然显示Stata正在尝试系数为4.

这是为什么?如何强制估算程序使用我的起始值?

谢谢!

generate y = rpoisson(4)

capture program drop mypoisson
program define mypoisson

args lnf mu

quietly replace `lnf' = $ML_y1*ln(`mu') - `mu' - lnfactorial($ML_y1) 
end

ml model lf mypoisson (mean:y=)
ml init 0.5, copy
ml maximize, iterations(2) trace

输出:

   Iteration 0:
   Parameter vector:
        mean:
       _cons
   r1         4

1 个答案:

答案 0 :(得分:1)

补充:Stata不会忽略初始值。如果查看ml maximize命令的输出,列表中的第一行将标题为

  

initial:log likelihood =

等号后面是init语句中设置的参数值的可能性值。

我不知道search(off)search(norescale)解决方案如何影响后续可能性计算,因此这些解决方案可能仍然值得。

原创“解决方案”:

要强制以初始值开头,请将search(off)选项添加到ml maximize

ml maximize, iterate(2) trace search(off)

您还可以强制使用search(norescale)初始值。请参阅Jeff Pitblado在http://www.stata.com/statalist/archive/2006-07/msg00499.html的帖子。