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

在最大似然估计中,Stata似乎忽略了我的起始值,stata,Stata,我试图估计一个最大似然模型,但它在Stata中遇到了收敛问题。实际模型相当复杂,但当提供适当的起始值时,它在R中收敛没有问题。然而,我似乎无法让Stata接受我提供的起始值 下面我举了一个简单的例子来估计泊松分布的平均值。这不是我试图估计的实际模型,但它说明了我的问题。我设置了跟踪变量,它允许您在Stata搜索似然曲面时查看参数 虽然我使用init将起始值设置为0.5,但第一次迭代仍然显示Stata尝试将系数设置为4 为什么会这样?如何强制估算过程使用我的起始值 谢谢 generate y =

我试图估计一个最大似然模型,但它在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

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

初始值:对数似然=

等号后面是
init
语句中设置的参数值的似然值

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

原始“解决方案”:

要强制从初始值开始,请将
搜索(关闭)
选项添加到
ml最大化

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

您还可以通过
搜索(norescale)
强制使用初始值。参见Jeff Pitblado的帖子。

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

初始值:对数似然=

等号后面是
init
语句中设置的参数值的似然值

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

原始“解决方案”:

要强制从初始值开始,请将
搜索(关闭)
选项添加到
ml最大化

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

您还可以通过
搜索(norescale)
强制使用初始值。查看Jeff Pitblado的帖子。

猜测一下,您的程序名
poisson
可能就是问题所在。由于Stata有一个内置的命令
poisson
,它将始终优先执行。您可以通过将程序名更改为其他名称来测试这一点
哪个myname
测试命令
myname
。感谢您的建议。名字似乎不是问题。我想知道当我试图查看正在使用的参数值时,是否看到了错误的输出?或者我在设置初始值时可能做错了什么?猜测一下,您的程序名
poisson
可能就是问题所在。由于Stata有一个内置的命令
poisson
,它将始终优先执行。您可以通过将程序名更改为其他名称来测试这一点
哪个myname
测试命令
myname
。感谢您的建议。名字似乎不是问题。我想知道当我试图查看正在使用的参数值时,是否看到了错误的输出?或者,当我试图设置初始值时,我可能做错了什么?