Greedy Match学习笔记二 —— 安慰剂检验与置信区间计算

来源:互联网 发布:淘宝宝贝详情模板下载 编辑:程序博客网 时间:2024/06/05 15:56

Greedy Match学习笔记二 —— 安慰剂检验与置信区间计算

上一节我们介绍了Greedy Match的基本原理。本节中,我们将在不同样本量的情况下分别进行安慰剂检验,以验证Greedy Match的结果是否真实可信。同时,我们也会提出几种估算该匹配置信区间的方法,使结果更加完善。

安慰剂检验(Placebo Test)

实验原理

没有干预的情况下,随机从样本中取出一定比例的人,将他们定义为实验组。然后使用Greedy Match,为他们匹配相应的对照组。观察在之后的一段时间,实验组和对照组的表现是否会产生显著区别。

样本背景

该样本为所有在2016年三月份有过购买行为的买家,从中随机抽取1/4、1/10、1/100、1/500的人作为实验组,根据其在三月份前的表现进行匹配得到对照组,并观察两组买家在三月份前后的表现情况。(所有数据均已经过脱敏处理,并非真实数据。

检验结果

1:4
1:10
1:50
1:500

结论

可以看到,虽然我们在匹配之时,只限定了三月之前的购买情况,但是在之后的很长一段时间内,T和C的表现没有显著差别,且这一稳定性适用于不同规模(Sample size)的各个样本。

置信度与置信区间

置信度

因为Greedy Match为一一匹配,所以T和C的样本量是一样的,所以我们通常会选择等样本量,不等方差的Two Sample T-test。
统计量为

t=T¯¯¯C¯¯¯SΔ

(where SΔ=S2TnT+S2CnC)
该T检验的自由度为
d.f.=(S2T/nT+S2C/nC)2(S2T/nT)2/(nT1)+(S2C/nC)2/(nC1)nT+nC2

置信区间

想要获得置信区间,意味着我们需要对匹配的结果加入一些波动性,以得到一个T和C之间差异的可能取值区间,而非唯一确定的值。为了达到这一目的,我们推荐两个方法:

方法一 Bootstrapping

在Greedy Match之后,对匹配的结果进行有放回抽样。通过选取不同的seed,我们可以得到许多随机生成的匹配结果组。然后我们可以计算每一组T和C之间的差异,并选取95%分位点作为置信区间的端点。
假定实验组和对照组各有5个样本,则Bootstrapping方法的原理如下:
Bootstrapping

%let tddb=access_views;%let tdpid=hopper;%let username='XXXXX';%let passwrd='XXXXX';%let dw_connect=CONNECT TO TERADATA AS td (USER=&username. PASSWORD=&passwrd. DATABASE=&tddb. tdpid="&tdpid" MODE=TERADATA); %let cnt=100;proc sql;&dw_connect;create table BOOTS asselect * from connection TO td (SELECT *                                                              FROM P_CACKO_T.BOOTS);create table BOOTS_SUMMARY_0 asselect * from connection TO td (SELECT 0 AS NUM,SUM(TEST_GMV) AS TEST_GMV,SUM(CTRL_GMV) AS CTRL_GMV FROM P_CACKO_T.BOOTS);quit;%macro outer_pre;%do i=1 %TO &cnt %by 1;%put &i;%let j=%EVAL(&i-1);proc surveyselect data=BOOTS  method = urs sampsize = 207509   rep=1 seed=&i out=BOOTS_&i;   id TEST_ID CTRL_ID TEST_GMV CTRL_GMV;run;proc sql;     create table BOOTS_TEMP_&i as      select &i AS NUM,      SUM(TEST_GMV) AS TEST_GMV,      SUM(CTRL_GMV) AS CTRL_GMV        from BOOTS_&i;quit;proc sql;     create table BOOTS_SUMMARY_&i as      select * from BOOTS_SUMMARY_&j      union all      select * from BOOTS_TEMP_&i;quit;%end;%mend outer_pre;%outer_pre;PROC PRINT DATA=BOOTS_SUMMARY_100;RUN;

方法二 通过前几周的差异来定义

在Greedy Match的过程中,虽然我们是按照前一段时间的表现来进行约束,但肯定无法达到毫无差异。因此我们可以利用这些差异来得到置信区间。将时间段分拆到周,以得到更多的点。
这里写图片描述

总结

Placebo Test的结果证明了Greedy Match的匹配在实际应用上是值得信赖的。通过进一步的T检验和置信区间计算,我们可以得到更为完善的结论,提供更加全面且有说服力的指导意见。

阅读全文
0 0