STATA 关于xsmle命令,空间杜宾不收敛,convergence not achieved的问题解决办法

正如可以查到的办法那样,使用from() 设置初值,慢慢调整最终求得收敛结果。不过这几天的尝试,感觉有个比较有效的调试方法,只是经验之谈,或许是玄学也说不定。

xsmle LnReal_Pgdp IFI lnH Open Gov1 DSCY INFRA FDI LnIe3 KD,fe wmat(W16) model(sdm) nolog  type(both)

比如我这一段代码,显示不收敛。

STATA 关于xsmle命令,空间杜宾不收敛,convergence not achieved的问题解决办法_第1张图片

 然后就要进行from调试,代码如下

xsmle LnReal_Pgdp IFI lnH Open Gov1 DSCY INFRA FDI LnIe3 KD,fe wmat(W16) model(sdm) nolog  type(both) from(.....,copy)

需要放上从Main的第一个变量到variance2_e的初始值,我这里应该是要放20个数值。

调试1:根据第一次回归的系数来调试,至少要把正负号对应上,然后整数部分,小数点第一位要差不多。

比如我一开始根据上方结果这么设置,

xsmle LnReal_Pgdp IFI lnH Open Gov1 DSCY INFRA FDI LnIe3 KD,fe wmat(W16) model(sdm) nolog  type(both) from(0.244444 -0.0842222 0.1263333 -0.0144222 -0.00186 0.3333 0.1555 0.01 0.1 0.006  0.056 -0.214233 0.030111 0.00051 0.131 -1.6555 0.1783333 0.022 -0.7161 0.0002,copy)

但是还不收敛,这时候就要仔细调整:

调试2:将小数点后3位置一致,然后第4位开始,把第4位加1,或者减1,5位以后就全是第4位的值。

举个例子,第一次回归是1.23456789,那么就设置初值为:1.23444444,或者1.23466666

所以我经过多次尝试:

xsmle LnReal_Pgdp IFI lnH Open Gov1 DSCY INFRA FDI LnIe3 KD,fe wmat(W16) model(sdm) nolog  type(both) from(0.244444 -0.0842222 0.1263333 -0.0144222 -0.0018666 0.3333 0.1555 0.01 0.1 0.006222  0.056444 -0.21423333 0.030111 0.00051 0.131122 -1.6555555 0.1783333 0.02233333 -0.716111 0.000222,copy)
 

STATA 关于xsmle命令,空间杜宾不收敛,convergence not achieved的问题解决办法_第2张图片

 成功收敛,我最终尝试次数也不多,如果多次还不收敛,可以对着新回归的结果设置初值,也可以扩大一点改变的数值大小,没花个几分钟。

于是总结了这一套调试的经验方法,对于读者来说或许并不有效,但是希望能帮到你,感谢。

 

你可能感兴趣的:(STATA,算法)