小樣本AB test:Bias消除投剥,Variance降低

AB test基于統(tǒng)計(jì)學(xué)遠(yuǎn)離。通過(guò)隨機(jī)劃分担孔,均勻分布的假設(shè)來(lái)實(shí)現(xiàn)控制變量對(duì)照的作用江锨。但是對(duì)于小樣本則會(huì)面臨很多問(wèn)題吃警,有的產(chǎn)品流量不小,但是關(guān)鍵指標(biāo)的貢獻(xiàn)者很少啄育,也是小樣本狀態(tài)酌心。譬如直播打賞。
常見的問(wèn)題有如下兩個(gè):

抽樣不均(非完全randomized)(修正bias)

  • 背景:
    單純地隨機(jī)用戶分組挑豌,在用戶體量夠大的情況下安券,能保證均勻性。但是當(dāng)我們相關(guān)指標(biāo)用戶呈現(xiàn)頭部集中的情況氓英,譬如top 2%用戶貢獻(xiàn)了40%的gmv侯勉,那么對(duì)這2%的用戶隨機(jī)分組有很大概率不均。(分組之間有偏差)铝阐。
    現(xiàn)象:在aa中址貌,分組一直有穩(wěn)定差異。
    這個(gè)問(wèn)題也會(huì)出現(xiàn)在Observational 實(shí)驗(yàn)中徘键。對(duì)于這些實(shí)驗(yàn)练对,我們無(wú)法控制使其完全randomized。

  • 問(wèn)題:
    如何解決這種樣本量抽樣不均的問(wèn)題啊鸭?

  • 如何解決:
    方法1:解決分組偏差的方法其1就是在實(shí)驗(yàn)之前進(jìn)行aa實(shí)驗(yàn)锹淌,然后ab階段的diff減去aa的diff。[1]
    方法2:其2則是通過(guò)算法找到在相應(yīng)指標(biāo)(如gmv)上的均勻的分組赠制,aa保證其均勻性,再進(jìn)行實(shí)驗(yàn)挟憔。[2]
    推薦方法3:使用PSM(propensity score matching)來(lái)進(jìn)行實(shí)驗(yàn)數(shù)據(jù)的統(tǒng)計(jì)評(píng)估钟些。[3]

指標(biāo)數(shù)值不穩(wěn)定(variance過(guò)大)

  • 背景:
    我們觀測(cè)的指標(biāo)數(shù)值,在一定周期內(nèi)呈現(xiàn)不穩(wěn)定的狀態(tài)绊谭。
    現(xiàn)象:在aa中政恍,無(wú)論如何隨機(jī)分組,其組間diff都是不穩(wěn)定的达传。有時(shí)候a組高篙耗,有時(shí)候b組高,或者其diff差值變化太大宪赶,時(shí)而大時(shí)而小宗弯。
    這個(gè)問(wèn)題的本質(zhì)是variance過(guò)大,組內(nèi)variance過(guò)大搂妻,甚至大于均值的差值蒙保,這個(gè)視角可以參考F-test與ANOVA
    與上述問(wèn)題(分組不均)是獨(dú)立的兩個(gè)問(wèn)題,這兩個(gè)問(wèn)題可能都會(huì)存在欲主。譬如就算我們成功進(jìn)行了完全隨機(jī)的分組邓厕,也可能因?yàn)榻M內(nèi)樣本太少逝嚎,導(dǎo)致variance過(guò)大。
  • 問(wèn)題:
    這種問(wèn)題相對(duì)也是常見的详恼,就譬如用戶復(fù)購(gòu)周期本身有很大diff补君,比如有的用戶隔日購(gòu)買,有的用戶一周購(gòu)買一次昧互,如果我們的算法在復(fù)購(gòu)這個(gè)維度上分配不均挽铁,可能導(dǎo)致比如兩個(gè)分組前幾天是穩(wěn)定均衡的,在后面幾天就開始出現(xiàn)diff硅堆。(當(dāng)然屿储,對(duì)于復(fù)購(gòu)周期這個(gè)問(wèn)題,在最小公倍數(shù)的周期下統(tǒng)計(jì)可以穩(wěn)定渐逃,但是這個(gè)最小公倍數(shù)是多少無(wú)法觀測(cè)够掠,而且周期可能也太長(zhǎng)了)但是從理論上來(lái)講,只要樣本個(gè)體足夠多茄菊,就能一定程度上解決這個(gè)問(wèn)題:個(gè)體數(shù)量于variance成反比疯潭,數(shù)量越大variance越小。
    還有些時(shí)候面殖,可能純粹是因?yàn)樾「怕实碾S機(jī)性竖哩,譬如突然出現(xiàn)一個(gè)之前從未出現(xiàn)的野生土豪,購(gòu)買了超多東西脊僚。這種隨機(jī)性相叁,通過(guò)歷史數(shù)據(jù)的統(tǒng)計(jì)是無(wú)法捕捉的。當(dāng)然辽幌,如何界定與評(píng)估也是難點(diǎn)之一

  • 如何解決:
    如果出現(xiàn)這個(gè)問(wèn)題增淹,則是最難解決的。
    方法1:降低variance最直覺的方案就是乌企,增加樣本:提升實(shí)驗(yàn)時(shí)長(zhǎng)虑润,提升實(shí)驗(yàn)組流量。但是增加樣本成本太高加酵,過(guò)長(zhǎng)的決策周期也可能引入更多的不確定因素(譬如10月份的實(shí)驗(yàn)拳喻,多做幾天就要雙11大促了)
    方法2:參數(shù)化評(píng)估,譬如用Linear Model猪腕,引入covariate冗澈,通過(guò)X(是否在實(shí)驗(yàn)組)的系數(shù),以及系數(shù)的顯著性來(lái)評(píng)估(ANCOVA)码撰,延伸還有semi-parametric method[10]
    推薦方法3:核心思路在不增加樣本的情況下進(jìn)行variance reduction[4]


Refer:
[1]:pre-experiment數(shù)據(jù)很重要渗柿。最簡(jiǎn)單的方式,就是將ab組進(jìn)行實(shí)驗(yàn)前的數(shù)據(jù)diff記錄下來(lái),作為原始差值朵栖,但是一般情況下颊亮,如果這個(gè)差值太大,可能用這兩個(gè)組的實(shí)驗(yàn)數(shù)據(jù)會(huì)有較大偏差陨溅,因而會(huì)影響實(shí)驗(yàn)的結(jié)論终惑。

[2]:衍伸問(wèn)題1: 多維度限制下構(gòu)建正交的無(wú)偏分組。
在特定指標(biāo)的維度门扇,構(gòu)建無(wú)偏且正交的分組雹有?這也是一個(gè)比較難以解決的問(wèn)題。
因此臼寄,這種方案某些情況下也比較難以實(shí)操霸奕。

[3]An Introduction to Propensity Score Methods for Reducing the Effects of Confounding in Observational Studies。我們用高維的特征向量X吉拳,構(gòu)建對(duì)treatment(分組)的預(yù)估作為propensity score质帅,在各個(gè)分組內(nèi),ps相近的樣本留攒,視為類似的樣本煤惩。然后對(duì)ps進(jìn)行分桶,分不同桶來(lái)統(tǒng)計(jì)treatment的ATE(Average Treatment Effect)炼邀。這個(gè)思路本質(zhì)其實(shí)也是消除X不同帶來(lái)的影響(影響一部分來(lái)自X的差異魄揉,一部分來(lái)自Treatment。所以用propensity score相近的條件拭宁,來(lái)近似視為X相近洛退。X為高維度向量,直接匹配X相近不現(xiàn)實(shí)杰标,況且也不一定是X所有的維度都在分組上不均)不狮。

  • formulation很簡(jiǎn)單:
    given X:covariate的情況下,treatment assignment:Z與potential outcomes r無(wú)關(guān):
    r_{(t)},r_{(c)} \perp Z | X
    對(duì)于Propensity Score b(X)的假設(shè)如下:
    Z \perp X | b(X)

具體使用方法推薦stratification與matching:

  • 前者按照ps分組即可(具體比如按實(shí)驗(yàn)組等人數(shù)劃分【保證每個(gè)桶內(nèi)實(shí)驗(yàn)組的人數(shù)是一樣的在旱,注:此時(shí)對(duì)照組的人數(shù)肯定是不一樣的⊥频В】桶蝎,還是其他更specific的分桶方法都可以,滿足有一定的樣本避免variance過(guò)大即可【數(shù)據(jù)量太少谅畅,可能會(huì)導(dǎo)致組內(nèi)均值的diff的variance過(guò)大登渣,Ttest也會(huì)得到較小的顯著性校驗(yàn)結(jié)果】,分組會(huì)導(dǎo)致數(shù)據(jù)量減少毡泻,而數(shù)據(jù)量的減少本身也會(huì)降低statistical power胜茧,一定是propensity score做stratification 帶來(lái)的提升大于數(shù)據(jù)量降低的負(fù)面作用才行,所以一般分組也不會(huì)太多。)具體步驟可以見:Stratification and Weighting Via the Propensity Score in Estimation of Causal Treatment Effects: A Comparative Study 中的2.3節(jié)

  • 后者做matching呻顽,即按照propensity score對(duì)樣本進(jìn)行采樣雹顺。(根據(jù)樣本量選擇,有無(wú)放回都可以)之后對(duì)采樣后的樣本進(jìn)行檢驗(yàn)即可廊遍。

  • PS0:當(dāng)然也有IPW的方法嬉愧,可以見Variance reduction in randomised trials by inverse probability weighting using the propensity score

  • PS1:在匹配過(guò)程中,也可能遇到無(wú)法匹配到的狀態(tài)喉前,譬如某些類型的用戶只被分配到了A組没酣,那么treatment=A的概率很高,在B組中可能找不到這樣的樣本卵迂。這時(shí)候也可以進(jìn)行trim裕便,直接截?cái)嗳サ暨@些樣本。(但是理論上這些問(wèn)題應(yīng)該盡力避免见咒,因?yàn)檫@樣你就無(wú)法捕捉

  • PS2:由于是小樣本偿衰,很可能用以估計(jì)PS的樣本量也很小,所以此處用的模型可能就不要(也不需要)太復(fù)雜以防overfitting论颅。(在這里哎垦,當(dāng)我們只用樣本的抽樣做估計(jì)的時(shí)候,會(huì)存在overfitting問(wèn)題恃疯,如果是全量數(shù)據(jù)漏设,其實(shí)不存在overfitting【本身就沒(méi)有testing的過(guò)程】,這種情況今妄,可能也不需要特別復(fù)雜的模型郑口,因?yàn)榭赡茉購(gòu)?fù)雜的模型,也無(wú)法提升擬合程度)

  • PS3:關(guān)于covariate的選擇盾鳞,核心選擇是confounder(即影響結(jié)果犬性,又影響分組的變量【其實(shí)這里的causality定義也是模糊的,更多就是correlation】)腾仅,當(dāng)然乒裆,由于我們可能并不知道對(duì)outcome有影響的變量中,哪些變量是對(duì)treatment有影響的(單純從correlation角度講就是推励,分布不均)鹤耍,所以可以將所有與outcome相關(guān)的都加入。所以這里引入兩個(gè)問(wèn)題
    第一:如果只對(duì)結(jié)果有影響验辞,會(huì)怎樣稿黄?這里其實(shí)不會(huì)造成特別的影響,因?yàn)樵撟兞繉?duì)預(yù)估treatment應(yīng)該是無(wú)關(guān)的跌造。
    第二:能否引入只對(duì)treatment有影響的變量杆怕?這樣其實(shí)沒(méi)有意義,因?yàn)楸举|(zhì)我們是想在AB組找到匹配的X,如果某變量只對(duì)treatment有影響的變量陵珍,則這個(gè)變量其實(shí)不需要match话告。
    第三:本身無(wú)法匹配的變量怎么辦干厚,譬如uid?因?yàn)镻SM本質(zhì)是X的匹配,所以無(wú)法匹配的變量是不能加入模型的赡模,因?yàn)檫@樣會(huì)導(dǎo)致AB間沒(méi)有可以匹配的分?jǐn)?shù)蕾总。(加入uid豹芯,模型完全能直接準(zhǔn)確預(yù)估分組氏豌,A組p=1,B組p=0)愤兵。更進(jìn)一步鹿霸,ABtest的假設(shè)本身也是:在個(gè)體間具有可比性:即個(gè)體1接受treatment后的指標(biāo)與個(gè)體2不接受treatment的指標(biāo)是可以比較的。而match本身的意義是控制變量秆乳,如果控制了uid這個(gè)變量懦鼠,即認(rèn)定個(gè)體間【不同uid】不可比,那實(shí)驗(yàn)本身的假設(shè)就不成立了屹堰。所以u(píng)id本身不能參與outcome的causality作為confounder肛冶。

  • PS4:關(guān)于模型的驗(yàn)證:1、模型本身的metric扯键。2睦袖、用該方法在AA實(shí)驗(yàn)中驗(yàn)證。3荣刑、驗(yàn)證類似分?jǐn)?shù)下馅笙,X變量的相似性(不過(guò)這個(gè)方案感覺本身意義不大)。4厉亏、以及更直覺的方法評(píng)估董习,在真實(shí)實(shí)驗(yàn)中,驗(yàn)證這種方法能否用更小的樣本(時(shí)間)作出正確的決策(ground truth正確的決策由更長(zhǎng)時(shí)間爱只,樣本量的實(shí)驗(yàn)來(lái)給出)

- PS5:注皿淋,當(dāng)我們研究的變量是總GMV等,其實(shí)metric是針對(duì)所有用戶的GMV和恬试,但是我們Propensity Score是在用戶維度計(jì)算的沥匈,這里是不匹配的。所以一種方式是我們要將研究的目標(biāo)變量替換成GMV均值忘渔,但是這里其實(shí)是有問(wèn)題的,因?yàn)榭俫mv提升顯著不一定人均提升顯著缰儿。
能否參考Control Variate中的Variance計(jì)算畦粮?(TODO:這個(gè)方法假設(shè)實(shí)驗(yàn)組對(duì)照組的metic是獨(dú)立的,這里似乎有點(diǎn)問(wèn)題,因?yàn)樽隽薽atching后理論上就不是independent的了)
另外宣赔,paired test如何進(jìn)行预麸。

- TODO:此處顯著性計(jì)算?Matching方法可以直接計(jì)算顯著性儒将,但是這個(gè)顯著性本身其實(shí)是有問(wèn)題的吏祸,因?yàn)橹灰阍龃驧atching的數(shù)量,顯著性就會(huì)提升钩蚊。對(duì)于Stratification方法贡翘,每個(gè)分組的顯著性也可以直接計(jì)算。但總體差異的顯著性如何計(jì)算砰逻?

[4]:variance reduction鸣驱。
其實(shí)有很多思路,譬如在Monte-Carlo Simulation中的Stratified Sampling蝠咆。
其中一個(gè)非秤欢基本,非常直覺刚操,也非常重要的推論是:降低單個(gè)分組(AB組)本身指標(biāo)的variance闸翅,與降低Treatment effect的variance是等價(jià)的。
因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Coverline%20Y_a%EF%BC%8C%5Coverline%20Y_b" alt="\overline Y_a菊霜,\overline Y_b" mathimg="1">可以認(rèn)為是獨(dú)立的坚冀,所以:Var(\overline Y_a- \overline Y_b) = Var(\overline Y_a) + Var(\overline Y_b)

  • 方式1:stratification的方式有at-assignment,即進(jìn)行stratified-sampling 進(jìn)行分組占卧。post-assignment遗菠,進(jìn)行 post stratification。stratification通過(guò)剔除組間方差的方式降低variance华蜒。實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單辙纬,找好分層參數(shù)X,根據(jù)X取值分為n層叭喜。得到新的差值\hat Y_{start}
    核心公式:
    var(\overline Y) = \sum_{k=1}^K \frac {p_k} n \sigma_k^2 + \sum_{k=1}^K \frac {p_k} n (u_k-u)^2 \ge var(\hat Y_{start}) = \sum_{k=1}^K \frac {p_k} n \sigma_k^2
    注:var(\hat Y_{start})是組內(nèi)均值的variance的加權(quán)和\sigma_k^2是每組的樣本方差贺拣,除以樣本量n可以理解為第k組的均值的方差。即組間均值被分組covariate解釋掉了捂蕴。因此在計(jì)算p-value時(shí)譬涡,這種方法能得到更顯著的結(jié)果。

  • 方式2:Control Covariate:這種方法可以針對(duì)continuous variable進(jìn)行修正啥辨。
    用pre-experiment的特征covariate X來(lái)擬合我們的目標(biāo)metric Y涡匀,擬合單位為每個(gè)樣本(用戶),此處用OLS直接擬合線性最優(yōu)解即可溉知。
    核心公式:
    Var(\hat Y_{cv}) = Var(\overline Y)(1- R^2)
    注:
    SSE:sum of squares of residual(Error)(unexplained variation)
    SSR:sum of squares of Regression(explained variation)
    SST:sum of squares of total(total variation)
    滿足SST=SSE+SSR
    得:R^2= 1- \frac {SSE} {SST}=1-\frac {\sum (\hat y_i - y_i)^2}{\sum (y_i-\overline y)^2}即可計(jì)算Var(\hat Y_{cv})
    注:在實(shí)驗(yàn)中陨瘩,treatment 與 control組的參數(shù)需要一致腕够,所以直接用兩組的數(shù)據(jù)預(yù)估即可,Var(\hat Y_{cv}^{(c)})Var(\hat Y_{cv}^{(t)})可以用以上相同的辦法算出舌劳。根據(jù)上述等式帚湘,帶入Var(\overline Y) = \frac {Var(Y)} {n}=\frac {S^2} {n}=\frac {SST} {n(n-1)}來(lái)求解。用sample variance作為總體variance的估計(jì)建邓,注意,在未知總體均值u的情況下官边,樣本方差S^2的自由度為n-1
    https://www.zhihu.com/question/36524138

  • 根據(jù)上述的reduced Variance,進(jìn)行p-value計(jì)算:根據(jù)Z-statistics(數(shù)據(jù)量小時(shí)可以用T),能分別得到對(duì)照組:\hat Y_{start}^{(c)}與實(shí)驗(yàn)組:\hat Y_{start}^{(t)}的variance,整體實(shí)驗(yàn)的顯著性校驗(yàn)如下:
    Z=\frac {E(\hat Y_{start}^{(t)} -\hat Y_{start}^{(c)})} {Var(\hat Y_{start}^{(t)} -\hat Y_{start}^{(c)})} = \frac {E(\hat Y_{start}^{(t)} -\hat Y_{start}^{(c)})} {Var(\hat Y_{start}^{(t)}) + Var(\hat Y_{start}^{(c)})}

見Improving the Sensitivity of Online Controlled Experiments by Utilizing Pre-Experiment Data以及Improving the Sensitivity of Online Controlled Experiments: Case Studies at Netflix
https://booking.ai/how-booking-com-increases-the-power-of-online-experiments-with-cuped-995d186fff1d

上述兩種方法,本質(zhì)我們都是用一些維度變量(covariate)上的信息來(lái)解釋整體的variance:也類似ANCOVA桑阶。covariate選取的要點(diǎn)是,該變量必須是實(shí)驗(yàn)treatment無(wú)關(guān)的(不受實(shí)驗(yàn)影響)∏堇Γ可以證明的是囤采,對(duì)于離散變量。使用stratification與Covariates Control是等價(jià)的。

[5]: statistical power and p-value : https://www.quora.com/What-is-the-relationship-between-statistical-power-and-the-p-value

[6]:anova and linear regression,其他ABtest相關(guān)叔锐,https://github.com/DSXiangLi/Paper_CausalInference_abtest

[7]上述兩個(gè)問(wèn)題解決方法的差異:
1挪鹏、解決不均問(wèn)題,調(diào)整了結(jié)論(通過(guò)PSM計(jì)算出來(lái)的均值diff愉烙,可能跟直接計(jì)算出的結(jié)論完全不同)
2讨盒、解決variance問(wèn)題,用covariate解釋了variance步责,但是沒(méi)改變結(jié)論

[8]一些其他的思考:
我們每日實(shí)驗(yàn)統(tǒng)計(jì)返顺,作為單獨(dú)的對(duì)照,是否也是stratified by each day蔓肯?

[9]關(guān)于檢測(cè)對(duì)象的問(wèn)題遂鹊。
首先,針對(duì)上述方法蔗包,我們analysis unit都是用戶秉扑,randomization unit也是用戶。所以可以直接進(jìn)行variance的計(jì)算调限,以及p-value的檢驗(yàn)舟陆。但是當(dāng)我們分析的對(duì)象不是用戶時(shí)误澳,比如是“每日總GMV”,此時(shí)需要作出一些修改秦躯。(這里相當(dāng)于要將所有數(shù)據(jù)進(jìn)行日級(jí)別的聚合忆谓,analysis unit是day)
本質(zhì)就是:ATE本來(lái)是在用戶級(jí)別算average的,現(xiàn)在要在天級(jí)別算average踱承。

  • 前提結(jié)論1陪毡,總體的指標(biāo)(Total Treatment Effect)差異顯著與均值(Average Treatment Effect)差異顯著等價(jià)。
    假設(shè):E(ATE)=E(y)=\overline y勾扭,y_i為我們感興趣的目標(biāo)變量,譬如i_{th}用戶的gmv铁瞒,n為用戶總數(shù)妙色,Totally Effect E(TTE)=\sum_i^n y_i=n \overline y
    下面我們進(jìn)行假設(shè)檢驗(yàn)的等價(jià)性的證明即:H_0^{a}:E(ATE)=0H_0^:E(TTE)=0是等價(jià)的慧耍,分別計(jì)算T-statistics:
    T^a=\frac {E(\overline y)} {S(\overline y )} = \frac {E(\overline y)} { \frac {S(y)} {\sqrt n}}
    T^b=\frac {E(n\overline y)} {S(n\overline y )} = \frac {E(\overline y)} {S(\overline y )}
    即身辨,兩者是等價(jià)的。所以原則上芍碧,可以直接轉(zhuǎn)變?yōu)闄z驗(yàn)ATE是否顯著煌珊。

  • 前提結(jié)論2,我們之前按天算的 Daily Treatment Effect與Total(average) Treatment Effect在特定條件下等價(jià):當(dāng)一個(gè)組內(nèi)泌豆,天與天之間的樣本都是獨(dú)立同分布時(shí)定庵,DTE與ATE是等價(jià)的。
    identical:即用戶不同天的指標(biāo)y都來(lái)自于同一個(gè)隨機(jī)變量【譬如來(lái)自于長(zhǎng)尾分布f踪危,那么一天的樣本即是對(duì)f進(jìn)行n次采樣獲得蔬浙。但是當(dāng)某天有活動(dòng)時(shí),很大概率贞远,這也不是同分布了】畴博。
    independent:且天與天直接互不干涉【實(shí)際上某些情況下,這個(gè)假設(shè)過(guò)于強(qiáng)烈了蓝仲。譬如購(gòu)買gmv俱病,當(dāng)用戶的總預(yù)算受限,其每天的值就并不是獨(dú)立的】)
    對(duì)于DTE的校驗(yàn)來(lái)說(shuō)袱结,我們將每日的diff記為隨機(jī)變量亮隙,檢測(cè)該隨機(jī)變量在AB組的均值差異。我們形式化一下:y_a^{ij},y_b^{ij}分別為A組擎勘,B組第i個(gè)用戶咱揍,第j天的gmvm為天數(shù)棚饵,總用戶數(shù)量n


    設(shè)兩組的總差異:D=\sum_j^m \sum_i^n y_a^{ij} - \sum_j^m \sum_i^n y_b^{ij}
    DTE: T=\frac {E(\overline d)} {\sqrt {Var(\overline d)}}=\frac {E(\frac D m)} {\sqrt{Var(\frac D m)}}
    ATE: Z=\frac {E(\overline d)} {\sqrt {Var(\overline d)}}=\frac {E(\frac D n)} {\sqrt{Var(\frac D n)}}
    所以兩者的理論值等價(jià)煤裙。
    當(dāng)且僅當(dāng)天與天的差值獨(dú)立同時(shí)如下式子成立:
    Var(\frac D m)
    = Var(\frac {\sum_j^m (\sum_i^n y_a^{ij} - \sum_i^n y_b^{ij})}{m})
    \approx \frac {S^2(\sum_i^n y_a - \sum_i^n y_b )}{m}
    (即我們當(dāng)前分天數(shù)據(jù)均值variance的計(jì)算方法)
    當(dāng)且近當(dāng)個(gè)體的和互相獨(dú)立時(shí)掩完,如下式子成立:
    Var(\frac D n)
    = Var(\frac {\sum_j^n (\sum_i^m y_a^{ij} - \sum_i^m y_b^{ij})}{n})
    \approx \frac {S^2(\sum_j^m y_a) +S^2(\sum_j^m y_b )}{n}
    (即我們當(dāng)前用戶指標(biāo)均值的variance的計(jì)算方法)
    所以,兩者期望一致的一個(gè)充分條件是硼砰,所有個(gè)體分天數(shù)值獨(dú)立同分布且蓬。


    詳細(xì)推導(dǎo):

    • a) DTE做T test的理論值:
      每天均值的diff:
      \overline d=\frac {\sum^m \sum^n y_a^{ij} - \sum^m \sum^n y_b^{ij}} m
      =n(\overline y_a - \overline y_b)(天與天之間獨(dú)立同分布假設(shè))
      均值的variance:
      Var(\overline d)=Var(\frac {\sum^m \sum^n y_a^{ij} - \sum^m \sum^n y_b^{ij}} {m}) \approx \frac {S_d^2}{m}(這里每天直接配對(duì)做了AB組的差,其實(shí)不需要假設(shè)AB獨(dú)立)
      =\frac {mn}{m^2}(Var(y_a) + Var(y_b))(AB組獨(dú)立假設(shè)题翰,這個(gè)假設(shè)在任何AB實(shí)驗(yàn)中一致)
      =\frac {n}{m}(Var(y_a) + Var(y_b))
      所以理論值
      T=\frac {E(\overline d)}{\sqrt {Var(\overline d)}}
      =\frac {n(\overline y_a -\overline y_b)}{\sqrt {\frac {n}{m}(Var(y_a) + Var(y_b))}}(帶入上述\overline d的方差)
      =\frac {n(\overline y_a -\overline y_b)}{\sqrt {\frac {n}{m}(Var(y_a) + Var(y_b))}}
      \frac {(\overline y_a - \overline y_b)} {\sqrt \frac {Var(y_a)+ Var(y_b)} {nm} }
    • b) ATE進(jìn)行T(Z)檢驗(yàn)時(shí):
      Z=\frac {E(\overline y_a - \overline y_b)} {\sqrt {Var(\overline y_a - \overline y_b)}}
      =\frac {m(\overline y_a - \overline y_b)} {\sqrt {Var(\frac {\sum^m \sum^n y_a - \sum^m \sum^n y_b}{n})}}
      = \frac {m(\overline y_a - \overline y_b)} {\sqrt {\frac {nmVar(y_a) + nmVar(y_b)}{n^2}}} \approx \frac {u_a-u_b}{\sqrt {\frac {S_a^2 + S_b^2}{n}}}(AB組獨(dú)立假設(shè))
      =\frac {(\overline y_a - \overline y_b)} {\sqrt \frac {Var(y_a)+ Var(y_b)} {nm} }

可以看出恶阴,DTE與ATE在當(dāng)前假設(shè)(個(gè)體的指標(biāo)的分布與weekday無(wú)關(guān))下,理論值是等價(jià)的豹障。

  • 相關(guān)推斷1:當(dāng)每天的數(shù)據(jù)不是獨(dú)立同分布的時(shí)候冯事,分天DTE與ATE是否等價(jià)?要分情況討論


    1血公、d是否滿足正太性檢驗(yàn)昵仅?
    前提:原來(lái)在假設(shè)每天獨(dú)立同分布的時(shí)候,根據(jù)中心極限定理累魔,每個(gè)組的采樣的均值是滿足正太分布的摔笤,則其差也符合正太分布。
    由AB組獨(dú)立假設(shè):Var(d^i)=Var(\sum y_a^i- \sum y_b^i)=nVar(y_a^i)+nVar(y_b^i)
    當(dāng)每天方差不同時(shí):Var(y_a^i) \neq Var(y_a^j)垦写,可以得到Var(d^i) \neq Var(d^j)
    即吕世,差值每天理論的方差也是不同的,當(dāng)天之間的方差差別很大的時(shí)候梯投,則樣本不滿足正太性假設(shè)命辖,所以理論上也不能用分天T檢驗(yàn)。(這種情況理論上無(wú)法進(jìn)行T檢驗(yàn)晚伙,所以當(dāng)然也不等價(jià)了)


    2吮龄、當(dāng)d滿足正太性檢驗(yàn)時(shí)
    這種情況下,其實(shí)可以進(jìn)行Ttest咆疗。實(shí)際在計(jì)算中漓帚,按照原來(lái)的計(jì)算方法,根據(jù)樣本方差S_d^2做Ttest午磁。
    所以這里算出來(lái)的


    對(duì)DTE來(lái)說(shuō):
    \frac {S_d^2} {m} \approx \frac {Var(d)} {m}
    = Var(\overline d)
    = \frac {Var(\sum_j^m(\sum_i^n y_a^{ij} - \sum_i^n y_b^{ij}))} {m^2} =\frac {Var(\sum_i^n y_a^{ij} - \sum_i^n y_b^{ij})} {m}(每天差值獨(dú)立同分布下成立)
    =\frac {n(Var( \sum_j^m y_a^j) + Var( \sum_j^m y_b^j))}{m^2}
    T=\frac {\frac {\sum_i^n\sum_j^m y_a^{ij} - \sum_i^n\sum_j^m y_b^{ij}} m}{\sqrt {\frac {n(Var( \sum_j^m y_a^j) + Var( \sum_j^m y_b^j))}{m^2}}}


    對(duì)于ATE來(lái)說(shuō):
    \frac {S^2(\sum_j^m y_a^j)+S^2(\sum_j^m y_b^j)}{n}
    \approx \frac {Var( \sum_j^m y_a^j) + Var( \sum_j^m y_b^j)} {n}
    = Var(\frac {\sum_i^n\sum_j^m y_a^{ij} - \sum_i^n\sum_j^m y_b^{ij}} n)(這里只有當(dāng)AB組相互獨(dú)立的時(shí)候尝抖,才能等價(jià))
    Z=\frac {\frac {\sum_i^n\sum_j^m y_a^{ij} - \sum_i^n\sum_j^m y_b^{ij}} n} {\sqrt { \frac {Var( \sum_j^m y_a^j) + Var( \sum_j^m y_b^j)} {n}}}


    由上面可知,只要AB組獨(dú)立迅皇,ATE就與DTE是等價(jià)的昧辽。
    由于:
    Var( \sum_j^m y_a^j) + Var( \sum_j^m y_b^j)=(\sum_j^m Var( y_a^j) +\sum_{j1} \sum_{j2 \neq j1} Cov(y_a^{j1},y_a^{j2})+ \sum_j^m Var( y_b^j) + \sum_{j1} \sum_{j2 \neq j1} Cov(y_b^{j1},y_b^{j2}))
    所以其實(shí)DTE這種算法也沒(méi)有消除不同天之間的差異性。當(dāng)然登颓,由于協(xié)方差Cov的方向性(即Cov項(xiàng)只和不一定會(huì)大于0)搅荞,所以消除它們不一定能提升檢驗(yàn)顯著性。這里直覺上也很好理解,譬如:當(dāng)用戶的總預(yù)算一致的時(shí)候咕痛,直接求和的方差可能更小一點(diǎn)痢甘,而分天求再計(jì)算方差會(huì)更大。


  • 前提結(jié)論3:關(guān)于分天匹配檢驗(yàn)的邏輯:
    由于不同weekday本身也帶來(lái)了差異(每天的條件茉贡,活動(dòng))塞栅,所以我們平時(shí)用的檢驗(yàn)方法是,進(jìn)行分天T配對(duì)樣本檢測(cè)腔丧,但這個(gè)方法并不是為了消除天之間的差異放椰,而是為了保證在AB組不獨(dú)立的情況下能進(jìn)行檢驗(yàn)。


    這樣每天本身的差異就消除了(比如其中某一天有統(tǒng)一優(yōu)惠)愉粤。我們其實(shí)可以簡(jiǎn)單地檢驗(yàn)下分天的均值方差是否相等砾医,(目前看是差異比較大的)。要解決的方案也是比較簡(jiǎn)單地衣厘,即在后續(xù)降低Variance的方法中加入weekday作為Covariates藻烤。
    原本計(jì)算ATE的variance時(shí)為直接計(jì)算用戶粒度的Var(Y_{cv})=\frac {\sum_i^{n} (\hat y_i - y_i)^2}{n}
    加入weekday后,注意計(jì)算的粒度發(fā)生了變化头滔,計(jì)算Daily ATE:Var(Y_{cv})=\frac {\sum_j^m \sum_i^{n_j} (\hat y_{ij} - y_{ij})^2}{\sum_j^m n_j},分子也需要由總用戶均值差轉(zhuǎn)變?yōu)镈aily 用戶均值差(雖然就算直接均分解掉variance涎显,理論比例就是\frac 1 m坤检,但是這里分子也\frac 1 m,所以理論檢驗(yàn)出的p值在weekday本身不能解釋個(gè)體變化的情況下也是一致的【符合預(yù)期】)期吓。
    PS:注意早歇,weekday并不一定能帶來(lái)variance的降低,因?yàn)槲覀円忉尩氖怯脩糸g的差異(個(gè)體間的variance)讨勤,而weekday這個(gè)變量對(duì)所有用戶是相同的箭跳,如果所有的用戶都經(jīng)歷了weekday1~weekdayn√肚В可能需要與別的covariate交叉谱姓。
  • 對(duì)于PSM stratification的方案:一種非常直覺的方案就是,不改變每日對(duì)照匹配的基本模式刨晴,引入人數(shù)的因子屉来,將人均期望轉(zhuǎn)換成總期望。(這個(gè)方式是合理的狈癞,因?yàn)镻SM本身其實(shí)是一種修正bias的方式茄靠,總的期望與均值的期望都是經(jīng)過(guò)矯正后的值。
    1蝶桶、通過(guò)調(diào)整后的均值(每個(gè)stratum得到Y^{(c)} ,Y^{(t)})通過(guò)Y^{(c)}(當(dāng)前語(yǔ)境下對(duì)照組人均gmv)來(lái)計(jì)算“在與實(shí)驗(yàn)組treatment group相同人數(shù)的條件下慨绳,對(duì)照組的期望總GMV",分stratum進(jìn)行計(jì)算后,即可匯總成當(dāng)日的總GMV
    2脐雪、依舊按照T-test的框架厌小,研究對(duì)象為匹配樣本(每天)gmv的差d = Y^{(c)} - Y^{(t)}H_0:d=0喂江,H_1:d > 0
  • 對(duì)于PSM Matching的方案:與上述方法類似召锈,不改變每日對(duì)照匹配的基本模式,得到ATE后获询,將其轉(zhuǎn)換為總GMV期望涨岁。然后后續(xù)檢驗(yàn)方法一致。

  • 對(duì)于Variance Reduction中Covariate Control的方案
    最直接的方式吉嚣,我們修改我們DTE的目標(biāo)變?yōu)锳TE梢薪,理論上,這是一個(gè)更直接的指標(biāo)尝哆,能夠幫我們更好地決策秉撇。但是之前的問(wèn)題是,由于成熟的產(chǎn)品中秋泄,實(shí)驗(yàn)的影響會(huì)非常的小琐馆,而用戶購(gòu)買的GMV本身的variance又非常的大,我們很難得到一個(gè)很顯著的結(jié)果(這也是我們之前用DTE來(lái)評(píng)估的原因之一)恒序。然而通過(guò)Variance Reduction的方案瘦麸,我們可能可以極大地降低variacne,以此獲得可靠的實(shí)驗(yàn)結(jié)果歧胁。
    當(dāng)然滋饲,這里其實(shí)還是有很多樣本選擇的問(wèn)題,比如如果只選擇購(gòu)買的用戶能降低整體variance喊巍?但是產(chǎn)生selection bias屠缭,導(dǎo)致影響購(gòu)買與否的效果被忽略。

  • 對(duì)于Variance Reduction中Covariate Control的方案2
    見上述論文 4.4 Handling Non-User Metric崭参,appendix b: GENERALIZATION TO OTHER ANAL- YSIS UNIT

我們用最基本的方式可以計(jì)算出Var(Y_{cv}^{(c)})呵曹,Var(Y_{cv}^{(t)})后,便可以計(jì)算 Var(a Y_{cv}^{(t)} - b Y_{cv}^{(c)})=a^2Var(Y_{cv}^{(t)})+b^2Var(Y_{cv}^{(c)})

[10]:Improving the Sensitivity of Online Controlled Experiments by Utilizing Pre-Experiment Data見何暮,2.3semi-parametric method逢并,2.2parametric method(ANCOVA)的問(wèn)題是:使用了線性模型,且要求Covariate包含所有的confounder(residual與輸入無(wú)關(guān)的必要條件郭卫,如果有一些實(shí)驗(yàn)的treatment assignment非完全隨機(jī)砍聊,明顯受到一些因素的影響時(shí),會(huì)比較麻煩贰军,需要把這些因素全部納入玻蝌。

[11] U statistics
https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test以及
https://tech.ebayinc.com/engineering/significance-testing-for-ratio-metrics-in-experiments/

[12]A Decision Theoretic Approach to A/B Testing

[13]連續(xù)推斷導(dǎo)致FDR提升蟹肘,Always Valid Inference: Continuous Monitoring of
A/B Tests

[14]:Tests for Two Proportions

[15]多變量:Variance Reduction
Three Approaches to Control Variates 3.2 Multiple Control Variates

[16] 二分變量(比例)的test:### Hypothesis Testing for Means & Proportions

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市俯树,隨后出現(xiàn)的幾起案子帘腹,更是在濱河造成了極大的恐慌,老刑警劉巖许饿,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳欲,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡陋率,警方通過(guò)查閱死者的電腦和手機(jī)球化,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)瓦糟,“玉大人筒愚,你說(shuō)我怎么就攤上這事∑姓悖” “怎么了巢掺?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)劲蜻。 經(jīng)常有香客問(wèn)我陆淀,道長(zhǎng),這世上最難降的妖魔是什么先嬉? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任倔约,我火速辦了婚禮,結(jié)果婚禮上坝初,老公的妹妹穿的比我還像新娘。我一直安慰自己钾军,他們只是感情好鳄袍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吏恭,像睡著了一般拗小。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上樱哼,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天哀九,我揣著相機(jī)與錄音,去河邊找鬼搅幅。 笑死阅束,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的茄唐。 我是一名探鬼主播息裸,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了呼盆?” 一聲冷哼從身側(cè)響起年扩,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎访圃,沒(méi)想到半個(gè)月后厨幻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腿时,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年况脆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片圈匆。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡漠另,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跃赚,到底是詐尸還是另有隱情笆搓,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布纬傲,位于F島的核電站满败,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏叹括。R本人自食惡果不足惜算墨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望汁雷。 院中可真熱鬧净嘀,春花似錦、人聲如沸侠讯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厢漩。三九已至膜眠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間溜嗜,已是汗流浹背宵膨。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留炸宵,地道東北人辟躏。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像土全,于是被迫代替她去往敵國(guó)和親鸿脓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子抑钟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)野哭,斷路器在塔,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • 算法技術(shù)解構(gòu) 1、Python基礎(chǔ)知識(shí) (1)IPythonIPython的開發(fā)者吸收了標(biāo)準(zhǔn)解釋器的基本概念拨黔,在此...
    shenciyou閱讀 5,299評(píng)論 0 10
  • 【假設(shè)檢驗(yàn)分6步】——《統(tǒng)計(jì)學(xué)(第6版)賈俊平》 一蛔溃、原假設(shè)h0和備擇假設(shè)h11、原假設(shè)h0和備擇假設(shè)h12篱蝇、確定...
    dataTONG閱讀 5,578評(píng)論 0 16
  • 注明:本文是對(duì)一篇整理166篇文獻(xiàn)的綜述翻譯贺待,其中對(duì)應(yīng)文獻(xiàn)地址都已附上為方便點(diǎn)擊查看學(xué)習(xí)。查看有的文獻(xiàn)可能需要科學(xué)...
    leon_kbl閱讀 4,312評(píng)論 0 6
  • 漸變的面目拼圖要我怎么拼哪工? 我是疲乏了還是投降了? 不是不允許自己墜落弧哎, 我沒(méi)有滴水不進(jìn)的保護(hù)膜雁比。 就是害怕變得面...
    悶熱當(dāng)乘涼閱讀 4,241評(píng)論 0 13