Yishi Lin

  • Home

  • Archives

  • Dataset

  • Blog

  • Categories

  • Search

因果推断学习笔记(五):画画因果图

Posted on 2019-09-24 In 因果推断 , 学习笔记

很早很早就想要学习一下怎么画因果图,最近终于有时间折腾一下啦!这两周研究了一下怎么用非实验数据画因果图。关于因果图的理论知识这里就不再赘述,想要快速学习推荐读 A Survey of Learning Causality with Data: Problems and Methods [1] 的第四章,想要深度学习可以阅读 Judea Pearl 大佬的 Causality 教材 [2]。这篇文章主要是一些开源工具的使用体验。

经典算法介绍

使用非实验数据画因果图的方法主要可以分为以下几类 [2]:

  1. Constraint-based Algorithms. “This class of algorithms learn a set of causal graphs which satisfy
    the conditional independence embedded in the data. These algorithms use statistical tests to verify
    if a candidate graph fits all the independence based on the faithfulness assumption.”
    • 常见算法:PC 和变种、FCI、GFCI、RFCI……
  2. Score-based Algorithms. “Score-based algorithms replace conditional independence tests with the goodness of fit tests. Score-based algorithms learn causal graphs by maximizing the scoring criterion which returns the score of the causal graph given data.”
    • 常见算法:Greedy Equivalence Search (GES)、FGES……
  3. Algorithms based on Functional Causal Models (FCMs). “In FCMs, a variable can be written as a function of its directed causes and some noise term.”
    • 常见算法:Linear Non-Gaussian Acyclic Model (LiNGAM)、ICA-LiNGAM……
Read more »

因果推断漫谈(三):倾向性得分加权介绍

Posted on 2019-08-18 In 因果推断 , 因果推断漫谈

在 《因果推断漫谈(一):掀开“因果推断”的面纱》 中,我们介绍了什么是因果推断、什么是潜在结果模型、什么是“平均处理效应”(又称“平均因果效应”),以及平均处理效应什么时候是可识别的。在 《因果推断漫谈(二):倾向性得分匹配介绍》 中,我们介绍了从非实验数据中估算平均处理效应的一个经典方法,称为“倾向性得分匹配”(Propensity Score Matching)。在这篇文章中,我们介绍另一类使用“加权”思路的方法,其中最经典的方法为“倾向性得分加权“(Propensity Score Weighting)。

一图以蔽之

首先,我们通过一个简单的例子来直观感受一下“加权法”。在这个例子里,我们希望估算广告投放对转化率的提升。

  1. 上帝视角:男女用户比例、广告投放概率和转化率的真实值如图所示。可以看出,对于整体人群(男女1:1)和广告投放人群(男女1:4),广告投放对购买率提升的绝对值分别为31.25%和27.5%。
  2. 凡人视角:这个视角描述了我们所观察到的数据。如果不仔细分析,这份数据容易让人误以为广告对购买率的提升为70%-20%=50%。当然,仔细一看,就会发现这是不对的,因为两组用户的性别分布是不一致的。
  3. 因果推断之平均处理效应:我们可以通过加权的方式让两组用户的男女比例都恢复到1:1,具体加权方式如图。两组加权用户的购买率差值为31.25%,等于真实值,推断成功。
  4. 因果推断之处理组平均处理效应:类似地,我们可以通过加权将对照组用户的男女比例调整为和实验组一致,具体加权方式如图。两组加权用户的购买率差值为27.5%,等于真实值,推断成功。
Read more »

因果推断学习笔记(四):经典方法尝试之 Weighting (Lalonde's Dataset)

Posted on 2019-08-18 In 因果推断 , 学习笔记

这篇文章用 Lalonde’s dataset (NSW + PSID + CPS Data) 这个数据集来尝试不同的 weighting 方法。

以下内容由Rmarkdown转来。Git: yishilin14/causal_playground


博客的md用render("./causality4_playaround_with_the_lalonde_dataset_weighting.Rmd", md_document(variant = "markdown_github"))生成~

读数据

数据集

  • Paper: Dehejia R H, Wahba S. Causal effects in nonexperimental studies: Reevaluating the evaluation of training programs[J]. Journal of the American statistical Association, 1999, 94(448): 1053-1062.
  • Download: http://users.nber.org/~rdehejia/nswdata2.html
Read more »

因果推断学习笔记(三):因果推断比赛 ACIC Data Challenge 学习笔记

Posted on 2019-05-22 In 因果推断 , 学习笔记

近期的学习是寻找效果稳定又跑得快的 causal inference 黑盒子,并且四处收集一下“黑盒子”评估方式。

从2016年开始,一年一度的 Atlantic Causal Inference Conference 有一个 Data Challenge:一个关于因果推断的比赛。网上可以找到官方对于2016年和2017年这两次比赛的一些小结,一边看一边囤一篇简单的学习笔记。

ACIC2016 Data Challenge

ACIC2016 Data Challenge主页:https://jenniferhill7.wixsite.com/acic-2016/competition

主办方在赛后写了一篇总结性质的论文:Dorie, V. et al. 2017. Automated versus do-it-yourself methods for causal inference: Lessons learned from a data analysis competition. arXiv:1707.02641 [stat]. (Jul. 2017)

Data Challenge 介绍

ACIC2016 的赛题是估算 ATT (Average Treatment effect on the Treated),ATT=E[Y(1)-Y(0)|T=1]。严格一点来说,这个比赛其实是估算 SATT (Sample Average Treatment Effect),也就是ATT取期望的时候,这个期望是在 sample 上取期望的 (“the expectation is taken over the analysis sample”)。

Read more »

通过Anaconda安装R

Posted on 2019-04-09 In 瞎折腾

在一台不通外网只能连上某个特定mirror的机器上,需要用Python和R。曲线救国,用Conda装好了R,记录一下。

安装Miniconda

安装:

1
2
3
4
5
cd /my_dir
wget http://mirror/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh -b -f -p miniconda3
export PATH=$PATH:/my_dir/miniconda3/bin

替换Anaconda源,并且禁用defaults(因为连不上):

1
2
3
4
5
6
conda config --add channels http://mirror/anaconda/pkgs/free/
conda config --add channels http://mirror/anaconda/cloud/conda-forge/
conda config --add channels http://mirror/anaconda/pkgs/r/
conda config --set show_channel_urls true
conda config --remove channels defaults
conda config --show
Read more »

迁移到 Zotero + ZotFile + OneDrive

Posted on 2019-03-25 Edited on 2019-05-23 In 瞎折腾

掐指一算,从12年到现在,用 Mendeley 竟然已经7年了。 年前败了 iPad Pro,Mendeley 渣渣一样的笔记功能实在是对不起新败的iPad Pro+Apple Pencil,遂决定折腾一个新的方案。Adios Mendeley!

需求

  • P0. Windows, Mac, iOS 都需要可以用(上班用 Windows,回家用 Mac)
  • P0. 在 iPad 上可以和 PDF Expert 搭配使用(已经买买买,而且确实好用)
  • P1. 可以用 OneDrive (CUHK Alumni 福利好!不过这一套方法应该用 Dropbox, iCloud Drive 都可以的)
  • P1. 在移动端可以看到和 PC 端一致的目录

解决方案

以上所有需求可以通过 Zotero + ZotFile + OneDrive 完成

  • PC
    • 安装 Zotero + ZotFile
    • ZotFile 把文件自动重命名并且放到文件夹里,然后同步到 OneDrive
  • iPad:
    • 可以用 ZotFile 的 Send/Get From Tablet
    • 用 PDF Expert 也可以直接查看 OneDrive 里的 Zotero 文件夹,能看到所有 paper
Read more »

因果推断学习笔记:工业界论文收集

Posted on 2019-03-12 In 因果推断

加油看 paper,努力保持更新!按 paper 发表时间倒序排序。

Facebook

2018

  1. Peysakhovich, A., & Eckles, D. (2018). Learning Causal Effects From Many Randomized Experiments Using Regularized Instrumental Variables. In Proceedings of the 2018 World Wide Web Conference on World Wide Web - WWW ’18 (Vol. 186, pp. 699–707). New York, New York, USA: ACM Press. https://doi.org/10.1145/3178876.3186151 工具变量 20190312

    • 小结:当我们有好多 A/B Tests 的时候,把它们合并在一起分析可能可以给我们提供一些信息。例如,有的时候可能每个实验的效果都很小,单个实验看不出什么结果,可能合并起来看能看出点门道。又例如,可能每个实验都有些“fat hand”问题,比如我们如果想要增加搞笑视频的曝光,很难控制其他类型视频的曝光量不变,这样一个实验里的“变量”其实不止“增加搞笑视频”这一个。这篇文章讨论如何借助计量经济学里常用的“工具变量”,来从好多个实验里分析出因果效应。在“多实验分析”的场景下,工具变量是实验组ID。这篇文章主要探讨如何减少标准的TSLS(two-stage least squares)方法里的bias。
Read more »

因果推断漫谈(二):倾向性得分匹配介绍

Posted on 2019-01-20 In 因果推断 , 因果推断漫谈

倾向评分匹配是一种统计学方法,用于处理观察研究的数据。
在观察研究中,由于种种原因,数据偏差和混杂变量较多。
倾向评分匹配的方法正是为了减少这些偏差和混杂变量的影响,以便对实验组和对照组进行更合理的比较。

在上一篇文章 《因果推断漫谈(一):掀开“因果推断”的面纱》 中,我们已经介绍了潜在结果模型、潜在结果模型中因果效应的定义,以及因果效应的可识别性。
这一篇文章来简单介绍一下 “倾向性得分匹配”(Propensity Score Matching),一个处理观察性研究(observational study)的经典方法。

因果推断数据集

在介绍倾向性得分匹配之前,我们介绍一个观察性研究中非常经典的数据集:The NSW Dataset。
这份数据最早是 Robert Lalonde 在论文 [1] 中使用的,所以这个数据集有的时候也被直接成为 “Lalonde”。
这份数据根据样本属性的齐全程度有几个不同的版本。
完整的情况可以参考 NSW Data。

随机实验数据 NSW Data Files (Dehejia-Wahha Sample) 是原始的 Lalonde’s NSW experimental data 中,样本 1974 年收入已知的一部分。

Read more »

因果推断漫谈(一):掀开“因果推断”的面纱

Posted on 2019-01-08 In 因果推断 , 因果推断漫谈

“相关性并不意味着因果关系”这个道理对大家都不陌生。 我们如何科学、优雅地做一份关于“因果关系”数据分析呢? 在这篇文章里,我们从因果推断对于数据分析的重要性出发,和大家分享一个因果推断的经典框架、一组因果推断的必备假设和一个因果推断的基础方法。

causality_comic

WHY:为什么需要因果推断

“相关性并不意味着因果关系”,天天和数据打交道的小伙伴们都很明白这个道理。 不少数据分析的工作其实都围绕着这个问题,举一些例子:

  • 在 feeds 流里刷到一个新推荐策略的内容的用户留存更高,他们的高留存是因为这个推荐策略导致的吗,这个策略究竟对留存的提升有多大效果?
  • 上周投放了某游戏广告的用户登录率更高,他们的高登录率有多大程度是由广告带来的,有多大程度是由于他们本身就是高潜力用户?
  • ……

在这些例子中,本质上,我们都是想要分析一个干预(treatment)对一个结果(outcome)有怎样的影响,想要探究其中的因果效应。大家熟悉的A/B Test是回答上面这些问题的黄金方式。但是,A/B Test 也有一定的局限性,例如:

  • 需要花一定的时间实现,比较耗费人力;
  • 需要占用足量的随机流量,并且需要持续一段时间以收集数据;
  • 某些实验可能损害用户体验,例如给用户推荐一些并不匹配兴趣的内容;
  • 当可做 A/B Test 的选择太多时,往往难以全部都进行尝试。
Read more »

因果推断学习笔记(二):经典方法尝试之 Regression (Lalonde's Dataset)

Posted on 2018-12-23 In 因果推断 , 学习笔记

Mostly Harmless Econometrics 的第三章是关于如何用 regression 来估算因果效应的。其中一节是用 Lalonde’s dataset (NSW + PSID + CPS Data) 这个数据集来尝试不同的 regression specifications。这篇博客的目标是复现一下课本儿里的结果,实战一下。

Read more »
123
Yishi Lin

Yishi Lin

24 posts
11 categories
25 tags
RSS
GitHub E-Mail
© 2013 – 2021 Yishi Lin
Powered by Hexo v3.9.0
|
Theme – NexT.Gemini v7.3.0