自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kaggle expert,全球排名前1000,清华计算机研究生,兴趣算法工程

kaggle expert,全球排名前1000,清华计算机研究生,兴趣算法工程

  • 博客(1192)
  • 资源 (4)
  • 收藏
  • 关注

原创 必知必会!常用矩阵求导和重要的矩阵

转自https://blog.csdn.net/a841454735/article/details/88608682,来备份一下,矩阵求导很重要!一、矩阵求导  一般来讲,我们约定,这是分母布局。常见的矩阵求导方式有:向量对向量求导,标量对向量求导,向量对标量求导。1、向量对向量求导2、标量对向量求导3、向量对标量求导其他的可以参考wiki:维基百科矩阵求导公...

2020-04-25 22:18:20 1635

原创 程序员面试——C++工程师面试大全第一部分

1.static 关键字的作用1. 全局静态变量在全局变量前加上关键字 static,全局变量就定义成一个全局静态变量.静态存储区,在整个程序运行期间一直存在.初始化:未经初始化的全局静态变量会被自动初始化为 0(自动对象的值是任意的,除非他 被显式初始化);作用域:全局静态变量在声明他的文件之外是不可见的,准确地说是从定义之处开始,到文件结尾.2. 局部静态变量在局部...

2020-02-24 13:41:40 547

原创 【Python实战因果推断】57_因果推理概论7

为了理解它们为何以及如何不同,让我们将观察到的结果替换为关联性度量E[Y|T=1] - E[Y|T=0]中的潜在结果。在销售的例子中,处理与结果之间的关联性由E[Y|T=1] - E[Y|T=0]来衡量。既然你现在理解了为何样本平均值可能与它试图估计的平均潜在结果存在差异,我们不妨更详细地探究为什么平均差值通常无法恢复出ATE(平均处理效应)。现在,你可以认为偏差的出现是因为许多你无法观测到的因素正在与处理一起变化。(这是E[Y|do(t)=1] - E[Y|do(t)=0]的缩写)来衡量。

2024-07-26 01:07:23 791

原创 【Python实战因果推断】56_因果推理概论6

注意结果的差异有多大。想象一下,因果推断的神明对你在众多统计战役中的英勇表现感到满意,因而赐予你神力,使你能看到潜在的替代宇宙——在其中一个宇宙里,每种结果都已发生。首先,你要注意到,你永远无法知道价格削减(即促销活动)对某个特定商家的确切影响,因为这需要你同时看到两种可能的结果:没有促销时的销售额AmountSold0i与促销后的销售额AmountSold1i。在下表中,i是单位标识符,y是观察到的结果,y0和y1分别是控制组和处理组的潜在结果,t是处理指示符,x是标记距离圣诞节还有多少周的协变量。

2024-07-26 01:07:17 543

原创 【Python实战因果推断】55_因果推理概论5

例如,如果你想了解疫苗预防传染性疾病的效果,给一个人接种疫苗会使她周围的人感染这种疾病的可能性降低,即使这些人自己没有接种疫苗。在存在溢出效应的情况下,对照组单位会受到一定的处理效应,这反过来导致处理组和对照组之间的差异不如无干扰时那么明显。这是治疗对那些接受了治疗的单位的影响。例如,如果你在一个城市进行了一次线下营销活动,并且想要知道这次活动为该城市带来了多少额外的客户,这就是平均治疗效应(ATT):即营销活动在实行城市的效果。这里,值得注意的是,两种可能的结果都是针对同一治疗定义的。

2024-07-25 22:00:04 949

原创 【Python实战因果推断】54_因果推理概论4

当讨论二元处理(接受处理与否)的情况时,我会用Y0i表示个体i在无处理情况下的潜在结果,而Y1i表示个体i在接受处理情况下的潜在结果。我也会将其中一个潜在结果称为事实结果,即我可以观察到的结果;而另一个则称为反事实结果,意味着它无法被观察到。例如,如果个体i接受了处理,我可以观察到它在处理下的变化,也就是说,我可以观察到。用语言描述就是,“对于单元i,从处理t0变化到t1的效应τi,等于该单元在t1处理下和t0处理下的结局之差。do算子也能帮助你表达个体处理效应,也就是处理对于个体单元i的结局产生的影响。

2024-07-25 21:59:59 489

原创 【Python实战因果推断】53_因果推理概论3

在我的例子中,可以说降价是由某些因素导致的,这些因素可能是企业规模,也可能是什么别的东西,但它们并不在模型之内。在传统代数中,等号意味着等式的两边可以互换,比如 Y = T + X 等价于 T = Y - X,但我并不想表达 T 导致 Y 的情况与 Y 导致 T 是等同的。尽管如此,出于书写便利,我有时还是会使用等号,不过你要记住,由于因果关系的不可逆性,处理因果模型时,你不能像在传统代数中那样随意变换等号两边的内容。在这个机制里,我使用u来代表模型外部的变量,也就是说,我不关心它们是如何生成的。

2024-07-24 19:58:40 824

原创 【Python实战因果推断】52_因果推理概论2

要做到这一点,首先你需要了解的是降价对销售量的影响。如果增加的销量所带来的收益能够弥补低价销售的损失,那么促销活动就是个好主意。你需要回答的是,企业如果降价,相比不做任何改变,会多卖出多少额外的单位商品。不同的企业在你的平台上运营。因此,降价可能对不同类型的企业有不同的影响。同时,让我们关注一年中的一个时期:圣诞节前的十二月。目前,你只尝试回答,在这些时期降价如何增加销售,这样你就可以将这些信息传递给儿童玩具行业的企业,让他们做出更好的决策。你还有关于每个企业规模的信息,以当年每周平均销售的产品数量表示。

2024-07-24 19:58:34 765

原创 【Python实战因果推断】51_因果推理概论1

然而,你的统计学老师的警告确实有其道理。这些问题都是实际的,它们源自于你想要在商业或生活中做出改变的愿望,以便让自己过得更好。简而言之,相关性指的是两个数量或随机变量共同变动的现象,而因果性则指一个变量的变化引起另一个变量变化的关系。例如,你可以观察一个国家获得诺贝尔奖的数量与人均巧克力消费量之间的相关性,即便这些变量可能同步变化,但认为其中一个直接导致另一个发生改变的想法却是荒谬的。你的统计学老师可能反复强调过,“相关性不等于因果性”,混淆两者可能会让你在学术界遭到排斥,至少也会遭受严厉批评。

2024-07-23 23:34:45 717

原创 【Python实战因果推断】50_因果实验设计6

虽然这一切都很有趣,但值得指出的是,通过这种最优设计可能获得的方差减少,远不及通过作出模型假设并使用OLS所能获得的方差减少效果显著。请注意,由于开始和结束处的间隙,对于第一项和最后一项,这种情况肯定会发生,这就是为什么在那里不需要指示函数的原因。为了举例说明,假设食品配送公司进行了第二次实验,与第一次非常相似,实验长度T=120,随机化概率p=0.5,但这次他们根据最优设计选择了随机化点。因此,在你的例子中,如果滞后效应的阶数为2,你将每隔三期进行随机化。,对于m=2,k=1,2,则。

2024-07-23 23:34:41 901

原创 【Python实战因果推断】47_因果实验设计3

既然你有办法计算出城市数量带来的总损失,那么你就可以设计出许多花哨的方法来尽量减少损失。不过,由于我非常喜欢简单,所以我的建议是随机搜索许多组合,然后选出一个表现还不错的。检查所选的治疗城市,你会发现模型只选择了四个城市。这种情况的发生通常是因为大城市占据了市场总量的很大一部分,因此将它们纳入治疗组往往能大幅度减少损失。再次绘制合成控制组和处理组的趋势图,你可以看到,尽管这种方法极其简单,但它能给出一个工作得相当不错的结果。值得一提的是,这种方法并不是最优的,但它确实倾向于产生合理的治疗城市集。

2024-07-22 22:54:47 916

原创 【Python实战因果推断】45_因果实验设计1

在这种情况下,一种可行的替代方法是进行地理实验:对整个市场(如一个城市或一个州)进行实验,而将其他市场作为对照。第一部分将教你如何选择地理干预单位,以获得近似于整个市场(国家、州)接受干预时的效果估计值。例如,如果你是一家在当地经营的小公司,你可能没有太多的市场来进行实验。幸运的是,还有一条出路。这样,如果你干预了这组城市,你就能知道如果干预了整个市场(即国家)会发生什么。现在,在本文中,你将从另一个角度来探讨同样的问题。此外还有一些辅助列,如城市人口(记录于 2013 年,因此在时间上是固定的)和州。

2024-07-22 22:54:43 641

原创 【Python实战因果推断】49_因果实验设计5

因此,观察到连续三次相同处理的概率,如序列[1,1,1,1,1,1]中的那样,是[na,na,.5^3,.5^3,.5^3,.5^3]。在这个例子中,当T=3时,最后三个条目包含一个随机化窗口,在时间T=4时,它包含两个随机化窗口,依此类推。请注意,在这种情况下,随机化窗口等于滞后窗口,但这通常不是情况,因此代码必须适用于不同的m值。将这个函数应用于处理向量[1,1,1,0,0,0],使用m=2并尝试查找当前和最后两次处理是否为处理状态(d=1),结果仅在第三个条目处返回1,正如预期的那样。

2024-07-20 11:37:27 523

原创 【Python实战因果推断】48_因果实验设计4

为了程序化地创建六个滞后期,我利用了这样一个事实:.assign(...)方法接受你想要创建的新列名称作为参数,在Python中,你可以使用和字典传递命名参数。通过观察滞后期参数,你会发现直到滞后2期的参数都是显著的,这表明滞后效应的阶数为2。一旦你有了包含其滞后期的数据,你所需要做的就是对滞后期和当前处理(可以视为滞后0)进行回归分析。首先,如果假设不存在对处理的预知,潜在结果将仅依赖于当前和过去的处理状态,而不受未来处理状态的影响。由于你使用了大量的滞后期,总效应的估计值将会相当不精确。

2024-07-20 11:37:23 365

原创 【Python实战因果推断】43_合成控制3

这意味着,如果处理单元的结果大于(或小于)所有控制单元的结果,这个典型公式将无法精心设计一个合成控制来恢复 E Y0 D = 1。它是在说,你试图重建的干预单位与对照组中的干预单位有很大不同,因此你根本就不应该尝试。在下面的代码中,我按照 scikitlearn 的模板建立了合成控制模型。对于 SC,你想最小化平方误差,所以 cp.Minimize( cp.sum_ squares( y_co_pre@w - y_tr_pre))。在这里,你希望所有的 w 都是非负数,并且 np.sum(w)==1。

2024-07-19 00:17:24 417

原创 【Python实战因果推断】44_合成控制4

首先,让我们为两个协变量 comp_download_pct 和。但是,如果您认为一些额外的协变量具有很好的预测能力,您可能希望在模型中加入这些协变量。不过这种情况比较少见,所以如果时间不够,可以跳过这一部分。假设您设法获得了主要竞争对手的每日下载量数据,并根据市场规模(comp_down load_pct)对这些数据进行了归一化处理。的比例可能完全不同,或者其中一个比另一个更具预测性,这就是为什么在求解 SC 优化问题之前,需要将包括。为了考虑到这一点,可以用协变量 X 来重写目标,将。

2024-07-19 00:17:20 902

原创 【Python实战因果推断】42_合成控制2

为了了解它是如何工作的,将 df_norm 传递给 reshape_sc_data,就会返回矩阵格式的 Y 值。在上文中,我向大家展示了一个用矩阵表示面板数据的图像,其中一个维度是时间段,另一个维度表示单位。假设矩阵的行是时间段,列是城市(单位)。下面的代码使用 .pivot() 方法重塑数据框,这样最终每个时间段(日期)一行,每个城市一列,而结果则成为矩阵的值。换句话说,您需要知道,如果没有接受干预,接受干预的单位在干预后会发生什么情况。请再次注意,干预后的时间段在下方,而干预后的单位在右侧。

2024-07-18 22:52:27 767

原创 【Python实战因果推断】41_合成控制1

由于归因与增量不同,而且您无法随机化谁会看到您的广告,因此对整个地域进行处理并进行某种面板数据分析,就像上一章所说的那样,也是网络营销的一个好主意。同样,城市是单位,日期是时间维度,治疗列标记城市是否最终接受了治疗,治疗后列标记干预后时期。这种组合估算器不仅功能强大,最重要的是,它将让你对差分和合成控制,特别是面板数据方法有一个全新的认识。为了让您了解这些数据的情况,下图以浅灰色显示了三个接受治疗城市的平均结果的变化情况,背景则是对照城市的样本。在这里,干预变量是应用程序的日下载量,处理方。

2024-07-18 22:52:22 774

原创 【Python实战因果推断】40_双重差分11

要知道,整个组群的效应随着时间的推移会遵循相同的模式。这幅图的好处在于,它符合您对效应表现的直觉:效应逐渐上升,一段时间后保持不变。此外,它还告诉您,在干预前的所有时期,效果都为零,因此,从未干预过的人群的效果也为零。因此,要想知道自己的方法是否正确,可以计算模型所隐含的个体干预效果估计值,然后求出平均值。另外,您也可以使用尚未接受治疗的人群作为对照,而不是使用从未接受治疗的人群作为对照,这样可以增加对照的样本量。这将涉及大量的特性工程,因为你必须在治疗前对日期进行分组,但很高兴知道这是可能的。

2024-07-17 22:13:51 1397

原创 【Python实战因果推断】39_双重差分10

此外,由于效应是异质性的,是逐渐攀升的,因此对照组(早期治疗组)的趋势要比尚未治疗组的趋势陡峭。这个问题的根源在于,当采用交错方法时,除了前面提到的传统 DID 假设外,还需要假定不同时间的影响是同质的。之前,您的数据截止到 2021-06-01,所以看起来您有一个小的干预组和一个巨大的从未干预组。现在,您有四个不同的队列,其中三个是治疗组,一个是从未治疗组(在此数据集中,队列为 2100-01-01)。既然问题出在效果的异质性上,那么解决方法就是使用一个更灵活的模型,一个能充分考虑到这些异质性的模型。

2024-07-17 22:13:49 537

原创 【Python实战因果推断】37_双重差分8

或者,在使用之前,先尝试建立一些模拟数据,在这些数据中,您知道真实的 ATT,然后看看能否用您的模型恢复它。要想在 DID 模型中正确包含干预前协变量,您需要回顾一下 DID 的工作原理,即估算两个重要部分:干预基线和控制趋势。出现这种差异的原因是--您现在应该知道--回归按方差对各地区的 ATT 进行了平均,而之前是按地区大小进行平均的。因此,对北部地区的影响为 1.67-0.34,对南部地区的影响为 1.67-0.98,以此类推。干预前的趋势在一个地区内似乎是平行的,但在不同地区之间却不是。

2024-07-16 22:31:59 991

原创 【Python实战因果推断】38_双重差分9

首先,由于 DID 采用的是 Δy 模型,因此您不需要原始结果模型,而是需要一个随时间变化的 delta 结果模型。其次,由于您只关心 ATT,您只需要从对照单位中重建治疗人群。接下来,您需要 Δy 的结果模型,这意味着首先需要构建 delta 结果数据。就像您对横截面数据进行双重稳健估计一样,要得到 DRDID 的置信区间,您需要使用您之前实现的块引导函数,将整个过程--结果模型、倾向得分模型--放在一个单一的估计函数中。但同样,由于您关心的是 ATT,因此需要重建对照下的干预人群。让我们关注 Δy1。

2024-07-16 22:31:54 812

原创 【Python实战因果推断】35_双重差分6

在市场营销的例子中,如果某个城市的下载量随着时间的推移而增加,你就知道这不可能是由于城市文化的变化造成的(至少不是在短时间内),原因很简单,因为混杂因素是随时间固定的。底线是,即使你无法控制时间固定的混杂因素,因为你无法测量它,但如果你控制了单位本身,你仍然可以阻止通过它的后门路径。这在你之前看到的那种分块设计中是可行的,在这种设计中,干预在某一特定时间段开始,并无限期地持续下去。我的重点是单位固定效应,但类似的论证也可以用来说明时间固定效应如何抹去任何在单位间固定但在时间上变化的变量。

2024-07-15 21:54:08 690

原创 【Python实战因果推断】36_双重差分7

实际上,要做到这一点,您需要下一行代码,在这行代码中,函数会将干预后的时间段重新指定为指定的日期。现在,如果您传入一个干预前的日期,函数会假装它来自干预后的时期,这就像是时间维度上的安慰剂测试。现在,您可能已经对经典 DID 有了相当深入的了解,这意味着您现在可以尝试偏离经典 DID,转而采用更天马行空的方式。如果你真的很聪明,你可以通过为干预后的每个时期创建虚拟变量来实现这一目的,但我最喜欢的获得随时间变化的效果的方法是使用一点蛮力:迭代所有时间段并运行 DID,就好像只有该时间段是干预后的时间段一样。

2024-07-15 21:54:04 450

原创 【Python实战因果推断】34_双重差分5

如果您尝试这样做,您会发现许多商家都会预期 "黑色星期五 "的折扣,因为他们知道在 "黑色星期五 "之前的那段时间,顾客已经在购买产品了。此外,每幅图都有四个点,分别代表治疗组和对照组的观察数据,以及在对照组下治疗组的 DID 估计轨迹,用虚线表示。在本书之前的章节中,在处理横截面数据时,一个关键的识别假设是干预与潜在的结果无关,以观察到的协变量为条件。相比之下,"差分法 "做了一个较弱的假设:在没有干预的情况下,干预组和对照组在不同时间的结果轨迹平均是相同的。的趋势在干预组和对照组之间是相同的。

2024-07-13 09:12:05 757

原创 【Python实战因果推断】33_双重差分4

这里的问题是,你有 N - T 个数据点,但它们并不是独立和同分布的,因为同一个单位会出现多次。事实上,干预是分配给单位的,而不是分配给时间段的,所以你可以说你的样本量实际上只是 N,而不是 N - T,尽管这最后一个是你的回归在计算标准误差时要考虑的。这个过程称为块引导。最后,为了检查一切是否按预期运行,您可以使用该函数计算应用于营销数据的 DID 估计器的 95% CI。例如,如果处理单位的数量较少,最终可能会出现没有处理单位的样本。同样,面板数据推断是一个复杂的课题,我觉得我们还没有明确的答案。

2024-07-13 09:11:59 231

原创 【Python实战因果推断】31_双重差分2

可以用 did_data.loc[0] 索引到对照组,用 .diff() 计算差值,然后用后续 .loc[1] 索引到最后一行。,您可以使用 did_data.loc[1] 将其索引到干预中,然后使用 follow up .loc[0] 将其索引到干预前。由于这些都是非常专业的数学知识,我想通过绘制治疗组和对照组随时间变化的观察结果,以及治疗组的估计反事实结果,让大家对 DID 有更直观的理解。差分法的基本思想是,通过使用受治疗单位的基线,但应用对照单位的结果(增长)演变,来估算缺失的潜在结果。

2024-07-12 01:01:37 1019

原创 【Python实战因果推断】32_双重差分3

因此,β0 + β1 是受治疗城市的基线,也是干预前的基线。如果关闭干预假值,打开干预后假值,则得到 β0 + β2,即干预后对照城市的水平。您正在使用的营销示例正是这种格式,这意味着您不必按照干预前和干预后的时间段进行汇总。概括地说,β1 是指从对照组到干预组的增量,β2 是指从干预前到干预后的增量。最后,如果同时打开治疗前和治疗后的虚拟变量,则得到 β0+ β1+ β2+ β3。这是干预后受治疗城市的水平,也就是说,β3 是指从受治疗城市到对照城市、从干预前到干预后时期所得到的结果增量。

2024-07-12 01:01:31 785

原创 【Python实战因果推断】30_双重差分1

在市场营销中,你往往无法控制谁会接受干预,也就是说,谁会看到你的广告。例如,如果客户点击了您赞助的谷歌链接,如果他们真的在寻找您的产品,他们也可能会向下滚动一下,然后点击未付费的链接。线下营销的问题更大。现在,您已经对面板数据有了简单的了解,是时候探索一些利用面板数据来识别和估计干预效果的机制了。现在,您对数据有了更好的了解,也学会了一些新的技术符号,您可以更准确地重述您的目标。您可以通过使用干预后期间对照单元的结果来利用单元间的相关性,也可以通过使用干预前期间受治疗单元的结果来利用跨时间的相关性。

2024-07-11 22:13:14 1343

原创 【斯坦福因果推断课程全集】2_无混淆和倾向分1

然而,如果 X 是连续的(或 X 的卡方数非常大),这一结果就不能直接应用--因为我们无法为 x∈X 的每个可能值获得足够的样本,从而无法像(2.3)中那样定义 τ (x)。从定性的角度来看,对(2.6)的一种理解是,我们已经测量了足够多的协变量来捕捉 Wi 与潜在结果之间的任何依赖关系,因此在给定 Xi 的情况下,Wi 无法 "窥视"{Yi(0), Yi(1)}。为了将我们的分析推广到离散-X 的情况之外,我们不能再简单地试图通过简单平均来估计每个 x 值的τ (x),而是要使用更间接的论证。

2024-07-11 22:13:10 897

原创 【Python实战因果推断】29_倾向分9

最后一幅图显示的是同样的权重,但却是利息和期限之间的关系。由于 ml_1 低值时的低利率和 ml_1 高值时的高利率都是不可能的,因此逆 GPS 权重对这些点给予了高度的重视。此外,由于这个数据是模拟的,我知道真实的 ATE 是-0.8,但前面的估计值只有-0.66。具体来说,在您拟合的处理模型中,您将为残差较高的单位赋予较高的权重。这是有道理的,因为 GPS 给不可能干预的处理赋予了更大的权重。与离散干预不同,在离散干预中,权重稳定只是一个很好的条件,而在 GPS 中,我认为这是必须的。

2024-07-10 21:11:51 2153

原创 【Python实战因果推断】19_线性回归的不合理效果9

由于虚拟变量基本上是作为组平均值工作的,因此您可以看到,通过这个模型,您预测的正是:如果 credit_score1_buckets=0, 您预测的是 credit_score1_buckets=0 组的平均线;通过回归,你可以说,遗漏变量导致的偏差等于包含该变量的模型中的影响加上遗漏变量对结果的影响乘以遗漏变量对包含变量的回归。您在这里得到的参数估计值与您在模型中添加虚拟变量时得到的参数估计值完全相同。这个偏差项就是被忽略的混杂因素对干预结果的系数 β 乘以被忽略变量对治疗的回归系数 δ。

2024-07-10 21:10:26 732

原创 【Python实战因果推断】18_线性回归的不合理效果8

重要的是,如果你回头看,这个效应估计值与你通过估计每个组的效应并用组大小作为权重求平均值得到的效应估计值是不同的。在本例中,由于去除了第一个虚拟组,与 credit_limit 相关的参数实际上代表了被省略的虚拟组 sb_100 的效果。此外,在其他条件相同的情况下,饱和模型的参数(自由度)更多,这也意味着方差更大。如果您看下面的图,就会发现一条斜率为负的线,这在这种情况下是不合理的。因此,如果将与 credit_limit 相关的参数与其他交互项相加,就可以看到通过回归估算出的各组效应。

2024-07-09 23:09:13 1108

原创 【Python实战因果推断】28_倾向分8

最后,就是您期待已久的时刻,让我们来看看 DR 估计的实际效果。请记住,DR 要求 P T X 或 E YtX 模型中的一个正确,但不一定两个都正确。值得注意的是数据中的效应异质性,这在第二幅图中很容易看到。请注意,当 x 值较低时,效应为 0,而随着 x 值的增加,效应呈非线性增加。不出所料,DR 在这里的表现相当出色,也恢复了真正的 ATE。第一个例子中,治疗分配的模型相当容易建立,但干预结果的模型却比较复杂。在这里,我再次分别拟合m1和m0,并将ATE估计为整个数据集中不同预测的平均值,

2024-07-09 23:09:08 438

原创 【Python实战因果推断】27_倾向分7

我为每个干预变量拟合一个线性回归模型,这样就有两个模型--一个是干预模型,另一个是对照模型。从潜在结果模型估计器的角度来看,它是基于模型的。您学习了纯粹基于设计的 IPW,而在后面,您将学习纯粹基于模型的合成控制。由于倾向模型是正确的,所以这个估计值也是正确的。因此,在选择基于设计的识别还是基于模型的识别时,你需要问问自己更适合哪种类型的假设。接下来,让我们考虑一种情况,即结果模型不正确,但倾向得分模型是准确的。你将只剩下第一项,即结果模型,这是正确的。例如,假设倾向得分模型是错误的,但结果模型。

2024-07-08 00:14:02 887 1

原创 【Python实战因果推断】26_倾向分6

但如果同样的变量并不导致 Y,那么它就不是一个混杂因素,它只会增加您的 IPW 估计值的方差。要了解这一点,请想一想,如果您有一个非常好的 T 模型,会发生什么情况?这样,回答调查的个人不仅会考虑到自己,还会考虑到与他相似的其他个人,从而产生一个伪人口,其行为应与原始人口相似,但就像每个人都回答了调查一样。乍看起来,你对干预分配机制的估计越准确,你的因果估计就越准确。因此,您发送了一份调查问卷,要求他们按照 1-5 的评分标准对您的产品进行评分。尽管如此,即使没有预测能力,这也是估计干预效果的最佳情况。

2024-07-08 00:13:57 949

原创 【Python实战因果推断】25_倾向分5

有了这些权重,低概率干预的权重就不会很大,因为小分母会被同样小的分子所平衡。此外,稳定的权重会重建一个伪群体,在这个伪群体中,治疗组和对照组的有效规模(权重之和)分别与原始治疗组和对照组的有效规模相匹配。它们重叠的事实意味着,在加权数据上,干预单位和对照单位获得干预或对照的机会相同。例如,与团队参与度不高的管理者相比,已经拥有一支非常投入的团队、非常有激情的管理者更有可能参加培训(的分布图,由于管理人员参加培训的机会不一样(干预不是随机的),因此受干预的个体的。,创建的伪群体就好像每个人都有对照组一样。

2024-07-07 11:36:00 851

原创 【Python实战因果推断】24_倾向分4

此外,由于你可能不想失去 statsmodels 中公式的便利性,我使用了 patsy 的 dmatrix 函数。现在您已经有了在一个整洁的函数中计算 ATE 的代码,您可以在引导过程中应用它。然后,将该样本传递给您之前创建的函数。然后,您可以计算这些估计值的 2.5 百分位数和 97.5 百分位数,从而得到 95% 的置信区间。如果在倾向得分高的地区只有少数控制单位,或者在倾向得分低的地区只有少数接受治疗的单位,那么权重就会很大。因此,我将添加注释,解释我使用的一些函数式编程模式,首先是部分函数。

2024-07-07 11:35:57 282

原创 【Python实战因果推断】23_倾向分3

这种方法搜索具有相似可观测特征的单位对,并比较接受干预与未接受干预的单位的结果。首先,使用倾向得分作为唯一特征,在接受治疗的单位上拟合一个 KNN 模型,并用它来推算对照组的 Y1。这样,那些接受干预的概率很低,但还是接受了培训的人的权重就会很高。这种方法根据干预的反概率对数据重新加权,可以使干预在重新加权的数据中看起来像是随机分配的。如果一个接受干预的个体接受治疗的概率很低,那么这个个体看起来就很像未接受干预的个体。,那么这个看起来像未接受治疗的个体很可能对未接受治疗的个体会发生的情况有很大的参考价值。

2024-07-06 16:28:55 961

原创 【Python实战因果推断】22_倾向分2

这并不复杂,但有点超出本书的范围。在这里,你可以用更直观的方法来解决这个问题。倾向得分是接受干预的条件概率,对吗?因此,你可以把它看成是某种将 X 转化为干预 T 的函数。在条件随机实验中,分配机制是非确定的,但却是已知的。然而,在大多数情况下,分配干预的机制是未知的,您需要用。倾向加权法围绕倾向得分的概念展开,其本身源于这样一种认识,即不需要直接控制混杂因素 X 来实现条件独立性。是什么,那么仅凭 X 就无法进一步了解 T 的信息。与直接控制 X 的效果是一样的。的估计值来替代真实倾向得分。

2024-07-06 16:28:50 660

Spark入门.docx

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

2020-04-02

人手一份核武器 - Hacking Team 泄露(开源)资料导览手册 _ WooYun知识库.pdf

事先声明本人并不是全栈安全工程师,仅仅是移动安全小菜一枚,所以对泄漏资料的分析难免会有疏忽或着错误,望各位围观的大侠手下留情。 首先来看安全界两大元老对Hacking Team(以下简称HT)被黑这个事件的看法: @tombkeeper: Stuxnet 让公众知道:“原来真有这种事”,Snowden 让公众知道:“原来这种事这么多”,Hacking Team 让公众知道:“原来这种事都正经当买卖干了”

2020-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除