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