第 10 章 计量统计分析
10.1 受限因变量模型的内生性分析
2021应经王新悦 2023-3-9 14:32:35
老师好我想请问下是不是logit模型不能用工具变量法做内生性检验,一般都是ivprobit的操作命令呢
那logit模型和mlogit模型有什么可以做内生性检验的方法呢
胡华平 2023-3-9 16:23:00
重点首先不在于内生性的检验,你要综合理解不同估计方法的优缺点
对于受限因变量(分类因变量)模型,如果有内生性变量,首先要考虑你怀疑的内生自变量是否是连续的还是虚拟变量
如果内生自变量是连续的,那就正常使用内生性检验流程(见我的中级计量课件 https://home.huhuaping.com/course-econometrics-master/slide-chn-part2/SEM-slide-part0-endogeneity.html);
如果内生自变量是虚拟变量,那传统检验方法就不适用(可以考虑给你pdf里的估计方法,ssimplereg。pdf链接)
总结起来,首先要妥善选择估计方法,其次才考虑内生性检验的问题(因为自变量是否内生,大部分可以用经济学理论就可以分析的出来)。颠倒二者关系,那就是缘木求鱼。
2021应经王新悦 2023-3-9
老师,我有一个自变量是社会资本。我的题目是信用环境、社会资本和农户借贷行为。有审稿老师说社会资本对农户获得正规机构贷款的影响存在内生性,可以进一步做一下检验。但是我的基础模型是用logit模型。我就有点不明白这里怎么继续做内生性检验了。
因变量一个是借贷渠道选择(多分类),一个是能否获得正规金融机构的贷款(二分类)。做了一个多分类logit模型,以及一个二分类logit模型。其中评委怀疑的自变量“社会资本”是连续型。
胡华平 2023-3-9 16:46:53
还是那句话,社会资本的内生性,在你这个模型里,理论上就应该是存在内生性的,检验不检验不是关键。
关键是你要处理这个问题。最直接的就是2SLS法。你看我给你发的pdf,他就同时使用了probit模型、sssimplereg、IV-2SLS对数据进行了多次建模分析,然后比较结果。起码你很快就能做后面三列的三种分析方法(IV-LPM、probit、IVprobit)。
10.2 联立方程模型富余工具变量的R代码问题
2022金融专硕-张天雨 2022-11-7 11:18:10
胡老师您好。关于咱们的计量作业的这个题目,我有个问题想请教您。您看方便的时候能否解答一下呀。
我用的是R软件,做回归的时候尝试了ivreg包和systemfit包。用ivreg包我回归出来后感觉结果有点问题,因为exp2的系数估计值为正,这好像不大对劲,而且出不了第一阶段回归的结果,不知道是不是我代码敲错了;我用systemfit包跑数据跑不出来。查了很多资料,我也没能解决这个问题,不知道该如何做。
如果老师有时间可以解答,感激不尽。
胡华平 2022-11-7 18:25:08
经过测试,用systemfit确实会报错。目前还不清楚问题在哪里。
# load package
library(systemfit)
# set two models
.1 <- edu ~ age + age2 +black +south +urban + public +private
eq_1.2 <- exp ~ age + age2 +black +south +urban + public +private
eq_1.3 <- exp2 ~ age + age2 +black +south +urban + public +private
eq_1
<- lwage ~ edu + exp + exp2 +black +south +urban
eq_2
<- list(
sys eq1.1 = eq_1.1,
eq1.2 = eq_1.2,
eq1.3 = eq_1.3,
eq2 = eq_2)
# specify the instruments
<- ~age + age2 +black +south +urban + public +private
instr
# fit models
<- systemfit(
fit.sys formula = sys,
inst = instr,
method ="2SLS",
data = tbl_reg)
<- summary(fit.sys) smry
PS我的代码是没有问题的:
(等量工具变量情形)如果用college当作edu的工具变量,把exp 和exp2分别当作 age 和age2的工具变量。确实会报错!
(富余工具变量情形)如果用public和private当作edu的工具变量,把exp 和exp2分别当作age和age2的工具变量。则代码能够出来,一切正常!(见我上面的代码)
胡华平 2022-12-4 11:30:58
关于之前 R systemfit
报错问题,我这里暂时给出了一个处理方法,供参考。
主要原因,可能是因为惯常的设定会出现“完全共线性”问题,导致无法进行矩阵逆运算。
我的代码是没有问题的:
- (等量工具变量情形)如果用college当作edu的工具变量,把exp 和exp2分别当作age和age2的工具变量。如果按惯常设定模型,确实会报错!此时需要处理一下方程1.3,把截距项去掉。
eq_1.3 <- exp2 ~ -1 + age + age2 +black +south +urban + college
。则不会再出现报错。
2.(富余工具变量情形)如果用public和private当作edu的工具变量,把exp 和exp2分别当作age和age2的工具变量。则代码能够出来,一切正常!(见我上面的代码)
10.2.1 等量工具变量情形
- 方程1.3需要去掉截距项,否则会报错!
注意: hansen2021此时应用的是IV(b)方法:
# load package
library(systemfit)
# set two models
.1 <- edu ~ age + age2 +black +south +urban + college
eq_1.2 <- exp ~ age + age2 +black +south +urban + college
eq_1.3 <- exp2 ~ -1 + age + age2 +black +south +urban + college # important !!
eq_1
<- lwage ~ edu + exp + exp2 +black +south +urban
eq_2
<- list(
sys eq1.1 = eq_1.1,
eq1.2 = eq_1.2,
eq1.3 = eq_1.3,
eq2 = eq_2)
# specify the instruments
<- ~age + age2 +black +south +urban + college
instr
# fit models
<- systemfit(
fit.sys formula = sys,
inst = instr,
method ="2SLS",
data = tbl_reg)
<- summary(fit.sys)
smry <- tidy(fit.sys) %>%
out separate(., col = term,
into = c("eq", "vars"), sep = "_") %>%
select(-all_of(starts_with("conf")))
kable(out,
caption ="等量工具变量下的2SLS结果" ,
digits = 4)
10.2.2 富余工具变量情形
# load package
library(systemfit)
# set two models
.1 <- edu ~ age + age2 +black +south +urban + public +private
eq_1.2 <- exp ~ age + age2 +black +south +urban + public +private
eq_1.3 <- exp2 ~ age + age2 +black +south +urban + public +private
eq_1
<- lwage ~ edu + exp + exp2 +black +south +urban
eq_2
<- list(
sys eq1.1 = eq_1.1,
eq1.2 = eq_1.2,
eq1.3 = eq_1.3,
eq2 = eq_2)
# specify the instruments
<- ~age + age2 +black +south +urban + public +private
instr
# fit models
<- systemfit(
fit.sys formula = sys,
inst = instr,
method ="2SLS",
data = tbl_reg)
<- summary(fit.sys)
smry <- tidy(fit.sys) %>%
out separate(., col = term,
into = c("eq", "vars"), sep = "_") %>%
select(-all_of(starts_with("conf")))
kable(out,
caption ="富余工具变量下的2SLS结果" ,
digits = 4)
2022金融专硕-张天雨 2022-12-4 11:38:55
好的老师,我明白问题了。非常感谢老师这么久了还能记着这个小事,我真诚的感谢老师,您真的是位好老师,老师讲的课程也是在我们学生中间受到了赞誉,我们都真诚地觉得你把计量课程讲的通俗易懂,也让我在本科期间学习计量时的很多疑惑得到了解答!非常感谢老师