【Python实战因果推断】13_线性回归的不合理效果3

目录

Regression Theory

Single Variable Linear Regression

Multivariate Linear Regression

 Frisch-Waugh-Lovell Theorem and Orthogonalization


Regression Theory

我不打算太深入地探讨线性回归是如何构建和估计的。不过,一点点理论知识将有助于解释线性回归在因果推理中的作用。首先,回归解决的是最佳线性预测问题。假设 β* 是一个 参数向量:

\beta^\star=argmin E\Big[(Y_i-X_i'\beta)^2\Big]

线性回归可以找到最小化均方误差 (MSE) 的参数。如果将其微分并设为零,就会发现这个问题的线性解如下:

\beta^\star=E[X'X]^{-1}E[X'Y]

也可以用样本估计beta

\hat{\beta}=(X'X)^{-1}X'Y

但不要相信我的话。如果你是那种理解代码胜过理解公式的人,那就自己试试吧。在下面的代码中,我使用 OLS 的代数解来估计你刚才看到的模型的参数(我添加了截距作为最终变量,因此第一个参数估计值将是 β1):

 X_cols = ["credit_limit", "wage", "credit_score1", "credit_score2"]X = risk_data[X_cols].assign(intercep=1)y = risk_data["default"]def regress(y, X):return np.linalg.inv(X.T.dot(X)).dot(X.T.dot(y))beta = regress(y, X)betaarray([ 3.062e-06, -8.821e-05, -4.174e-05, -3.039e-04, 4.0364-01])

如果你回过头来看一下,就会发现这些数字与你之前用 statsmodels 中的 ols 函数估计模型时得到的数字完全相同。

Single Variable Linear Regression

上一节的 β 公式非常通用。不过,研究一下只有一个回归变量的情况还是有好处的。在因果推断中,您经常想要估计一个变量 T 对结果 y 的因果影响,因此,您使用这个单一变量的回归来估计这种影响。

在只有一个回归变量 T 的情况下,与之相关的参数为

\hat{\tau}=\frac{Cov\big(Y_i,T_i\big)}{Var\big(T_i\big)}=\frac{E\big[\big(T_i-\overline{T}\big)\big(Y_i-\overline{Y}\big)\big]}{E\big[\big(T_i-\overline{T}\big)^2\big]}

如果 T 是随机分配的,β1 就是 ATE。重要的是,通过这个简单的公式,您可以了解回归的作用。它是要找出干预和结果是如何共同作用的(用分子中的协方差表示),然后用干预的单位来表示,即除以干预的方差。

Multivariate Linear Regression

原来,除了你之前看到的一般公式之外,还有另一种方法来看待多元线性回归。这另一种方法让我们对回归的作用有了一些了解。

如果你有不止一个回归变量,你可以扩展单变量回归公式以适应这种情况。假设其他变量只是辅助变量,而您真正感兴趣的是估计与 T 相关的参数 τ:

y_{i}=\beta_{0}+\tau T_{i}+\beta_{1}X_{1i}+ . . . +\beta_{k}X_{ki}+u_{i}

\tau可以用以下公式来估计:\hat{\tau}=\frac{Co\nu\left(Y_i,\widetilde{T_i}\right)}{Var\left(\widetilde{T_i}\right)}, 其中\widetilde{T}_i是Ti对所有其他协变量X_{1i}+ . . . +X_{ki}回归的残差。

现在,让我们来体会一下这有多酷。这意味着多元回归的系数是同一回归变量在考虑了模型中其他变量的影响后的二元系数。用因果推理的术语来说,\tau是使用所有其他变量预测 T 后的双变量系数。

这背后有一个很好的直觉。如果能用其他变量预测 T,就意味着它不是随机的。然而,一旦控制了所有干扰变量 X,你就可以让 T 看起来和随机的一样好。为此,你可以使用线性回归从混杂因子中预测它,然后取该回归\widetilde{T}的残差 。根据定义,\widetilde{T}不能被你已经用来预测T的其他变量X来预测。 相当优雅地说,\widetilde{T} 是与 X 中任何其他变量都不相关(不相关)的干预版本。

我知道这很拗口,但实在是太神奇了。事实上,这已经是我答应要教大家的 FWL 定理的工作原理了。所以,如果你还不太理解多元回归部分,也不用担心,因为接下来你将以一种更直观、更形象的方式来复习它。

 Frisch-Waugh-Lovell Theorem and Orthogonalization

FWL 式正交化是您可以使用的第一种主要去杂技术。它是一种简单而强大的方法,可以让非实验数据看起来像是经过随机干预的。FWL 主要是关于线性回归的;FWL 式正交化已经扩展到了更广泛的环境中,你将在第三部分中看到。Frisch-Waugh-Lovell 定理指出,多元线性回归模型可以一次性或分三步进行估计。例如,您可以将违约与信贷限额、工资、信贷评分 1 和信贷评分 2 进行回归,就像您已经做的那样:

 formula = 'default ~ credit_limit + wage+credit_score1+credit_score2'model = smf.ols(formula, data=risk_data).fit()model.summary().tables[1]

但是,根据 FWL,您还可以将这一估算细分为
1. 去偏步骤,将干预 T 与混杂因素 X 进行回归,得到干预残差 \tilde{T}=T-\hat{T}
2. 去噪步骤:将结果 Y 与混杂变量 X 进行回归,得到结果残差 Y。
3. 结果模型,将结果残差 Y 与干预残差 T 进行回归,得到结果残差 Y = Y - Y 3.
残差 T,得到 T 对 Y 的因果效应的估计值。

毫不奇怪,这只是重述了 "多元线性回归 "中看到的公式。FWL 定理说明了回归模型估计程序的等价性。该定理还指出,您可以分离线性回归中的除杂成分,这就是前面列表中概述的第一步。为了更直观地了解发生了什么,让我们一步一步来分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/38841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS NEXT】鸿蒙如何动态添加组件(NodeController)

NodeController用于实现自定义节点的创建、显示、更新等操作的管理,并负责将自定义节点挂载到NodeContainer上。 说明 本模块首批接口从API version 11开始支持 当前不支持在预览器中使用NodeController。 导入模块 import { NodeController } from "ohos…

尚硅谷k8s 2

p54-56 k8s核心实战 service服务发现 Service:将一组 Pods 公开为网络服务的抽象方法。 #暴露Deploy,暴露deploy会出现在svc kubectl expose deployment my-dep --port8000 --target-port80#使用标签检索Pod kubectl get pod -l appmy-depapiVersion: v1 kind: Service metad…

无锁编程——从CPU缓存一致性讲到内存模型(1)

一.前言 1.什么是有锁编程,什么是无锁编程? 在编程中,特别是在并发编程的上下文中,“无锁”和“有锁”是描述线程同步和资源访问控制的两种不同策略。有锁(Locked): 有锁编程是指使用锁(例如互…

Python系统教程01

Python 是一门解释性语言,相对更简单、易学,它可以用于解决数学问题、获取与分 析数据、爬虫爬取网络数据、实现复制数学算法等等。 1、print()函数: print()书写时注意所有的符号都是英文符号。print()输出内容时,若要输出字符…

大力出奇迹:大语言模型的崛起与挑战

随着人工智能(AI)技术的迅猛发展,特别是在自然语言处理(NLP)领域,大语言模型(LLM)的出现与应用,彻底改变了我们与机器互动的方式。本文将探讨ChatGPT等大语言模型的定义、…

回溯 | Java | LeetCode 39, 40, 131 做题总结(未完)

Java Arrays.sort(数组) //排序 不讲究顺序的解答,都可以考虑一下排序是否可行。 39. 组合总和 错误解答 在写的时候需要注意,sum - candidates[i];很重要,也是回溯的一部分。 解答重复了。是因为回溯的for循环理解错了。 class Solutio…

力扣热100 哈希

哈希 1. 两数之和49.字母异位词分组128.最长连续序列 1. 两数之和 题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。…

34. 在排序数组中查找元素的第一个和最后一个位置(中等)

34. 在排序数组中查找元素的第一个和最后一个位置 1. 题目描述2.详细题解(1)朴素二分查找算法(2)改进二分查找算法 3.代码实现3.1 Python  方法一:  方法二:  方法三:优化方法二 3.2 Java 1. 题目描述 题目中转…

Elasticsearch:Painless scripting 语言(二)

这是继上一篇文章 “Elasticsearch:Painless scripting 语言(一)” 的续篇。 使用 field API 访问文档中的字段 警告:Field API 仍在开发中,应视为测试版功能。API 可能会发生变化,此迭代可能不是最终状态。…

Ubuntu20.04 安装 cudatookit 12.2 + cudnn 安装

最简约的部署Ubuntu20.04深度学习环境的教程 1. 安装Ubuntu20.04 系统 B站详细的安装教程 简约安装版 2. 安装Nvidia显卡驱动 我参考了各种资料,重装系统,完美解决开机显示器黑屏无法进入桌面的情况 黑屏问题主要是由linux内核更新导致,…

煤矿ar远程协作平台系统提升了操作的安全性和效率

工业AR远程专家协助系统为企业量身打造大型设施的虚拟布局方案。借助先进的AR增强现实技术,企业能够在虚拟环境中精准模拟并购买适配设备,确保设施的顺畅运行。同时,工业AR远程专家协助系统能提供的协作功能让团队成员能够实时共享虚拟布局&a…

昇思25天学习打卡营第8天|MindSpore-SSD目标检测

SSD目标检测介绍 SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法。使用Nvidia Titan X在VOC 2007测试集上,SSD对于输入尺寸300x300的网络,达到74.3%mAP(mean Average Precision)以及59FPS;对于512x512的网络,达到了76.9%mAP ,超…

Mouse Albumin ELISA Kit小鼠白蛋白ELISA试剂盒

白蛋白存在于所有哺乳动物和许多低等脊椎动物的血管内和血管外,是一种由肝脏合成的约67kDa的蛋白质。正常情况下,只有非常微量的白蛋白能逃过肾小球的重吸收,并被排泄到尿液中。ICL的Mouse Albumin ELISA Kit是一种高灵敏度的双抗体夹心法ELI…

基于“香港世界”的SLAM技术介绍

在视觉感知技术中,理解和描述复杂的三维室外场景至关重要,尤其是自动驾驶技术的发展要求对陌生环境具有更强的适应能力和鲁棒性。传统上,使用“曼哈顿世界”和“亚特兰大世界”模型来描述具有垂直和水平结构的城市场景。 当遇到像香港这样地形…

某安全公司DDoS攻击防御2024年6月报告

引言: 在2024年6月,网络空间的安全挑战汹涌澎湃。分布式拒绝服务(DDoS)攻击频发,针对云服务、金融科技及在线教育平台的精密打击凸显出当前网络威胁环境的严峻性。 某安全公司作为网络安全防护的中坚力量&#xff0c…

代码随想录算法训练营Day55|42.接雨水、84.柱状图中最大的矩形

接雨水 42. 接雨水 - 力扣(LeetCode) 暴力解法 对计算接到的雨水,有两种方式,一是按照行来计算。 另一种是按列计算 按列计算容易不乱。基本思路如下: 对每列i进行循环,在循环中,找到该列左…

HarmonyOS Next开发学习手册——视频播放 (Video)

Video组件用于播放视频文件并控制其播放状态,常用于为短视频和应用内部视频的列表页面。当视频完整出现时会自动播放,用户点击视频区域则会暂停播放,同时显示播放进度条,通过拖动播放进度条指定视频播放到具体位置。具体用法请参考…

寒武纪实现高维向量的softmax进阶优化和库函数对比

关于寒武纪编程可以参考本人之前的文章添加链接描述,添加链接描述,添加链接描述 实验证明,axis=0和axis=-1的时候,手写softmax速度可以和库函数媲美,甚至于更甚一筹。 src/softmax.mlu #include <bang.h> #include

Nik Collection by DxO:摄影师的创意利器与调色宝典

在数码摄影的世界里&#xff0c;后期处理是摄影师们展现创意、调整细节、提升作品质量的重要步骤。而Nik Collection by DxO作为一款由DxO公司开发的强大照片编辑插件套件&#xff0c;为摄影师们提供了一套全面的、功能丰富的工具集&#xff0c;让他们的创意得以充分发挥。 Ni…

遇到多语言跨境电商系统源码问题?这里有解决方案!

从手机到电脑&#xff0c;从线下到线上&#xff0c;如今&#xff0c;跨境电商正在打破地域界限&#xff0c;成为全球贸易的新引擎。在这个全球化的背景下&#xff0c;跨境电商平台的运营也面临着一系列的挑战&#xff0c;其中之一就是多语言问题。如果你遇到了多语言跨境电商系…