首页 > 编程知识 正文

递归和迭代(递归函数)

时间:2023-05-04 19:27:38 阅读:98583 作者:1219

递归的双变量probit模型的stata命令是什么?比如二元被解释变量为y1,内生的二元变量为t1,x1和x2是其他外生协变量,iv1为内生二元解释变量的工具变量,那么,递归双变量probit模型是否可以写为:biprobit (t1=x1 x2 iv1)(y1=t1 x1 x2), 我 不确定这样写,是否正确?我试着回归了一下,发现该命令回归出来的结果显示是 Seemingly Unrelated Bivariate Probit(SUBP模型),并不是RBP(recursive bivariate probit model)模型,所以,想请教老师,以上情况下,正确的stata命令该如何写?

这样写是明显错误的,不明白你这种做法。实际上双变量probit模型是一个包含两个方程的系统方程,即任何一个方程的参数估计必须考虑其他方程提供的信息,如果单独分别估计这两个方程(LIML),一方面会产生偏误和不一致性,另一方面会降低估计的效率。根据你的情况,递归双变量的probit模型的stata命令可以是eprobit或者cmp, y1是二元被解释变量,内生二元变量为t1,x1和x2是其他外生协变量,x1和x2是其他外生协变量。那么此时方程可以写为 eprobit y1 x1 x2,endog(t1= x1 x2 v1,probit) 此时我们采用的是完全信息极大似然法FIML。当然CMP这个命令也可以做到,你去下载stata的这个外部命令,用处很多,不详细阐述。除此之外,你还可以用控制方程法来估计,也是很简单的。只不过probit模型的残差是广义残差,不像OLS那么简单。

例如

那么它的残差就是

此时相关的命令:

quietly {

g res=.

capture program drop mycf

program mycf, rclass

drop res

probit t1 x1 x2 iv1

est store probit

g XB=_b[x1]*x1+ _b[x2]*x2+ _b[iv1]*iv1

g res=(normalden(XB)/normal(XB))*t1-(1-t1)* (normalden(XB)/normal(-XB)) if e(sample)

probit y1 t1 x1 x2 res

end

bootstrap,reps(1000) seed(367): mycf

outreg2 using “mycf.xls”, dec(3)

如果你没有工具变量在里面的话,实际上似不相关回归就是递归模型的一种特殊情况,这个时候递归双变量的probit模型可以写为 biprobit (t1= x1 x2) (y1=x1 x2 t1)循环结束,需要另起一行,加 }

往期回顾:

互助问答第203期:PSM匹配问题

互助问答第202期:关于DID平行趋势检验问题

互助问答第201期:聚类标准误问题、

互助问答第200期:中介效应的stata操作问题

如果您在计量学习和实证研究中遇到问题,请及时发到邮箱szlw58@126.com,专业委员会有30多名编辑都会看,您的问题会得到及时关注!请您将问题描述清楚,任何有助于把问题描述清楚的细节都能使我们更方便地回答您的问题,提问细则参见:实证研究互助平台最新通知(点击文末阅读原文查看详情)

如果您想成为问题解答者,在帮助他人过程中巩固自己的知识,请发邮件至szlw58@126.com(优先)或给本公众号留言或加微信793481976给包容的香烟留言,我们诚挚欢迎热心的学者和学生。具体招募信息请参见:实证研究互助平台志愿者团队招募公告

鲜活的事例更有助于提高您的研究水平,呆板的教科书让人生厌。如果您喜欢,请提出您的问题,也请转发推广!

(欢迎转发,欢迎分享;转载请注明出处,引用和合作请留言。本文作者拥有所有版权,原创文章最早发表于“学术苑”。任何侵权行为将面临追责!)

学术指导:冷酷的手套老师

本期解答人:高兴的皮卡丘老师

统筹:易仰楠

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。