为什么我不能将选择方程中的因变量用作结果方程中的自变量?

时间:2015-06-10 19:54:23

标签: r

我使用sampleSelection包中的示例,其中我将结果方程的因变量切换为家庭收入,因为我希望女性的劳动力参与(lfp)是一个逻辑决定因素。

library("sampleSelection")
data( Mroz87 )
Mroz87$kids <- ( Mroz87$kids5 + Mroz87$kids618 > 0 )
selection2 <- selection(selection = lfp ~ age + I(age^2) + faminc + kids + educ, 
                    outcome = faminc ~ lfp + wage + age + exper, 
                    data = Mroz87, method = "2step")

我的问题是在结果方程中添加lfp作为自变量会阻止解决方案。我明白了:

Error in solve.default(crossprod(xMat)) : 
Lapack routine dgesv: system is exactly singular: U[6,6] = 0

从结果中删除lfp允许解决方案,但不是我寻求的解决方案。我想我已经读到问题出在下面运行的矩阵数学中(奇点可以防止反转,也许?)。有没有办法得到我想要的解决方案?请帮忙。

1 个答案:

答案 0 :(得分:0)

这是tobit-2模型,因此你假设你只为那些有lfp = 1的人观察faminc。因此,对于观察到的结果,lfp始终为1。因此,它不被识别(与常数分开)。

有一个新版本的sampleSelection即将发布(目前在branches / treatReg中使用r-forge)。希望在几周内完成它。