【因果推断python】1_因果关系初步1

目录

为什么需要关心因果关系?

回答不同类型的问题

当关联确实是因果时


为什么需要关心因果关系?

首先,您可能想知道:它对我有什么好处?下面的文字就将围绕“它”展开:

回答不同类型的问题

机器学习目前非常擅长回答的问题类型是预测类型。正如 Ajay Agrawal、Joshua Gans 和 Avi Goldfarb 在《预测机器》一书中所说,“人工智能的新浪潮实际上并没有给我们带来智能,而是智能的一个关键组成部分——预测”。我们可以用机器学习做各种美妙的事情。唯一的要求是我们将问题构建为预测问题。想从英语翻译成葡萄牙语?然后构建一个 ML 模型,在给定英语句子时预测葡萄牙语句子。想识别人脸?然后构建一个 ML 模型,该模型预测图片子部分中是否存在人脸。想造一辆自动驾驶汽车吗?然后构建一个 ML 模型来预测车轮的方向以及当呈现来自汽车周围的图像和传感器时的刹车和油门压力。

然而,ML 并不是万能的。它可以在非常严格的边界下创造奇迹,但如果它使用的数据与模型习惯的数据略有不同,它仍然会失败。再举一个来自 Prediction Machines 的例子,“在许多行业中,低价格与低销量有关。比如在酒店行业,旅游旺季外价格低,需求旺盛、酒店爆满时价格高。鉴于这些数据,一个幼稚的预测可能表明提高价格会导致售出更多房间。”

ML 在这种逆因果关系类型的问题上是出了名的糟糕。这类问题要求我们回答“假设发生”这样的问题,经济学家称之为反事实。假设我目前要求的商品不是这个价格,而是使用另一个价格,会发生什么情况?假设我不采用这种低脂饮食,而是采用低糖饮食,会发生什么?假设您在银行工作,提供信贷,您将必须弄清楚更改客户线会如何改变您的收入。或者,假设您在当地政府工作,您可能会被要求弄清楚如何改善学校教育系统。您是否应该因为数字知识时代告诉您而将平板电脑送给每个孩子?或者你应该建造一个老式的图书馆?

这些问题的核心是我们希望知道答案的因果调查。因果问题渗透到日常问题中,例如弄清楚如何提高销售额,但它们也在我们非常个人和宝贵的困境中发挥重要作用:我是否必须上一所昂贵的学校才能在生活中取得成功(是吗?教育导致收入)?移民是否会降低我找到工作的机会(移民是否会导致失业率上升)?向穷人汇款会降低犯罪率吗?不管你在哪个领域,很可能你已经或将不得不回答某种类型的因果问题。不幸的是,对于 ML,我们不能依靠相关类型预测来解决它们。

回答这类问题比大多数人想象的要困难。您的父母可能已经向您反复说过“关联不是因果关系”,但实际上要解释为什么会这样却是有点困难的。这也是因果关系要讲的。至于其余部分,它将致力于弄清楚如何使关联成为因果关系。

当关联确实是因果时

直觉上,我们模糊地知道为什么关联不是因果关系。 如果有人告诉您,为学生提供平板电脑的学校比不提供平板电脑的学校表现更好,您可以很快指出,那些配备平板电脑的学校可能更富有。 因此,即使没有平板电脑,他们的表现也会比平均水平更好。 因此,我们不能得出结论说,在课堂上给孩子们使用平板电脑会提高他们的学习成绩。 我们只能说学校的平板电脑与学习成绩表现好有关。

import pandas as pd
import numpy as np
from scipy.special import expit
import seaborn as sns
from matplotlib import pyplot as plt
from matplotlib import style

style.use("fivethirtyeight")

np.random.seed(123)
n = 100
tuition = np.random.normal(1000, 300, n).round()
tablet = np.random.binomial(1, expit((tuition - tuition.mean()) / tuition.std())).astype(bool)
enem_score = np.random.normal(200 - 50 * tablet + 0.7 * tuition, 200)
enem_score = (enem_score - enem_score.min()) / enem_score.max()
enem_score *= 1000

data = pd.DataFrame(dict(enem_score=enem_score, Tuition=tuition, Tablet=tablet))

plt.figure(figsize=(6,8))
sns.boxplot(y="enem_score", x="Tablet", data=data).set_title('ENEM score by Tablet in Class')
plt.show()

为了超越简单的直觉,让我们首先建立一些符号。 这将是我们谈论因果关系的共同语言。 把它想象成我们将用来识别其他勇敢和真正的因果战士的通用语言,它将在未来的许多战斗中组成我们的呼声。

T_{i}表示单元i的干预量,

这里的干预不需要是药物或医学领域的任何东西。 相反,它只是一个术语,我们将用它来表示一些我们想知道其效果的干预。 在我们的案例中,治疗是给学生服用药片。 作为旁注,您有时可能会看到D而不是T来表示干预。然后把Y_{i}称为单元i的观察结果变量。

结果是我们感兴趣的变量。 我们想知道干预是否有任何影响。 在我们的平板电脑示例中,它将是学习成绩。这就是事情变得有趣的地方。 因果推断的基本问题是我们永远无法在经过处理和未经处理的情况下观察到同一个单元。 就好像我们有两条不同的道路,我们只能知道我们走的那条路前面有什么。

为了解决这个问题,我们将在潜在结果方面进行很多讨论。它们被成为潜在的结果是因为它们实际上并没有发生。相反,它们表示在采取某些干预的情况下会发生什么。我们有时将发生的潜在结果称为事实,而将未发生的潜在结果称为反事实。

至于符号,我们使用了一个额外的下标:Y_{0i}是未经处理的单元i的潜在结果,Y_{1i}是相同单元i的潜在结果。而有时也表示为Y_{i}(t)Y_{0i}可以是Y_{i}(0)Y_{1i}可以是Y_{i}(1)。回到我们的例子,如果学生i拿到平板电脑,我们可以观察到Y_{1i},否则我们可以观察到Y_{0i},我们可以定义个体治疗效果:Y_{1i}-Y_{0i}

当然,由于因果推断的根本问题,我们永远无法知道个体的治疗效果,因为我们只观察了其中一种潜在结果。目前,让我们关注一些比估计个体治疗效果更容易的事情。相反,让我们关注平均处理效果,其定义:ATE=E[Y_{1}-Y_{0}],其中E是期望。另一个更容易估计的数量是对被干预者的平均干预效果

现在,我知道我们不能看到两种潜在的结果,但为了争论,我们假设我们可以。假设因果推理之神对我们进行的许多统计斗争感到满意,并以上帝般的力量奖励我们,以查看替代的潜在结果。有了这种能力,假设我们收集了 4 所学校的数据。我们知道他们是否向学生提供平板电脑以及他们在某些年度学术测试中的分数。在这里,平板电脑是治疗方法,所以T=1如果学校向孩子们提供平板电脑,Y将是测试分数。

这里的ATE将是最后一列的平均值,即治疗效果的平均值:ATE=(-50+0-200+50)/4 = -50

这意味着平板电脑会使学生的学习成绩平均降低 50 分。 当 T=1 时,这里的ATT将是最后一列的平均值:ATT=(-200+50)/2=-75

也就是说,对于接受治疗的学校,平板电脑使学生的学习成绩平均降低了 75 分。 当然,我们永远无法知道这一点。 实际上,上表如下所示:

您可能会说,这肯定不理想,但我不能仍然采用处理过的平均值并将其与未处理过的平均值进行比较吗? 换句话说,我不能只做ATE=(600+750)/2-(500+600)/2=125么?不!注意结果的不同。 那是因为你刚刚犯了将联想误认为因果关系的最严重的罪过。 要了解原因,让我们来看看因果推理的主要敌人。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MOS管开关电路简单笔记

没错&#xff0c;这一篇还是备忘录&#xff0c;复杂的东西一律不讨论。主要讨论增强型的PMOS与NMOS。 PMOS 首先上场的是PMOS,它的导通条件&#xff1a;Vg-Vs<0且|Vg-Vs>Vgsth|&#xff0c;PMOS的电流流向是S->D,D端接负载&#xff0c;S端接受控电源。MOS管一般无法…

opencascade 笔记

opencascade 画一个无限大的面 在 OpenCascade 中&#xff0c;要绘制一个无限大的面&#xff0c;你可以使用 gp_Pln 类来定义一个平面&#xff0c;然后将其绘制出来。这里是一个示例代码&#xff0c;演示如何在 OpenCascade 中绘制一个无限大的平面&#xff1a; #include <…

STM32-12-OLED模块

STM32-01-认识单片机 STM32-02-基础知识 STM32-03-HAL库 STM32-04-时钟树 STM32-05-SYSTEM文件夹 STM32-06-GPIO STM32-07-外部中断 STM32-08-串口 STM32-09-IWDG和WWDG STM32-10-定时器 STM32-11-电容触摸按键 文章目录 1. OLED显示屏介绍2. OLED驱动原理3. OLED驱动芯片简介4…

pytorch笔记:torch.nn.Flatten()

1 介绍 torch.nn.Flatten(start_dim1, end_dim-1) 将一个连续的维度范围扁平化为一个张量 start_dim (int)要开始扁平化的第一个维度&#xff08;默认值 1&#xff09;end_dim (int)要结束扁平化的最后一个维度&#xff08;默认值 -1&#xff09; 2 举例 input torch.ra…

过去的六年,教会了我很多事

目录 过去六年的风风雨雨android缘起爱情缘灭顿悟收拾心情&#xff0c;再次启航面试阿里大起大落 如今时光&#xff0c;刺激且美好未来展望 过去六年的风风雨雨 android缘起 2018年&#xff0c;我从北京联合大学毕业&#xff0c;跟随着学长一起创业&#xff0c;从此开始了我的…

DeFi的历程与未来:探寻去中心化金融的前行路

随着区块链技术的不断演进和加密货币市场的持续繁荣&#xff0c;DeFi&#xff08;去中心化金融&#xff09;作为一种新兴领域正迅速崛起&#xff0c;其发展历史和未来前景备受关注。 过去&#xff1a;DeFi 的发展历史 DeFi 并非一夜之间出现&#xff0c;而是经历了一系列的发展…

【信息学奥赛】字典的键和值对换

【信息学奥赛】字典的键和值对换 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 输入一个字典&#xff0c;要求将该字典的键和值对换。&#xff08;注意&#xff0c;字典中有键的值是重复的&#xff09; 输入&#xff1a; 一行&#xff0…

【ai】livekit服务本地开发模式2:模拟1个发布者

是一个会议用软件:LiveKit is an open source project that provides scalable, multi-user conferencing based on WebRTC. It’s designed to provide everything you need to build real-time video audio data capabilities in your applications.LiveKit’s server is wr…

DiffBIR论文阅读笔记

这篇是董超老师通讯作者的一篇盲图像修复的论文&#xff0c;目前好像没看到发表在哪个会议期刊&#xff0c;应该是还在投&#xff0c;这个是arxiv版本&#xff0c;代码倒是开源了。本文所指的BIR并不是一个single模型对任何未知图像degradation都能处理&#xff0c;而是用同一个…

网络模型—BIO、NIO、IO多路复用、信号驱动IO、异步IO

一、用户空间和内核空间 以Linux系统为例&#xff0c;ubuntu和CentOS是Linux的两种比较常见的发行版&#xff0c;任何Linux发行版&#xff0c;其系统内核都是Linux。我们在发行版上操作应用&#xff0c;如Redis、Mysql等其实是无法直接执行访问计算机硬件(如cpu&#xff0c;内存…

剪画小程序:视频伪原创怎么制作?视频伪原创的几种制作方法分享!

什么是视频伪原创&#xff1f; 视频伪原创是指对已有的视频内容进行一定程度的修改和处理&#xff0c;使其在形式或部分细节上与原始视频有所不同&#xff0c;但保留了核心内容或主题。 视频伪原创包括以下一些常见操作&#xff1a; 剪辑重组&#xff1a;对原始视频进行剪辑…

【C language】统计某数中二进制1的个数

题解&#xff1a;统计某数中二进制1的个数(取模法 看某位是1/0法 干掉最右边的1法) 目录 1.题目2.取模法3.看某位是1/04.干掉最右边的1 1.题目 题目&#xff1a;设计一个程序&#xff0c;统计某数中二进制1的个数 2.取模法 int main() {int num 15;int count 0;while (n…

【UE 反射】反射的原理是什么?如何使用机制?

目录 0 拓展0.1 静态类型检查0.1.1 静态类型检查的主要原理0.1.2 编译器的工作流程0.1.3 静态类型检查的优点和缺点0.1.4 示例0.1.5 C也可以在运行时类型检查RTTI基本原理RTTI的实现RTTI的工作流程RTTI的限制 0.2 运行时动态类型检查0.2.1 主要特点0.2.2 动态类型检查的实现0.2…

元宇宙vr工业产品展示空间降低研发成本

元宇宙产品虚拟展厅搭建编辑器为您提供了一个自助式元宇宙场景搭建的绝佳平台。无论您是设计公司、摄影公司、营销公司还是教育机构&#xff0c;我们都能为您量身打造专属的元宇宙解决方案&#xff0c;满足您的多样化需求。 元宇宙产品虚拟展厅搭建编辑器具备强大的3D编辑功能&…

FPGA基础:触发器和锁存器

目录 锁存器&#xff08;Latch&#xff09;D触发器&#xff08;Flip-Flop&#xff09;最基本时序电路时序块&#xff08;Sequential blocks&#xff09;:同步与异步触发器概念触发器分类触发器的Verilog实现1. 上升沿触发的触发器2. 带异步复位、上升沿触发的触发器3. 带异步复…

rtsp协议分析

rtsp概述 rtsp (real-time stream protocol)实时流媒体控制协议。RFC2326&#xff1a;这是RTSP的初始定义版本v1.0&#xff0c;由哥伦比亚大学、网景和RealNetworks公司提交给互联网工程任务组&#xff08;IETF&#xff09;作为RFC标准。RFC7826&#xff1a;这是RTSP的后续更新…

【EI会议】第二届计算机、物联网与智慧城市国际会议

第二届计算机、物联网与智慧城市国际会议 快速通道 投稿链接&#xff1a;loading 截稿时间&#xff1a;9月15日 检索&#xff1a;EI检索 一、会议信息 大会官网&#xff1a;www.ciotsc.org 会议地点&#xff1a;湖南株洲 会议时间&#xff1a;2023年11月15日-17日 二、征稿主…

探索AES对称加密:Python代码实战

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;从非对称到对称 二、AES加密机制概述 三、Python实现AES加密与解密 …

FreeRTOS【8】二值信号量使用

1.开发背景 FreeRTOS 提供了队列可以在线程间快速交换信息&#xff0c;那么还有没有其他交互渠道&#xff1f;答案是有的&#xff0c;相对于队列传递信息&#xff0c;还有更轻量级的线程唤醒操作&#xff0c;那就是信号量&#xff0c;而二值信号量就是最简单的一种。 二值信号量…

揭秘希喂、小米、安德迈宠物空气净化器的惊人效果,性价比爆表!

当谈及养猫&#xff0c;首先浮现在脑海中的烦恼无疑是猫咪的掉毛和便臭问题。这些问题对于我们这些爱宠人士来说&#xff0c;无疑是一种持续的挑战。特别是在炎热的夏季&#xff0c;高温本身就让人焦躁不安&#xff0c;而空气中飘散的猫浮毛和便臭更是加剧了这种不适感。 为了…