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

目录

Debiasing Step

Denoising Step

 Standard Error of the Regression Estimator


Debiasing Step

回想一下,最初由于混杂偏差,您的数据看起来是这样的、 随着信贷额度的增加,违约率呈下降趋势:

根据 FWL 定理,您可以通过拟合一个回归模型来预测混杂因素对信用额度的干预情况,从而对这一数据进行去伪存真。然后,您可以求出该模型的残差:\widetilde{line}_i=line_i-\widehat{line}_i 。这个残差可以看作是与去伪存真模型中使用的变量不相关的干预结果。这是因为,根据定义,残差与产生预测结果的变量是正交的。

这一过程将使残差\widetilde{line}以零为中心。您还可以选择将平均干预值\overline{line}加回来: \widetilde{line}_i=line_i-\widehat{line}_i+\overline{line}

这对于去偏是不必要的,但它将\widetilde{line}放在与原始line相同的范围内,这更适合于可视化的目的:

 debiasing_model = smf.ols('credit_limit ~ wage + credit_score1 + credit_score2',data=risk_data).fit()risk_data_deb = risk_data.assign(# for visualization, avg(T) is added to the residualscredit_limit_res=(debiasing_model.resid+ risk_data["credit_limit"].mean()))

如果您现在运行一个简单的线性回归,将结果风险与去干预化或残差化的处理结果线性回归,您就已经得到了信用额度对风险的影响,同时控制了去干预化模型中使用的混杂因素。这里得到的 β1 参数估计值与之前运行完整模型得到的参数估计值完全相同,在完整模型中包含了干预和混杂因素:

 model_w_deb_data = smf.ols('default ~ credit_limit_res',data=risk_data_deb).fit()model_w_deb_data.summary().tables[1]

但还是有区别的。看看 p 值。它比你之前得到的要高一些。这是因为你没有应用去噪步骤,而去噪步骤的作用是减少方差。尽管如此,考虑到所有的混杂因素都包含在去噪模型中,仅通过去噪步骤,您就可以得到信用额度对风险的因果影响的无偏估计值。您还可以通过绘制除权后的信用额度与违约率的对比图来直观地了解情况。你会发现,这种关系不再像数据有偏差时那样向下倾斜:

Denoising Step

去偏步骤对于估算出正确的因果效应至关重要,而去噪步骤虽然没有那么重要,但也是不错的选择。它不会改变干预效果估计值,但会减小其方差。在这一步中,您将对干预结果与非治疗的协变量进行回归。然后,您将得到结果的残差

\widetilde{default}_i=default_i-\widehat{default}_i

同样,为了达到更好的可视化效果,您可以将平均默认设置率添加到去噪默认设置变量中:\widetilde{default}_i=default_i-\widehat{default}_i+\overline{default}

 denoising_model = smf.ols('default ~ wage + credit_score1 + credit_score2',data=risk_data_deb).fit()risk_data_denoise = risk_data_deb.assign(default_res=denoising_model.resid + risk_data_deb["default"].mean())

 Standard Error of the Regression Estimator

既然我们在讨论噪声,我想现在是了解如何计算回归标准误差的好时机。回归参数估计的 SE 由以下公式给出:

SE\big(\hat{\beta}\big)=\frac{\sigma(\hat{\epsilon})}{\sigma(\tilde{T}\big)\sqrt{n-DF}},

其中,\hat{\epsilon} 是回归模型的残差,DF 是模型的自由度(模型估计的参数数)。

 model_se = smf.ols('default ~ wage + credit_score1 + credit_score2',data=risk_data).fit()print("SE regression:", model_se.bse["wage"])model_wage_aux = smf.ols('wage ~ credit_score1 + credit_score2',data=risk_data).fit()# subtract the degrees of freedom - 4 model parameters - from N.se_formula = (np.std(model_se.resid)/(np.std(model_wage_aux.resid)*np.sqrt(len(risk_data)-4)))print("SE formula: ", se_formula)

这个公式很好,因为它能让你进一步直观地了解一般回归,特别是去噪步骤。首先,分子告诉你,你能预测的结果越好,残差就越小,因此估计值的方差就越小。这正是去噪步骤的目的所在。它还告诉你,如果干预方法能很好地解释结果,其参数估计的标准误差也会更小。

有趣的是,误差还与(残差化)干预处理的方差成反比。这也很直观。如果干预措施的方差很大,就更容易衡量其影响。

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

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

相关文章

c文件读写

格式输入输出 文件指针 FILE *pf 文件打开 fopen("文件名",打开方式)  文件名:普通字符串 打开方式:读、写、文本文件、二进制文件 rt、wt、at、rb、wb、ab、rt、wt、at、rb、wb、ab (r 为读,w 为写, 为读写&…

解锁机器学习潜力的钥匙:深度剖析交叉验证集的应用与魅力

一、为何需要交叉验证集 在构建机器学习模型时,我们通常会面临一个关键问题:如何确保模型在新数据上的表现与在训练数据上一样出色?这涉及到模型的泛化能力——即模型对未见过的数据做出准确预测的能力。传统的训练集/测试集划分方法虽然简单…

亿纬锂能社招入职通用职业能力测评大易题库及薪资待遇

一、亿纬锂能薪资待遇 1. **平均工资**:根据职朋职业圈的数据,惠州亿纬锂能股份有限公司的平均工资为10924元/月。网易新闻的报道则提到,亿纬锂能的月收入平均值为16598元。 2. **工资区间**:在亿纬锂能,工资收入有多…

Vue.nextTick原理

nextTick 是 Vue.js 中常见的一种异步更新 DOM 的机制。实现原理主要涉及异步更新队列和事件循环机制。 异步更新队列: Vue 在更新 DOM 时是异步执行的。一旦侦听到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据变更。如…

kafka消费者监听消费

1. pom <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency>2. kafka 监听消费 消费成功调用 ack.acknowledge()方法确认。 import com.xxx.gsc.sci.order.entity.SciMbgPsdH…

docker liunx的底层逻辑是什么,docker 的原理是什么?怎么部署及应用,Docker的来龙去脉

Docker 是一种用于开发、交付和运行应用程序的开源平台。它使应用程序能够在容器中运行&#xff0c;提供了轻量级的虚拟化环境。以下是 Docker 的底层逻辑、原理以及部署和应用的方法。 Docker 的底层逻辑 Docker 的核心是利用 Linux 内核的几个特性来实现轻量级的虚拟化&…

使用dot来画流程图

Dot是一种图形描述语言&#xff0c;属于Graphviz软件的一部分。Graphviz是一个用于可视化图形&#xff08;图表、网络图等&#xff09;的开源工具集。使用Dot语言&#xff0c;你可以创建并描述节点和边&#xff0c;从而生成图形。以下是如何使用Dot语言画图的基本步骤&#xff…

【CSAPP】-attacklab实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果&#xff08;可贴图&#xff09; 实验总结 实验目的与要求 1. 强化机器级表示、汇编语言、调试器和逆向工程等方面基础知识&#xff0c;并结合栈帧工作原理实现简单的栈溢出攻击&#xff0c;掌握其基…

C++线程安全是如何保证的?线程不安全是如何出现的?有什么处理方案呢

在C中&#xff0c;保证线程安全有如下几种机制&#xff1a; 1. 互斥锁&#xff08;Mutex&#xff09; 互斥锁用于保护共享资源&#xff0c;确保同一时间只有一个线程可以访问&#xff1a; #include <mutex> #include <thread>std::mutex mtx; // 全局互斥锁void…

游游的水果大礼包(枚举)

题目链接&#xff1a;https://ac.nowcoder.com/acm/problem/255193 题解 题目解析 就拿第一个例子来看&#xff0c;当选择组成1个一号礼包和1个二号礼包时最大的价值是3元&#xff0c;而选择2个二号礼包时&#xff0c;最大的价值是4元&#xff0c;因此选择2个二号礼包。 算法…

2-23 基于matlab的小波变换碰磨故障信号的特征提取

基于matlab的小波变换碰磨故障信号的特征提取&#xff0c;可以画出信号原图&#xff0c;轴心轨迹&#xff0c;频谱图以及多层小波变换的重构信号。程序已调通&#xff0c;可直接运行。 2-23 小波变换 碰磨故障信号 轴心轨迹 - 小红书 (xiaohongshu.com)

工厂设计模式的实现与应用场景分析

工厂设计模式的实现与应用场景分析 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 工厂设计模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模…

Spring Boot 中使用 Spring Security 实现安全访问权限管理:详尽指南

引言&#xff1a; 在现代Web应用开发中&#xff0c;安全是一个至关重要的环节。Spring Security 是一个功能强大且高度可定制的安全框架&#xff0c;能够为Spring Boot应用提供全面的安全解决方案&#xff0c;包括认证&#xff08;Authentication&#xff09;和授权&#xff0…

html+css+js写的多人在线积分系统

可以添加成员&#xff0c;成员名称自定义 可以对各个成员加分减分➕➖ 可以删除成员 源码在图片下面&#xff0c;记得点赞加关注❤️❤️❤️ 界面 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8">…

2.2.5 C#中显示控件BDPictureBox 的实现----ROI交互续2

2.2.5 C#中显示控件BDPictureBox 的实现----ROI交互续2 1 ROI数组作用说明 变量&#xff1a;m_ROIs[5] ROI 使用效果图 ROI数组说明 2 ROI显示逻辑图 ROI 交互主要是在设定状态下&#xff0c; runmode下只要普通显示即可 3 主要ROI显示函数函数 判断当前鼠标是否获取…

怎么快速给他人分享图片?扫描二维码看图的简单做法

现在通过二维码来查看图片是一种很常见的方法&#xff0c;通过二维码来查看图片不仅能够减少对手机存储空间的占用&#xff0c;而且获取图片变得更加方便快捷&#xff0c;只需要扫码就能够查看图片&#xff0c;有利于图片的展现。很多的场景中都有图片二维码的应用&#xff0c;…

个人微信二次开发

​ 由于自身在机器人方面滚爬多年&#xff0c;现在收藏几个宝藏机器人 推荐一下自己常用的机器人&#xff1a; 适合有技术开发的公司&#xff0c;可以自主开发所需要的功能&#xff01;十分齐全 测试问文档&#xff1a;https://www.wkteam.cn/ 有需要的兄弟可以看一下&#…

题库-编程题

1&#xff0e;用循环的嵌套&#xff0c;输出输出如下图形 * * * * * * * * * * * * * * * * * * * * * * * * * package Exercises.One_Hundred; ​ public class Demo01 {public static void main(String[] args) {for(int i1;i<5;i){for(int j1;j<2*i-1;j){Sys…

音视频同步的关键:深入解析PTS和DTS

&#x1f60e; 作者介绍&#xff1a;我是程序员行者孙&#xff0c;一个热爱分享技术的制能工人。计算机本硕&#xff0c;人工制能研究生。公众号&#xff1a;AI Sun&#xff0c;视频号&#xff1a;AI-行者Sun &#x1f388; 本文专栏&#xff1a;本文收录于《音视频》系列专栏&…

App备案过程中遇到的一些注意事项

上一篇从零开始完成App的ICP备案我们大致的把App的备份过了一遍&#xff0c;这次主要说下中途可能遇到的坑。 App备案需要通过接入服务商备案&#xff0c;同时需要域名、备案码&#xff08;1个app一个&#xff0c;android和ios版本共享&#xff09; 1. 备案名称 备案的名称就…