「深度」A/B測試中的因果推斷——隨機化分流

AB測試

上一篇文章“A/B 測試中的因果推斷——潛在結果模型”中我們介紹了用于A/B測試因果推斷的潛在結果模型,現在我們來看看在統計推斷中如何應用這個模型,對試驗的因果效果進行估計。

分流機制

前面我們說過,對于因果效果的估計,我們需要比較多個個體的實際觀測到的潛在結果,其中一部分個體和另外一部分分別接受不同的處理,觀測到不同的潛在結果。

 

假如我們有兩個用戶參與這個霧霾小試驗:小強和小明,觀測到如下的結果。

表面上來看,小強不戴口罩咳嗽 100 分鐘,小明戴口罩也是咳嗽 100 分鐘,我們也許就簡單地得出一個結論:霧霾時戴口罩沒有用,咳嗽不會少。但是真實情況可能是:小強對霧霾的抵抗力比小明好很多,所以他不戴口罩咳嗽 100 分鐘,戴口罩只咳嗽 10 分鐘;而身體較弱的小明不戴口罩會咳嗽 200 分鐘,戴口罩咳嗽 100 分鐘。那么真實的因果效果應該是戴口罩少咳嗽 100 分鐘左右,我們從數據表面得出的戴口罩無用的結論是錯誤的。

 

上面給出的是一個只有兩個個體的簡單例子,如果參與試驗的個體很多,同樣可能出現這樣的狀況。問題出在哪里?顯然,個體之間是存在差異的,如果我們把抵抗力強的分派在一組,把抵抗力差的分派到另外一組,然后進行對比,結果就會和真實情況偏差很大,從而得出錯誤的結論。

 

問題的關鍵在于參與試驗的用戶進行分組的方法,也就是哪些用戶觀測到戴口罩的潛在結果,哪些用戶觀測到不戴口罩的潛在結果,這是對試驗比較的結果影響很大的重要因素。我們把這個分組的過程稱為用戶分流/分派機制 (assignment mechanism)。

 

也就是說,多個個體參與試驗并不足以保證我們進行有效的因果推斷,我們必須掌握個體的分流機制這個關鍵信息或者對其進行有計劃的控制。分流機制和因果效果的定義沒有關系,但是它是潛在結果模型應用過程中的關鍵一步,是決定效果估計準確性的重要因素。我們通常需要在試驗設計中選擇一個好的分流方案,以使得因果效果的估計接近于它的定義,并且盡可能提升試驗的統計功效。

 

因果效果是通過潛在結果(只能觀測到其中一個)的比較來定義的,和實際接受到的處理無關。但是,因為我們只能觀測到一半的潛在結果,無法得知個體的因果效果,在評估因果效果時就存在一個因果推斷的困難:數據缺失問題,個體沒有接受到的處理所對應的潛在結果的數據是缺失的。因此,解決問題的關鍵就是缺失數據的處理機制,在因果推斷中就是分流機制。

 

哪些個體應該接受哪些處理,或者說哪些潛在結果應該被觀測到?分流機制的這些分派決定是非常關鍵的。我們再看看有 4 個用戶參與霧霾小試驗的例子,這次試驗增加了用戶小芳和小剛,小芳和小強在一組,不戴口罩;小剛和小明在一組,戴口罩。觀測到數據如下:

這次從數據上看,不戴口罩咳嗽 150 分鐘(平均),戴口罩咳嗽 55 分鐘(平均),結論是戴口罩可以減少咳嗽時間 95 分鐘(平均)。和真實的個體因果效果對比我們可以看出,這個估計結果是很準確的。

 

這次試驗為什么可以推斷出正確的結論呢?因為我們增加了試驗用戶小芳和小剛,而小芳的霧霾抵抗力和小明接近(相同),小剛的抵抗力和小強接近(相同),從而解決了數據缺失的問題:你可以把小芳的結果看作是小明沒有觀測到的不戴口罩情況下的潛在結果,把小剛的結果看作是小強沒有觀測到的戴口罩情況下的潛在結果。

 

這里分流的關鍵在于把用戶屬性(抵抗力)差不多的小強 vs 小剛,以及小明 vs 小芳,分派到兩個不同的組,接受不同的處理。如果反過來,把屬性差不多的用戶都放在同一個組,那么數據缺失問題還是沒有得到解決,試驗結論和上面兩個用戶情況下的試驗一樣依然是錯的。

 

從這兩個例子我們可以看出:我們不能脫離個體的分流機制而僅僅由個體觀測到的潛在結果來進行因果推斷,有效的推斷要求我們必須考慮這個問題:為什么這些用戶接受這個處理,另外的用戶接受另一個處理?

隨機化試驗

采用隨機化分流方式的試驗設計就是隨機化試驗 (Randomized Experiments),它是我們在 A/B 測試中進行統計推斷的基礎。傳統的隨機化試驗主要有三種類型:

 

伯努利 (Bernoulli)隨機化試驗

完全隨機化試驗 (Completely Randomized Experiments)

分層隨機化試驗 (Stratified Randomized Experiments)

 

最簡單的 Bernoulli 試驗以類似于拋硬幣的方式來決定每一個個體的分派;完全隨機化試驗中每個 treatment 分派到的個體數量是固定的,但個體的分派是隨機的;分層隨機化則是在完全隨機化的基礎上,先通過協變量對總體進行分層,然后在層內隨機化分派。

 

不同的隨機化試驗類型(隨機化分流方式)導致不同的分派概率分布。以完全隨機化試驗為例,其個體概率如下:

根據這個概率分布,我們就可以對總體的平均因果效果進行統計推斷和估計了。

 

平均因果效果的估計

讓我們先從數學上正式地定義平均因果效果 (Average Causal Effect),它是我們試驗和分析的最終目標。

 

首先把總體中所有的個體編號為 i = 1, …, N,N 是總體的容量。每個個體可接受一組處理中的一個,我們用 Ti 來表示個體 i 可接受的處理的集合。大多數情況下,這個集合對所有個體都是相同的。在我們的小試驗中,Ti 包括兩個處理水平:0 表示不戴口罩(control 組),1 表示戴口罩(treatment 組)。

 

 

每個個體可接受的處理水平都有一個對應的潛在效果,Yi(0) 和 Yi(1),Yi(1) 和 Yi(0) 的比較(通常是差值),就是個體 i 的因果效果了。

 

 

個體的因果效果我們是無法直接得知的,也不是我們的關注重點。我們通常關心的是總體中所有個體的因果效果的平均值,即平均因果效果。

 

 

其中

 

 

分別是所有個體不戴口罩(0)的平均潛在結果,和所有個體戴口罩(1)的平均潛在結果。

 

ACE 就是我們試驗分析的目標,它等于“戴口罩(1)的平均潛在結果 – 不戴口罩(0)的平均潛在結果”。

 

我們前面已經說過,每個個體的兩個潛在結果只能觀測到其中一個,另外一個是不知道的,所以 Yi(0) 和 Yi(1) 里面有一半是沒有觀測值的,我們不能由 ACE 的定義公式直接計算出它的值。

 

對 ACE 的一個很自然的估計量就是“treatment 組觀測到的平均潛在結果 – control 組觀測到的平均潛在結果”

假設參與試驗的 N 個用戶中有 Nt 個分派到 treatment 組,Nc 個在 control 組,那么 treatment 組和 control 組的平均潛在結果分別是

 

 

我們需要評估一下這個估計量的準確性,最基本的衡量標準就是它是否 ACE 的無偏估計,即該估計量的期望是否等于 ACE。

 

令指示變量 Wi 表示個體 i 被分派的處理(取值 0 或 1),估計量可改寫為:

 

 

其期望值

 

 

如果分派機制 W 是完全隨機化分派,那么隨機變量 Wi 的期望

 

 

因此可得,

 

 

可知,在完全隨機化試驗中,我們根據直觀得到的簡單估計量是 ACE 的無偏估計,是基本可用的。

 

從上面的推斷過程可以看出,個體的完全隨機化分派機制在其中扮演了非常重要的角色,正是由于隨機變量 Wi 的概率分布的特點,使得 ACE 的這個簡單估計量是無偏估計。

 

現在我們來看看這個 ACE 估計量的精確性,也就是其抽樣方差。

 

根據隨機變量 Wi 的概率分布的特點,通過類似的方法,可得到 ACE 估計量的方差為:

 

 

其中

 

 

分別是潛在結果 Yi(0) 和 Yi(1) 的樣本方差,而

 

 

則是個體因果效果 Yi(1) – Yi(0) 的樣本方差。如果總體中的個體因果效果為常量(例如,戴口罩的效果對所有人都是少咳嗽 100 分鐘),那么該項為 0,我們得到:

 

 

以觀測到的組內樣本方差近似代替總體的樣本方差可得到一個方差估計量:

 

 

結合平均因果效果的估計量和抽樣方差估計量可得到假設檢驗統計量為:

 

 

是不是看起來很眼熟?嗯,其實就是我們常用的獨立雙樣本情況下的 z 檢驗量的計算公式:

 

 

大家現在是不是對隱藏在這個公式里的因果效果有所理解了?!

 

本文作者:鐘書毅@吆喝科技?。

作者的另一篇文章:[深度]A/B 測試中的因果推斷——潛在結果模型

4850 Views
即刻實踐文章理論 A/B測試 灰度發布 產品優化 免費申請
Please wait...

訂閱我們

對于每位訂閱讀者,每兩周,吆喝科技會為您發送4篇精選文章,可能是最新的A/B測試實踐,也會是你所期待的增長干貨。
qq宠物捕鱼大师 最新疾风计划 山东群英会6月6号33期开奖结果 vr赛历史 排列五如何正确排除 内蒙古时时走势全图 怎样看懂幸运飞艇走势图 真钱线上扎金花 香港正挂挂牌彩图114期 快乐时时开奖查询结果 福建时时有什么技巧