「深度」AB測(cè)試中的因果推斷——隨機(jī)化分流
編輯導(dǎo)語(yǔ):在進(jìn)行關(guān)鍵的產(chǎn)品決策時(shí),我們會(huì)用到A/B測(cè)試,那到底怎么應(yīng)用和推算這個(gè)模型?本文作者詳細(xì)的介紹了在統(tǒng)計(jì)推斷中對(duì)A/B模型的應(yīng)用。
上一篇文章“「深度」A/B測(cè)試中的因果推斷——潛在結(jié)果模型”中我們介紹了用于A/B測(cè)試因果推斷的潛在結(jié)果模型,現(xiàn)在我們來看看在統(tǒng)計(jì)推斷中如何應(yīng)用這個(gè)模型,對(duì)試驗(yàn)的因果效果進(jìn)行估計(jì)。
一、分流機(jī)制
前面我們說過,對(duì)于因果效果的估計(jì),我們需要比較多個(gè)個(gè)體的實(shí)際觀測(cè)到的潛在結(jié)果,其中一部分個(gè)體和另外一部分分別接受不同的處理,觀測(cè)到不同的潛在結(jié)果。
假如我們有兩個(gè)用戶參與這個(gè)霧霾小試驗(yàn):小強(qiáng)和小明,觀測(cè)到如下的結(jié)果。
表面上來看,小強(qiáng)不戴口罩咳嗽 100 分鐘,小明戴口罩也是咳嗽 100 分鐘,我們也許就簡(jiǎn)單地得出一個(gè)結(jié)論:霧霾時(shí)戴口罩沒有用,咳嗽不會(huì)少。
但是真實(shí)情況可能是:小強(qiáng)對(duì)霧霾的抵抗力比小明好很多,所以他不戴口罩咳嗽 100 分鐘,戴口罩只咳嗽 10 分鐘;而身體較弱的小明不戴口罩會(huì)咳嗽 200 分鐘,戴口罩咳嗽 100 分鐘。
那么真實(shí)的因果效果應(yīng)該是戴口罩少咳嗽 100 分鐘左右,我們從數(shù)據(jù)表面得出的戴口罩無用的結(jié)論是錯(cuò)誤的。
上面給出的是一個(gè)只有兩個(gè)個(gè)體的簡(jiǎn)單例子,如果參與試驗(yàn)的個(gè)體很多,同樣可能出現(xiàn)這樣的狀況。
1. 問題出在哪里?
顯然,個(gè)體之間是存在差異的,如果我們把抵抗力強(qiáng)的分派在一組,把抵抗力差的分派到另外一組,然后進(jìn)行對(duì)比,結(jié)果就會(huì)和真實(shí)情況偏差很大,從而得出錯(cuò)誤的結(jié)論。
問題的關(guān)鍵在于參與試驗(yàn)的用戶進(jìn)行分組的方法,也就是哪些用戶觀測(cè)到戴口罩的潛在結(jié)果,哪些用戶觀測(cè)到不戴口罩的潛在結(jié)果,這是對(duì)試驗(yàn)比較的結(jié)果影響很大的重要因素。
我們把這個(gè)分組的過程稱為用戶分流/分派機(jī)制 (assignment mechanism)。
也就是說,多個(gè)個(gè)體參與試驗(yàn)并不足以保證我們進(jìn)行有效的因果推斷,我們必須掌握個(gè)體的分流機(jī)制這個(gè)關(guān)鍵信息或者對(duì)其進(jìn)行有計(jì)劃的控制。
分流機(jī)制和因果效果的定義沒有關(guān)系,但是它是潛在結(jié)果模型應(yīng)用過程中的關(guān)鍵一步,是決定效果估計(jì)準(zhǔn)確性的重要因素。
我們通常需要在試驗(yàn)設(shè)計(jì)中選擇一個(gè)好的分流方案,以使得因果效果的估計(jì)接近于它的定義,并且盡可能提升試驗(yàn)的統(tǒng)計(jì)功效。
因果效果是通過潛在結(jié)果(只能觀測(cè)到其中一個(gè))的比較來定義的,和實(shí)際接受到的處理無關(guān)。
但是,因?yàn)槲覀冎荒苡^測(cè)到一半的潛在結(jié)果,無法得知個(gè)體的因果效果,在評(píng)估因果效果時(shí)就存在一個(gè)因果推斷的困難:數(shù)據(jù)缺失問題,個(gè)體沒有接受到的處理所對(duì)應(yīng)的潛在結(jié)果的數(shù)據(jù)是缺失的。
因此,解決問題的關(guān)鍵就是缺失數(shù)據(jù)的處理機(jī)制,在因果推斷中就是分流機(jī)制。
哪些個(gè)體應(yīng)該接受哪些處理,或者說哪些潛在結(jié)果應(yīng)該被觀測(cè)到?分流機(jī)制的這些分派決定是非常關(guān)鍵的。
我們?cè)倏纯从?4 個(gè)用戶參與霧霾小試驗(yàn)的例子,這次試驗(yàn)增加了用戶小芳和小剛,小芳和小強(qiáng)在一組,不戴口罩;小剛和小明在一組,戴口罩。
觀測(cè)到數(shù)據(jù)如下:
這次從數(shù)據(jù)上看:不戴口罩咳嗽 150 分鐘(平均)、戴口罩咳嗽 55 分鐘(平均)、結(jié)論是戴口罩可以減少咳嗽時(shí)間 95 分鐘(平均)。
和真實(shí)的個(gè)體因果效果對(duì)比我們可以看出,這個(gè)估計(jì)結(jié)果是很準(zhǔn)確的。
這次試驗(yàn)為什么可以推斷出正確的結(jié)論呢?
因?yàn)槲覀冊(cè)黾恿嗽囼?yàn)用戶小芳和小剛,而小芳的霧霾抵抗力和小明接近(相同),小剛的抵抗力和小強(qiáng)接近(相同);
從而解決了數(shù)據(jù)缺失的問題:你可以把小芳的結(jié)果看作是小明沒有觀測(cè)到的不戴口罩情況下的潛在結(jié)果,把小剛的結(jié)果看作是小強(qiáng)沒有觀測(cè)到的戴口罩情況下的潛在結(jié)果。
這里分流的關(guān)鍵在于把用戶屬性(抵抗力)差不多的小強(qiáng) vs 小剛,以及小明 vs 小芳,分派到兩個(gè)不同的組,接受不同的處理。
如果反過來,把屬性差不多的用戶都放在同一個(gè)組,那么數(shù)據(jù)缺失問題還是沒有得到解決,試驗(yàn)結(jié)論和上面兩個(gè)用戶情況下的試驗(yàn)一樣依然是錯(cuò)的。
從這兩個(gè)例子我們可以看出:我們不能脫離個(gè)體的分流機(jī)制而僅僅由個(gè)體觀測(cè)到的潛在結(jié)果來進(jìn)行因果推斷。
有效的推斷要求我們必須考慮這個(gè)問題:為什么這些用戶接受這個(gè)處理,另外的用戶接受另一個(gè)處理?
二、隨機(jī)化試驗(yàn)
采用隨機(jī)化分流方式的試驗(yàn)設(shè)計(jì)就是隨機(jī)化試驗(yàn) (Randomized Experiments),它是我們?cè)?A/B 測(cè)試中進(jìn)行統(tǒng)計(jì)推斷的基礎(chǔ)。傳統(tǒng)的隨機(jī)化試驗(yàn)主要有三種類型:
- 伯努利(Bernoulli)隨機(jī)化試驗(yàn)
- 完全隨機(jī)化試驗(yàn)(Completely Randomized Experiments)
- 分層隨機(jī)化試驗(yàn)(Stratified Randomized Experiments)
最簡(jiǎn)單的 Bernoulli 試驗(yàn)以類似于拋硬幣的方式來決定每一個(gè)個(gè)體的分派;
完全隨機(jī)化試驗(yàn)中每個(gè) treatment 分派到的個(gè)體數(shù)量是固定的,但個(gè)體的分派是隨機(jī)的;分層隨機(jī)化則是在完全隨機(jī)化的基礎(chǔ)上,先通過協(xié)變量對(duì)總體進(jìn)行分層,然后在層內(nèi)隨機(jī)化分派。
不同的隨機(jī)化試驗(yàn)類型(隨機(jī)化分流方式)導(dǎo)致不同的分派概率分布。
以完全隨機(jī)化試驗(yàn)為例,其個(gè)體概率如下:
根據(jù)這個(gè)概率分布,我們就可以對(duì)總體的平均因果效果進(jìn)行統(tǒng)計(jì)推斷和估計(jì)了。
平均因果效果的估計(jì)
讓我們先從數(shù)學(xué)上正式地定義平均因果效果(Average Causal Effect),它是我們?cè)囼?yàn)和分析的最終目標(biāo)。
首先把總體中所有的個(gè)體編號(hào)為 i = 1, …, N,N 是總體的容量。
每個(gè)個(gè)體可接受一組處理中的一個(gè),我們用 Ti 來表示個(gè)體 i 可接受的處理的集合。
大多數(shù)情況下,這個(gè)集合對(duì)所有個(gè)體都是相同的。
在我們的小試驗(yàn)中,Ti 包括兩個(gè)處理水平:0 表示不戴口罩(control 組),1 表示戴口罩(treatment 組)。
每個(gè)個(gè)體可接受的處理水平都有一個(gè)對(duì)應(yīng)的潛在效果,Yi(0)和 Yi(1)、Yi(1)和 Yi(0) 的比較(通常是差值),就是個(gè)體 i 的因果效果了。
個(gè)體的因果效果我們是無法直接得知的,也不是我們的關(guān)注重點(diǎn)。
我們通常關(guān)心的是總體中所有個(gè)體的因果效果的平均值,即平均因果效果。
其中
分別是所有個(gè)體不戴口罩(0)的平均潛在結(jié)果,和所有個(gè)體戴口罩(1)的平均潛在結(jié)果。
ACE 就是我們?cè)囼?yàn)分析的目標(biāo),它等于“戴口罩(1)的平均潛在結(jié)果 ——不戴口罩(0)的平均潛在結(jié)果”。
我們前面已經(jīng)說過,每個(gè)個(gè)體的兩個(gè)潛在結(jié)果只能觀測(cè)到其中一個(gè),另外一個(gè)是不知道的,所以Yi(0)和Yi(1) 里面有一半是沒有觀測(cè)值的,我們不能由 ACE 的定義公式直接計(jì)算出它的值。
對(duì) ACE 的一個(gè)很自然的估計(jì)量就是“treatment 組觀測(cè)到的平均潛在結(jié)果—control 組觀測(cè)到的平均潛在結(jié)果”
假設(shè)參與試驗(yàn)的 N 個(gè)用戶中有 Nt 個(gè)分派到 treatment 組,Nc 個(gè)在 control 組,那么 treatment 組和 control 組的平均潛在結(jié)果分別是
我們需要評(píng)估一下這個(gè)估計(jì)量的準(zhǔn)確性,最基本的衡量標(biāo)準(zhǔn)就是它是否 ACE 的無偏估計(jì),即該估計(jì)量的期望是否等于 ACE。
令指示變量 Wi 表示個(gè)體 i 被分派的處理(取值 0 或 1),估計(jì)量可改寫為:
其期望值:
如果分派機(jī)制 W 是完全隨機(jī)化分派,那么隨機(jī)變量 Wi 的期望:
因此可得:
可知,在完全隨機(jī)化試驗(yàn)中,我們根據(jù)直觀得到的簡(jiǎn)單估計(jì)量是 ACE 的無偏估計(jì),是基本可用的。
從上面的推斷過程可以看出,個(gè)體的完全隨機(jī)化分派機(jī)制在其中扮演了非常重要的角色,正是由于隨機(jī)變量 Wi 的概率分布的特點(diǎn),使得 ACE 的這個(gè)簡(jiǎn)單估計(jì)量是無偏估計(jì)。
現(xiàn)在我們來看看這個(gè) ACE 估計(jì)量的精確性,也就是其抽樣方差。
根據(jù)隨機(jī)變量 Wi 的概率分布的特點(diǎn),通過類似的方法,可得到 ACE 估計(jì)量的方差為:
其中
分別是潛在結(jié)果 Yi(0)和 Yi(1)的樣本方差,而
則是個(gè)體因果效果 Yi(1) – Yi(0) 的樣本方差。
如果總體中的個(gè)體因果效果為常量(例如,戴口罩的效果對(duì)所有人都是少咳嗽 100 分鐘),那么該項(xiàng)為 0,我們得到:
以觀測(cè)到的組內(nèi)樣本方差近似代替總體的樣本方差可得到一個(gè)方差估計(jì)量:
結(jié)合平均因果效果的估計(jì)量和抽樣方差估計(jì)量可得到假設(shè)檢驗(yàn)統(tǒng)計(jì)量為:
是不是看起來很眼熟?嗯,其實(shí)就是我們常用的獨(dú)立雙樣本情況下的 z 檢驗(yàn)量的計(jì)算公式:
大家現(xiàn)在是不是對(duì)隱藏在這個(gè)公式里的因果效果有所理解了?!
作者:祁永輝,微信:yonghuishuo,微信公眾號(hào):AB試驗(yàn),熱云數(shù)據(jù)AB測(cè)試事業(yè)部增長(zhǎng)顧問,專注于AB試驗(yàn)(A/Btest)相關(guān)知識(shí)分享
本文由 @祁永輝 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
- 目前還沒評(píng)論,等你發(fā)揮!