当我使用streg on Stata执行参数化生存模型时,为什么迭代会永远持续下去?

当我使用streg on Stata执行参数化生存模型时,为什么迭代会永远持续下去?,stata,Stata,在Stata上,我想最大化同一数据集的三种不同模型,即指数模型、Weilbull模型和Gompertz模型 前两种型号与代码配合良好: streg [varlist], dist(exponential) streg [varlist], dist(weibull) 然而,当我使用dist(gompertz)运行第三个模型时,当它拟合整个模型时,迭代过程一直在运行(只拟合常数模型只需4次迭代就可以了),直到第160个或更多,所以我不得不中断 在大约迭代20次时,我认为程序已经找到了M

在Stata上,我想最大化同一数据集的三种不同模型,即指数模型、Weilbull模型和Gompertz模型

前两种型号与代码配合良好:

streg [varlist], dist(exponential)    

streg [varlist], dist(weibull)
然而,当我使用
dist(gompertz)
运行第三个模型时,当它拟合整个模型时,迭代过程一直在运行(只拟合常数模型只需4次迭代就可以了),直到第160个或更多,所以我不得不中断

在大约迭代20次时,我认为程序已经找到了ML点:

迭代16:对数似然=708.13826(备份)

迭代17:对数似然=708.13862(备份)

迭代18:对数似然=708.13864(备份)

迭代19:对数似然=708.13864(备份)

迭代20:对数似然=708.13865(备份)

迭代21:对数似然=708.13865(备份)

迭代22:对数似然=708.13865(备份)

迭代23:对数似然=708.13865(备份)

但它不会就此停止,而是永远持续下去,永远不会给我回归结果

我在互联网上做了一些研究,但没有找到任何解决问题的方法。

您可以添加迭代(#)选项来设置迭代次数限制并强制停止模型。 将#替换为所需的最大迭代次数。
考虑到您给出的示例,您可以尝试使用iterate(20)

爬山算法,因为爬山算法可能会卡在高原或平坦的山脊上。也许其中一个或多个模型不适合您的数据。答案一点也不深刻,但我们没有实验数据。