R数据分析:工具变量回归的做法和解释,实例解析

B站影视 2024-12-25 20:51 2

摘要:前几天看了个视频,是2024年诺贝尔经济学奖得主在分享自己的研究,研究问题是“制度如何形成并影响经济繁荣”,在研究这个问题的时候他的PPT中提到研究的统计过程中用到了工具变量,想着再次大家介绍一下这个方法。说不定利用这个方法,哪天我的读者里面也出个诺贝尔奖得主

前几天看了个视频,是2024年诺贝尔经济学奖得主在分享自己的研究,研究问题是“制度如何形成并影响经济繁荣”,在研究这个问题的时候他的PPT中提到研究的统计过程中用到了工具变量,想着再次大家介绍一下这个方法。说不定利用这个方法,哪天我的读者里面也出个诺贝尔奖得主呢,哈哈哈。

想象一下:你想知道“冰淇淋销量”和“溺水人数”之间是否存在关系。你通过数据发现,冰淇淋销量高的月份,溺水人数也比较多。你可能会得出“吃冰淇淋导致溺水”的结论吗?显然不合理。

问题出在哪里?

这里存在一个“遗漏变量”——气温

气温升高,人们更喜欢吃冰淇淋,导致冰淇淋销量上升。气温升高,人们更喜欢去游泳等水上活动,导致溺水人数上升。

所以,冰淇淋销量和溺水人数之间并非直接的因果关系,而是都被气温这个共同的因素所影响。这种因为遗漏变量导致你研究的变量(冰淇淋销量)和影响结果的“其他因素”(这些“其他因素”我们统称为“误差项”)产生关联的情况,就叫做内生性

内生性指的是,在统计模型中,解释变量(比如“吃冰淇淋”)和误差项(也就是我们没有观测到的其他影响因素)之间存在关联。这会导致模型估计结果产生偏差,我们无法准确地推断出因果关系。

In econometrics, endogeneity refers to the situation where an explanatory variable in a regression model is correlated with the error term

具体来说,内生性通常由以下几种原因引起:

1.遗漏变量(Omitted Variable): 模型中遗漏了一个或多个与解释变量和因变量都相关的变量。

例子: 研究教育程度对工资收入的影响时,如果模型中没有考虑到个人能力,而个人能力同时影响教育程度和工资收入,那么教育程度就与误差项相关,产生内生性。

2.双向因果关系(Simultaneity/Reverse Causality): 解释变量和因变量之间存在互为因果的关系。

例子: 研究广告支出对销售额的影响时,广告支出可以促进销售额的增长,而高销售额也可能反过来导致企业增加广告投入,这就形成了双向因果关系。

3.测量误差(Measurement Error): 解释变量的测量存在误差,导致其与误差项相关。

例子: 调查人们的收入水平时,受访者可能由于各种原因(例如,记忆偏差、隐瞒真实收入等)而提供不准确的信息,这就导致收入的测量存在误差,从而产生内生性。

4.样本选择偏差(Sample Selection Bias): 研究对象的选择并非随机,而是基于某些与因变量相关的因素进行选择,导致样本不具有代表性,从而产生内生性。

例子: 研究大学教育对毕业生收入的影响时,如果只有成功找到高薪工作的毕业生才愿意参与调查,那么样本就存在选择偏差,因为高收入本身就与接受大学教育的意愿和能力相关。

工具变量就像是一个“替身”,它可以帮助我们解决内生性问题。为了解决内生性问题,我们需要找到一个只影响“冰淇淋销量”,而不直接影响“溺水人数”的变量。这个变量就叫做工具变量。一个好的工具变量需要有两个重要特征,一个是相关性,另一个是外生性。

An instrumental variable (IV) is a variable that is correlated with the endogenous explanatory variable but is uncorrelated with the error term in the regression model

我们还是用刚刚“冰淇淋销量”和“溺水人数”的例子来说明: 假设我们找到一个工具变量叫做“太阳镜销量”,这个变量它满足:

相关性(Relevance): 气温升高,人们更喜欢买太阳镜,所以“太阳镜销量”和“冰淇淋销量”是相关的。工具变量与内生解释变量高度相关。这意味着工具变量能够有效地预测内生解释变量的变动。外生性(Exogeneity): “太阳镜销量”本身并不会直接导致溺水人数增加。它只能通过影响“冰淇淋销量”来间接影响(或者说和“溺水人数”产生表面上的关联)。工具变量与误差项不相关。这意味着工具变量不会通过其他渠道直接影响因变量,只能通过影响内生解释变量来间接影响因变量。

“太阳镜销量”就满足了工具变量的两个关键条件:

与内生变量(冰淇淋销量)相关。与误差项(影响溺水人数的其他因素,例如水域安全措施、游泳技能等)不相关。

工具变量的目的是将“冰淇淋销量”这个解释变量或者叫做自变量分解成两部分:

受“太阳镜销量”影响的部分: 这部分和“溺水人数”的“其他影响因素”无关。不受“太阳镜销量”影响的部分: 这部分可能和“溺水人数”的“其他影响因素”有关(也就是内生性问题的来源)。

通过工具变量,我们只关注“冰淇淋销量”中不受“其他影响因素”干扰的那部分,从而更准确地估计“冰淇淋销量”和“溺水人数”之间的关系(虽然在这个例子中,我们期望得到的关系是不显著的,也就是吃冰淇淋和溺水没关系)。

再归纳一遍上述思路:就是我们要研究xy的关系,这个关系可能是相当复杂的,复杂到可能根本就无法直接估计,比如社会制度和繁荣的关系;那么这个时候我找到了一个和社会制度强相关的变量Z,并且这个Z和繁荣没关系,那么我们就可以用Z和繁荣的关系去作为xy关系的估计。

但是变量Z其实是不好找的,根本不会存在Z和X完全相关,所以我们依然是要借住统计方法将Z实际起作用的部分抠出来,变成xy的关系可以用受Z影响的x的部分和Y的关系作为估计。

工具变量最常用的应用方法是两阶段最小二乘法:

第一阶段: 用工具变量(太阳镜销量)去预测内生变量(冰淇淋销量),得到“冰淇淋销量的预测值”。这个预测值只包含了“冰淇淋销量”中受“太阳镜销量”影响的部分,因此和“其他影响因素”无关。第二阶段: 用“冰淇淋销量的预测值”去预测因变量(溺水人数)。这样得到的估计结果就消除了内生性带来的偏差。

总体来说就是工具变量的本质是寻找一个外生的变动来源,帮助我们分离出内生变量中与误差项无关的部分,从而更准确地估计变量之间的因果关系。

假设我们研究教育程度(Education)对工资收入(Wage)的影响。但是,教育程度可能存在内生性问题,因为:

遗漏变量: 例如,个人能力可能同时影响教育程度和工资收入,如果模型中没有控制个人能力,就会导致教育程度与误差项相关。双向因果关系: 高工资收入也可能反过来激励人们继续接受教育。

我们可以使用“父母教育程度”(parent Education)作为教育程度的工具变量来消除内生性问题,因为它可能与个人的教育程度相关(父母教育程度高的子女更有可能接受更高的教育),但不太可能直接影响个人的工资收入(除非通过遗传等其他途径,但这种影响相对较弱,可以忽略不计)。

假设我现在有数据如下:

其中wage为因变量工资收入,education为自变量教育程度,parent_edu为工具变量父母教育程度。下面代码便是这个例子中两阶段最小二乘的实操代码

iv_model

代码中要注意公式的写法:ivreg(income ~ edu | paredu, data = data:

income ~ edu: 表示要估计的模型,即收入是教育水平的函数。| paredu: 表示paredu是edu的工具变量。

运行代码后输出结果如下:

可以看到模型估计的自变量的系数为0.3461,并且是显著的,意味着受教育程度确实会影响工资收入。

设置参数diagnostics = TRUE,会输出一系列的检验结果:

Weak instruments(弱工具变量检验): 。F 统计量(First-stage F statistic)应该足够大(通常大于10),以避免弱工具变量问题。若F统计量过小,则说明工具变量与内生变量的相关性不够强,可能导致2SLS估计的偏差仍然很大。可以看到我们结果P很小,意思是拒绝了弱工具变量的原假设。Hausman test(豪斯曼检验): 用于检验是否存在内生性。原假设是OLS估计是有效的(即不存在内生性)。如果豪斯曼检验拒绝原假设(p 值小于显著性水平),则表明存在内生性,需要使用工具变量回归。可以看到结果中该检验p值大,说明确实存在内生性需要做两阶段最小二乘。Sargan test(萨根检验或过度识别检验): 仅当工具变量个数多于内生变量个数时进行。检验工具变量的外生性是否成立。原假设是所有工具变量都是外生的。如果萨根检验拒绝原假设,则表明至少有一个工具变量不是外生的,模型设定存在问题。在本例中,只有一个工具变量,因此不会有Sargan检验。

总之,工具变量回归是一种重要的计量经济学方法,用于解决内生性问题。正确理解和使用工具变量回归需要仔细考虑工具变量的选择、检验和解释。在实际应用中,应该结合具体的研究问题和数据情况,谨慎使用工具变量回归。

今天从给大家写了工具变量以及实操方法,希望这个大白话的解释能够帮助你理解。感谢大家耐心看完,自己的文章都写的很细,重要代码都在原文中,希望大家都可以自己做一做。如果对您有用请先记得收藏,再点赞分享。也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,有疑问欢迎私信,有合作意向请直接滴滴我。

如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、模型构建,科研统计设计等发愁,如果你在使用SPSS, R,Mplus中遇到任何问题,都可以联系我。因为我可以给您提供最好的,最详细和耐心的数据分析服务。

如果你对Z检验,t检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取详细和耐心的指导。

如果你或你的团队需要专业的科研数据清洗,建模服务,教学培训需求等等。请联系我。

If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #Reports, #Composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.

Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??

Then Contact Me. I will solve your Problem...

If You or Your Research Team Need Professional Scientific Data Cleaning, Model Building Services or Statistical Consulting... Please Contact Me.

R机器学习:决策树算法的理解与实操

R数据分析:临床研究样本量计算、结果解读与实操

R数据分析:网状meta分析的理解与实操

R数据分析:非劣效性研究设计的统计处理方法,原理和实例

R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析

R数据分析:净重新分类(NRI)和综合判别改善(IDI)指数的理解

R数据分析:反事实框架和因果中介的理论理解

R数据分析:广义估计方程式GEE的做法和解释

R数据分析:潜类别轨迹模型LCTM的做法,实例解析

R数据分析:潜变量与降维方法(主成分分析与因子分析)

R数据分析:如何给结构方程画路径图,tidySEM包详解

R数据分析:生存分析与有竞争事件的生存分析的做法和解释

R机器学习:朴素贝叶斯与支持向量机的原理与实现

R数据分析:混合效应模型的可视化解释,再不懂就真没办法

R数据分析:tableone包的详细使用介绍

R数据分析:如何用lavaan包做结构方程模型,实例解析

R机器学习:分类算法之K最邻进算法(KNN)的原理与实现

来源:Codewar

相关推荐