python虽然与R一样都可以做数据分析,但是在计量方面较为薄弱,python更像是干脏活,清洗数据用的。现在慢慢的python也有一些在计量的包,比如causalinference,这个包可以做因果推断分析。

x1,x2,x3 协变量(控制变量)

y 因变量

istreatment 处置变量D,标注每条数据隶属于treatment或control组。1为treatment, 0为control。

描述性统计分析 使用OLS估计处置效应 估计处置效应最简单的方法是使用OLS方法,

CausalModel.est_via_ols(adj)

该方法有一个参数adj

adj=0 模型未使用X(协变量)

adj=1 模型使用了D(是否为处置组)和X(协变量)。

adj=2 模型使用了D(是否为处置组)、X(协变量)、D与X的交互

adj默认为2

ATE 平均处置效应(average treatment effect)

ATC 控制组的平均处置效应(average treatment effect for the controls)

ATT 处置组的平均处置效应(average treatment effect for the treated)

你们再试试adj设置为0和1分别运行出什么结果

倾向得分估计 我们估计处置效应时,很希望处置组和控制组很类似。比如研究受教育水平对个人收入的影响,其他变量如家庭背景、年龄、地区等协变量存在差异,我们希望控制组和处置组的之间的协变量平衡性尽可能的好,这样两个组就会很像,当对这两个组的受教育水平进行操作时,两个组的收入差异可以认为是受教育水平带来的。

让两个组很像,这里就用到倾向得分估计。

分层方法估计处置效应 倾向得分估计,让两个组尽量相似,但实际上这个相似值范围有点大。比如假设受教育水平对个人收入的影响,身高、体重等颜值信息(协变量)其实对收入也是有影响的,那么就应该对人群进行分层,不同颜值水平(分组)下受教育水平对个人收入的影响。

分层方法估计CausalModel.stratify_s() 自动选择协变量 更多详细信息可阅读代码中说明论文,可在项目中下载到的。

axios 下载blob 如何在pdfjs显示

学习blob对象的笔记blob叫做二进制大对象(binary large object)主要是存放二进制的容器。1 存取文本存放二进制数据,类似数组size为数据长度,type指定类型 example:var str = 'hello world' var blob = new Blob([str], { type: 'text/plain'