AB測試中的因果推斷:潛在結(jié)果模型

0 評論 6935 瀏覽 32 收藏 20 分鐘

編輯導讀:在進行關(guān)鍵的產(chǎn)品決策時,我們需要用到A/B 測試。它是什么?有什么用呢?本文將從四個方面展開分析,希望對你有幫助。

重度霧霾天,你出門可能戴口罩,也可能沒戴。如果沒戴口罩,今天痛苦地咳嗽了 100 分鐘(會不會掛掉?),你會很后悔地想:要是我今天記得戴口罩,那么我可能只會咳嗽 10 分鐘。

戴口罩的話你會咳嗽 10 分鐘,不戴口罩的話你會咳嗽 100 分鐘,咳嗽 10 分鐘和 100 分鐘分別就是這兩個處理所對應的潛在結(jié)果。因為你實際上沒戴口罩而咳嗽了 100 分鐘,所以,這戴口罩只咳嗽 10 分鐘的潛在結(jié)果只是你想象的結(jié)果,不是實際發(fā)生和觀察到的。

聽起來是不是有點反事實 (Counterfactual) 推斷的味道?是的,潛在結(jié)果就是這種想象中的:假如我這幾年買的是美股,而不是 A 股,那結(jié)果就是賺 100 萬,而不是賠 100 萬了(捶胸頓足)。

有點意思?那繼續(xù),下面才是正菜。

對 A/B 測試有了解的讀者都知道,A/B 測試通過用戶分組進行在線試驗,可以對比產(chǎn)品兩個版本的方案找出哪一個更好。

但是很多人可能會問:我為什么一定要用 A/B Testing?Google Analytics 這么強大,我的產(chǎn)品的用戶訪問一目了然,通過數(shù)據(jù)分析不難找到問題所在,A/B 測試還有必要嗎?

這篇文章里,作者將從因果關(guān)系方面仔細分析為什么在關(guān)鍵的產(chǎn)品決策時,您需要 A/B Testing,而不僅僅是像 GA 這種觀察性的數(shù)據(jù)分析工具。

一、相關(guān)性與因果關(guān)系

前面問題的回答從統(tǒng)計學上看很簡單,GA 這種觀察性的數(shù)據(jù)分析工具主要用于探索性的研究,它長于發(fā)現(xiàn)問題,而不是解決問題;它可以用來發(fā)現(xiàn)事物之間的相關(guān)性,但是很難用來確認因果關(guān)系。

在概率論和統(tǒng)計學中,相關(guān)(Correlation,或稱相關(guān)系數(shù)),顯示兩個隨機變量之間線性關(guān)系的強度和方向。

——維基百科

相關(guān)性在探索性的研究中是很有用的,它可以在實踐中預示某種關(guān)系,指明進一步研究的方向。相關(guān)性的典型例子是產(chǎn)品的需求和價格的關(guān)系,空氣質(zhì)量和汽車數(shù)量的關(guān)系。

這兩個相關(guān)性的例子都暗示了更進一步的因果關(guān)系,因為從經(jīng)濟學上看價格下降會提升需求,汽車數(shù)量增加使得尾氣排放量增加而導致空氣質(zhì)量變差。

但是,不是所有的相關(guān)性都有因果關(guān)系,相關(guān)并不意味著因果。

15 Insane Things That Correlate With Each Other 這個網(wǎng)站收集了很多看起來很荒謬的相關(guān)性例子。

上面的例子中,美國緬因州的離婚率和人均黃油消耗量在 2000 年至 2009 年間達到了極強的相關(guān)性(相關(guān)系數(shù) 0.9926)。吃黃油和離婚明顯是沒有因果關(guān)系的兩件事,因為根據(jù)我們的常識,吃多點黃油不至于讓人性情大變而導致離婚,離婚之后也不太可能因為心情沮喪而多吃黃油。

如果我們的研究目的是找出緬因州離婚率下降的主因,人均黃油消耗量和離婚率之間的相關(guān)性有用嗎?顯然這個相關(guān)性的作用是很有限的,你不能據(jù)此得出結(jié)論:少吃黃油有助于婚姻和諧。

我們希望得到的是和離婚率之間的因果關(guān)系,這就需要針對性的調(diào)查或試驗,吃黃油和離婚兩者表面上的相關(guān)性頂多起到提示性的作用(假如有的話)。

例如,研究人員可能會想到,是否有一個第三因素,導致了緬因州離婚率和黃油消耗量的共同下降,如經(jīng)濟形勢?

因果關(guān)系在很多應用場合是我們的核心關(guān)注點,例如產(chǎn)品的優(yōu)化方案。更醒目的 Call to Action 按鈕是否會促進著陸頁的轉(zhuǎn)化?什么樣的表單用戶更愿意去完成?這些問題的背后都是一些 PM 需要去確證的因果關(guān)系,正是 A/B 測試可以大展身手的地方。

A/B 測試也稱為在線對照試驗 (Online Controlled Experiments) ,是一種科學地進行統(tǒng)計因果推斷的研究方法,它和其他統(tǒng)計研究方法(如觀察性研究)的主要區(qū)別在于它可以通過針對性的試驗簡單高效地對所考察的因素和變量間的因果關(guān)系進行科學地推斷。

那到底什么是因果關(guān)系呢?

因果關(guān)系是一個事件(即“因”)和第二個事件(即“果”)之間的關(guān)系,其中后一事件被認為是前一事件的結(jié)果。一般來說,因果還可以指一系列因素(因)和一個現(xiàn)象(果)之間的關(guān)系。對某個結(jié)果產(chǎn)生影響的任何事件都是該結(jié)果的一個因素。

——維基百科

A/B 測試要研究的就是這種簡單邏輯上的因果關(guān)系,而不是先有雞還是先有蛋這種近乎哲學上的因果。確切地說,我們通過試驗要證明的是:某個因素/處理是否會對某個現(xiàn)象/結(jié)果產(chǎn)生作用。

下面我們將根據(jù)統(tǒng)計學上的潛在結(jié)果模型,仔細分析因果關(guān)系的定義和推斷過程。

二、潛在結(jié)果

首先明確一下統(tǒng)計學上因果關(guān)系的定義。在試驗的上下文中,我們討論的因果關(guān)系是和某個處理 (treatment) 關(guān)聯(lián)在一起的,作用的目標主體是參加試驗的個體。

一個或多個處理作用在個體上產(chǎn)生的預期效果我們稱之為潛在結(jié)果 (Potential outcome)。之所以稱為潛在結(jié)果是因為在一個個體上最終只有一個結(jié)果會出現(xiàn)并被觀察到,也就是和個體所接受的處理相對應的那個結(jié)果。另外的潛在結(jié)果是觀察不到的,因為它們所對應的處理并沒有實際作用在該個體上。

舉個例子,今天北京是重度霧霾天(很正常),你出門可能戴口罩了,也可能沒戴口罩(忘了,很不幸?。_@個小試驗的個體就是你,戴口罩和不戴口罩就是兩個不同的處理。戴或者不戴,當然只能選一個,結(jié)果也只能觀察到一個。

如果你沒有戴口罩,今天痛苦地咳嗽了 100 分鐘(會不會掛掉?),你會很后悔地想:要是我今天記得戴口罩,那么我可能只會咳嗽 10 分鐘。戴口罩的話你會咳嗽 10 分鐘,不戴口罩的話你會咳嗽 100 分鐘,咳嗽 10 分鐘和 100 分鐘分別就是這兩個處理所對應的潛在結(jié)果。

因為你實際上沒戴口罩而咳嗽了 100 分鐘,所以,這戴口罩只咳嗽 10 分鐘的潛在結(jié)果只是你想象的結(jié)果,不是實際發(fā)生和觀察到的。

聽起來是不是有點反事實 (Counterfactual) 推斷的味道?是的,潛在結(jié)果就是這種想象中的:假如我這幾年買的是美股,而不是 A 股,那結(jié)果就是賺 100 萬,而不是賠 100 萬了(捶胸頓足)。

三、因果效果

在定義了潛在結(jié)果之后,不同的處理產(chǎn)生的因果效果 (Causal effect)就很清楚了,它就是不同潛在結(jié)果的比較。

在上面的例子中,作用在個體“你”上的因果效果就是戴口罩咳嗽 10 分鐘 – 不戴口罩咳嗽 100 分鐘 = 少咳嗽 90 分鐘。我們用符號 Y 來表示潛在結(jié)果,Y(不戴口罩) 和 Y(戴口罩) 分別表示兩個不同處理(戴 or 不戴口罩)情況下的潛在結(jié)果。

我們可以看出,因果效果的定義依賴于潛在結(jié)果,但是它并不依賴于哪一個潛在結(jié)果實際發(fā)生。無論你今天戴了口罩(觀測到咳嗽 10 分鐘)還是沒戴口罩(觀測到咳嗽 100 分鐘),個體的因果效果都是不變的(戴口罩少咳嗽 90 分鐘)。

可能你會問了:事實上我今天沒戴口罩,我知道我咳嗽了 100 分鐘,但是我怎么知道如果我戴了口罩,只會咳嗽 10 分鐘呢?這確實是個問題,戴或者不戴口罩,你只能選擇一個,觀測到一個結(jié)果。聰明的讀者可能會想到一個解決辦法:你可以今天不戴口罩,明天戴口罩,對比一下,不就知道了嗎?這個辦法在邏輯和推斷上不是那么嚴謹?shù)模驗榻裉旌兔魈?,盡管只隔了一天,但是很多情況會發(fā)生變化,導致今天戴口罩和明天戴口罩觀察到的咳嗽時間是不一樣的。

例如,雖然北京的霧霾每天都很醇,但是今天和明天還是有差別的,可能今天和燕京啤酒一樣醇,明天和茅臺一樣醇,那么你今天戴口罩會咳嗽10次,明天戴還是要咳嗽 100 次。很明顯,有霧霾時段這個另外的因素影響的話,我們就不知道戴口罩的效果是多少了,因為第二天的醇如茅臺的霧霾完全抵消了你戴口罩的效果,讓你誤以為戴口罩沒有用。

我們都知道 A/B 測試是隔絕了其他影響因素條件下對某個因素的效果進行比較,而把今天的結(jié)果和明天的結(jié)果進行直接比較的做法已經(jīng)不是嚴謹?shù)膶φ赵囼灹?。從潛在結(jié)果模型的觀點來看,今天的“你”和明天的“你”已經(jīng)不是同一個統(tǒng)計個體了 (⊙o⊙)(雖然從物理上看,明天的你還是原來的你),而個體級別的因果效果是對同一個統(tǒng)計個體而言的。因此,對比個體在不同時段得到的潛在結(jié)果不再能夠反映個體的因果效果,據(jù)此決策將導致邏輯上錯誤的結(jié)論。

難道就沒有辦法了嗎?是的,時光不能倒流,你不可能在不戴口罩觀測一次之后再回退然后戴口罩重來一次。對于作用在個體上的因果效果而言,我們確實沒有太好的辦法。從因果效果的定義上來看,因為兩個潛在結(jié)果你注定只能觀測到其中一個,所以你不能只靠一個實際觀測結(jié)果就知道比較的效果,這是統(tǒng)計因果推斷要解決的一個基本問題。

不過好消息是在 A/B 測試中我們關(guān)心的是如何“估計”總體中所有個體上的平均因果效果,沒必要準確知道每一個個體的因果效果。因此,和上面類似的辦法在恰當?shù)慕y(tǒng)計模型下也是可行的。

這里我們要注意到因果效果的“定義”和“估計”的區(qū)別。大家都知道統(tǒng)計是一門以概率為基礎的科學,統(tǒng)計推斷得到的結(jié)論不是絕對正確的唯一結(jié)果,而是有一定概率分布的多種可能結(jié)果。我們進行因果推斷的主要任務是要得到有一定概率保證的“估計”,而不是絕對符合“定義”的正確結(jié)果。

因果效果的“估計”和“定義”相比所要進行的潛在結(jié)果的比較是不同的。因果效果的定義不要求多個個體,而對于估計和推斷,我們需要比較實際觀測到的潛在結(jié)果,我們不得不考慮多個個體的情況。因為單個個體我們只能觀測到一個潛在結(jié)果,我們必須觀測多個個體,其中一部分和另外一部分分別接受不同的處理,觀測到不同的潛在結(jié)果。我們前面說的同一個人在不同時段的比較,以及不同人在同一時段的比較,都屬于多個個體的情況。這樣的比較盡管不嚴格符合因果效果的定義,卻是估計因果效果的關(guān)鍵方法。

四、SUTVA 假定

有了多個個體進行觀測就萬事大吉了嗎?統(tǒng)計學家常用的一招還沒使出來呢,那就是把復雜的現(xiàn)實世界簡化為理想數(shù)學模型的強力手段——假定 (Assumption)。

在因果推斷的潛在結(jié)果模型中,我們需要一個非常重要的 SUTVA (stable unit treatment value assumption) 假定,它包括兩個部分:

  1. 任何個體的潛在結(jié)果不受其他個體所接受處理的影響;
  2. 每一個個體所接受的處理水平是唯一的,所導致的潛在結(jié)果也是唯一的。

我們先看看 SUTVA 假定的第一部分,無干擾原則:某個體所接受的處理不會影響到其他個體的潛在結(jié)果。

以上面的例子來說,就是假定你戴口罩與否不會影響你的朋友小強和小明的咳嗽時間。在我們的霧霾小試驗中,這顯然是一個很合理的假定。因為個人的力量是有限的,即便你不戴口罩大力呼吸,為北京的空氣凈化作出了很大個人犧牲,這點微薄貢獻和整個北京的霧霾相比是微不足道的,小強和小明吸入的霧霾不會因此變少,當然咳嗽時間也不會有變化。不過,如果咳嗽能夠傳染,而你和小明在一起的話,這種情況下無干擾原則可能就不能成立了:你不戴口罩使勁咳嗽傳染了帶口罩的小明,小明的咳嗽時間也增加了。

無干擾原則是很重要的,如果個體之間互相干擾,干擾的效果難以確定,那么潛在效果的比較就不準確,不同處理造成的因果效果就很難確定了。在實際應用中,我們通常根據(jù)試驗的內(nèi)容及相關(guān)的知識來判斷這個原則是否成立。在大多數(shù)情況下,這個原則是成立或者說近似成立的。但是在某些特殊試驗情況下,這個原則是否成立就要慎重考慮了。

例如,在社交類產(chǎn)品如微信的 A/B 測試中,假如產(chǎn)品經(jīng)理要測試新版的紅包設計是否會促使用戶發(fā)送更多的紅包,無干擾原則很可能就不成立了。因為即使看到新版紅包的用戶很喜歡這個設計從而發(fā)送了更多的紅包,但是沒看到新版紅包的用戶可能因為收到朋友更多的紅包,出于回贈心理也發(fā)送了更多的紅包,這樣新版的用戶和老版的用戶之間的效果就難以比較了。

SUTVA 假定的第二部分是指所有處理水平都是已知和明確定義的,沒有隱藏的不同之處。以我們的霧霾小試驗為例,處理水平只有兩個:戴口罩和不戴口罩。這里我們認為,戴口罩的作用對個人是相同的,沒有不同牌子的口罩帶來過濾效果不同諸如此類的影響。如果你戴的口罩是 3M 牌子,他戴的口罩是 9M 牌子,是 3M 牌子效果的 3 倍,SUTVA 假定的第二部分就不成立了。

我們必須注意到,SUTVA 假定的第二部分并沒有要求每個個體所受處理的潛在結(jié)果是相同的,它只要求指定個體及處理水平的潛在結(jié)果是明確不變的。

SUTVA 假定是使用潛在結(jié)果模型進行因果推斷的前提,因此,我們在進行試驗前,必須認真考慮試驗的情況,檢查該假定是否成立。如果假定不成立,據(jù)此進行推斷很難得到可信的結(jié)果。

此文中我們介紹了用于 A/B 測試因果推斷的潛在結(jié)果模型,包括潛在結(jié)果的定義,因果效果和 SUTVA 假定等重要的概念,下一篇文章中我們將從統(tǒng)計學上看看這個模型是怎么應用的。

 

作者:祁永輝,微信:yonghuishuo,微信公眾號:AB試驗,熱云數(shù)據(jù)AB測試事業(yè)部增長顧問,專注于AB試驗(A/Btest)相關(guān)知識分享

本文由 @祁永輝 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!