我试图使用Stata(Delta方法)中的nlcom
来估计有限因变量模型的边际效应的标准误差。我们通常在计算边际效应时计算概率,条件和无条件部分。我还能够在Stata中使用nlcom
获取条件和无条件部分的标准误差。但是,当使用nlcom
概率时,我收到了“超出最大迭代次数”的错误。我确实查看了解决方案here,它确实解决了一些二进制变量(3)。但是,我仍然得到4个变量的相同错误。我深入研究了这个问题,发现错误与虚拟变量为0的部分有关:
\开始{}方程 \ Delta P(y> 0)= P(y> 0 | x = 1)-P(y> 0 | x = 0) \ {端方程}
以下是竞赛变量(虚拟变量)的示例代码,nlcom
适用于虚拟变量为1(无校正)的部分,但即使考虑到建议的修正后也不适用于0在前面提到的网站。增加迭代次数并乘以更大的幅度也无济于事:
_nl_1: binormal(1.733373263151318-(.0438395852394023*[Tier1]_b[race])+(1*[Tier1]_b[race]),7.575546508411257-(.0438395852394023*[Tier2]_b[race])+
> (1*[Tier2]_b[race])/exp([lnsigma]_b[_cons]),tanh([tau]_b[_cons]))
------------------------------------------------------------------------------
| Coef. Std. Err. z P>|z| [95% Conf. Interval]
-------------+----------------------------------------------------------------
_nl_1 | .9223902 .0129743 71.09 0.000 .8969611 .9478193
------------------------------------------------------------------------------
_nl_1: binormal(1.733373263151318-(.0438395852394023*[Tier1]_b[race])+(0*[Tier1]_b[race]),7.575546508411257-(.0438395852394023*[Tier2]_b[race])+
> (0*[Tier2]_b[race])/exp([lnsigma]_b[_cons]),tanh([tau]_b[_cons]))*(1e+2)
Maximum number of iterations exceeded.
有什么想法解决这个问题?
答案 0 :(得分:1)
我不知道这是否是您问题的根源,但在成功和失败的nl
声明中,估算的标准偏差exp([lnsigma]_b[_cons])
仅除以最后[Tier*]_b[race]
} term,然后只在binormal
的第二个参数中(这可能是因为你在第一个参数中将SD约束为1
)。这是对第二个nl
语句中你的意思的猜测,但这只是猜测。
#delim ;
_nl_1:
binormal
((1.733373263151318-(.0438395852394023*[Tier1]_b[race])+(0*[Tier1]_b[race]))
/exp([lnsigma]_b[_cons]),
(7.575546508411257-(.0438395852394023*[Tier2]_b[race])+ (0*[Tier2]_b[race]))
/exp([lnsigma]_b[_cons]),
tanh([tau]_b[_cons])) ;
#delim cr