如何在非线性估计中允许总和中的缺失值

时间:2017-06-18 02:58:33

标签: stata

我试图在Stata中进行非线性估计,其中一些观测值不需要所有变量。以下是一个组成的例子

nl (v1 = ({alpha=1})^({beta=1}*v2) + ({alpha})^({beta}*v3))

有时候有v3的值,有时候没有。如果在数据中不需要它,则将其编码为丢失(尽管在数据缺乏的意义上它没有丢失,数据是完美的)。当缺少v3时,我希望Stata将上述表达式视为具有v3的术语不存在,所以在这些情况下我只想让它将这些观察的表达式视为:

v1 = ({alpha=1})^({beta=1}*v2)

当我运行时,stata说:

starting values invalid or some RHS variables have missing values

我知道起始值很好,

如您所见,只需将缺失值重新编码为零将无效。因为它没有将该术语归零。

我能用西格玛求和符号做些什么,它只会添加有非缺失值的术语吗?

-Thanks!

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

cls
sysuse auto, clear
gen nm_rep78 = cond(missing(rep78),1,0)
recode rep78 (.=0), gen(z_rep78)
tab nm_rep78 z_rep78
nl (price = ({alpha=1})^({beta=1}*mpg) + nm_rep78*({alpha})^({beta}*z_rep78))

这个想法是你使用一个指标变量将第二个词归零。

可能有办法让nl使用因子变量表示法来简化这一点,但我整个下午都在测试新的鸡尾酒配方,不应该尝试这个。