快手 | 因果推斷與實驗設計

導讀:理解和識別用戶行爲指標的相互關係是實驗分析的目標。在社區氛圍下,影響用戶行爲的因素更爲複雜,關係識別更爲困難,如何使用各種學科的方法,對社區進行宏觀或微觀的建模分析,系統性的評估各種策略的長期生態影響,是所要解決的重要問題。

本文金雅然博士將以快手直播的現實任務爲例進行展開,介紹快手因果推斷與實驗設計的相關工作,主要內容包括:① 快手直播場景中遇到的因果推斷問題及技術框架;② 基於觀測數據或實驗數據的因果推斷技術案例;③ 涉及到網絡效應的複雜實驗設計。

01
快手直播場景中遇到的因果推斷問題及技術框架

在快手我們主要會遇到這四類問題:用戶激勵設計、推薦策略評估、產品功能迭代以及預估產品和方向的長期價值。

遇到這些問題我們通常有幾種方式來解決:

  • 基於觀測數據的因果推斷,即從已有實驗和非實驗數據中提煉因果關係;

  • 在產品設計上構建正確的AB實驗,合理計算指標,度量產品功能和迭代的影響;

  • 通過經濟模型、機器學習算法和數據、實驗的結合構造反事實推理來回答長期效應問題。

解決這些問題的核心是使用因果推斷方法。

因果推斷的核心是在數據中存在關聯關係的前提下,考慮數據之間的因果關係。任務是在給定的假設中,選擇模型框架,將因果關係從關聯中分割,對因果分析的大小作出正確的估計,並且通過統計推斷的方法,驗證推斷的正確度,並回答推斷結果存在多大波動。

在因果推斷中,我們通常應用以下兩種框架:

Rubin虛擬事實模型(Potential Outcome)的核心是尋找合適的對照組。通常情況下,我們想要度量用戶是否被實驗影響到的兩者差異是多少,而對於同一個用戶,我們只能觀測到被影響/不被影響一個狀態,因此需要尋找合適的對照組,估計無法被觀測到的影響。我們通常會構造一些識別實驗,比如,經濟學上通過RCT實驗,互聯網常使用AB實驗,或者根據觀測數據使用恰當的方法來尋找對照組。

Pearl因果圖模型(Causal Graph Model)使用有向圖描述變量之間的因果關係。通過計算因果圖中的條件分佈,獲得變量之間的因果關係。有向圖指導我們使用這些條件分佈來消除估計偏差,其核心也是估計檢驗分佈、消除其他變量帶來的偏差。

Pearl框架和Rubin框架有一些關聯,簡單圖中,Potential Outcome模型中通過工具變量和匹配法消除估計偏差和Pearl的框架思想是一致的。

但是Pearl的框架可以處理多個變量之間相互作用的複雜關係。

總結來說,Potential Outcome和Causal Graph是兩種互補的推測虛擬事實的方法,目的都是爲了計算存在混淆變量時,干預變量時對結果的影響,都需要對因果關係作假設,以及控制帶來偏差的變量;不同點在於Rubin框架估計的因果效應主要是干預前後的期望差值,而Pearl框架下,我們估計的是干預前後的分佈差異,Rubin框架解決的問題是因果效應的估計和統計推斷,Pearl框架更偏向於因果關係的識別。

從這兩種框架延伸,在不同情景下,快手會使用不同工具解決實際問題,AB實驗幫助我們觀測策略或產品變動影響,在一些不能做實驗或者多個實驗相結合的場景下,會有一些其他的方法,下面會對具體方法展開介紹。

02
基於觀測數據或實驗數據的因果推斷技術案例

1. 產品功能的評估:DID及其拓展案例

雙重差分適用於存在不可觀測的個體固定效應場景,通過差分消除固定效應,其關鍵假設是,政策干擾前存在平行趨勢,且實驗干擾效應不隨時間變化。雙重差分可以用來消除那些對後期可能存在干擾因素,得到實驗效果估計。


雙重差分假設用戶開始受影響的時間是一樣的,實驗處理效應對用戶的影響是一樣的,而這些假設難以滿足。比如穿雲箭紅包,當實驗效果上線後,用戶的行爲會發生變化,且不同用戶的行爲是不一致的,當不同表現用戶都在實驗組,傳統的DID模型估計實驗效應會產生偏差。因此我們在DID方法上進行修正,按照用戶的狀態是否更改分爲不同類型,對不同類型用戶分別做DID估計,再進行加權平均,得到修正後DID實驗效果值。

當treatment施加到一個羣體或者地區上時,很難找到單一的對照組,這種時候採用合成控制方法構造虛擬對照組進行比較,原理是構造一個虛擬的對照組,通過treatment前的數據上學習的權重,擬合實驗組在實驗開始前的數據,模擬實驗組用戶在沒有接受實驗情況下的結果,構造合成控制組,實驗開始後,評估實驗組和合成控制組之間的差異。

2. 推薦策略的評估:因果推斷與機器學習

因果分析與機器學習存在一些差異點。因果分析的語言,核心在於因果關係的識別,即合理的估計處理前和處理後現有條件期望的差異,也可以是一種處理缺失數據的問題,在因果推斷上我們非常關心的是如何準確的估計結果以及結果的方差。而在機器學習中,我們使用準確度來衡量機器學習模型的好壞,其目標是在訓練集上估計一個條件期望,使得測試集上MSE最小。機器學習可以通過cross-validation(模型參數)的方法去數據驅動的選擇一個最佳模型形式,與傳統計量經濟學方法相比不需要複雜的假設,例如function form的假設,從這種意義上機器學習能夠更準確的預測。

但是在因果推斷問題上,機器學習的侷限性在於,無論用什麼機器學習方法,因果識別的條件都不能被放鬆;同時在機器學習模型通常使用的正則化和過擬合處理,會帶來有偏估計,因此我們需要消除這種估計的偏差;在統計推斷上,機器學習的侷限性在於,有些模型不能直接計算方差,並且有時即使可以計算,方差的收斂速度也未必能夠達到預期,所以針對這些問題,下面介紹了幾種方法。

① 雙重機器學習模型

很多時候因果推斷會遇到混淆變量的問題,比如想要去分析直播推薦多樣性對用戶活躍度的影響,但是這些都和用戶歷史相關。傳統計量經濟學方法可以解決這個問題,但是依賴很多強假設,強假設下,得到的估計不一定合理,雙重機器學習爲這個問題提供瞭解決的思路。

雙重機器學習假設所有混淆變量都可以被觀測,其正則化過程能夠達到高維變量選擇的目的,與Frisch-Waugh-Lovell定理相似,模型通過正交化解決正則化帶來的偏差。

除了上面所描述的,還有一些問題待解決,比如在ML模型下存在偏差和估計有效性的問題,這個時候可以通過Sample Splitting 和 Cross Fitting的方式來解決,具體做法是我們把數據分成一個訓練集和估計集,在訓練集上我們分別使用機器學習來擬合影響,在估計集上我們根據擬合得到的函數來做殘差的估計,通過這種方法,可以對偏差進行修正。在偏差修正的基礎上,我們可以對整個估計方法去構造一個moment condition,得到置信區間的推斷,從而得到一個有良好統計的估計。

② 因果隨機森林模型

我們通常探究策略對於不同用戶異質性的影響,即哪些用戶更容易被影響以及影響有多大,傳統做法是多維分析,但是效率低,容易犯錯。這時可以結合機器學習的方法,這裏選擇了決策樹方法,因爲決策樹的分桶特性能夠幫助解決異質性問題,相對於傳統方法因果樹做了兩點改動:

  • 把數據分成訓練集和估計集,一部分訓練集去構造樹,另一部分估計集去估計因果效應和方差;

  • 在樹的分區方式上,使用各個節點的方差對目標函數加以修正。

通常情況下,我們結合實驗來做分析。比如在實驗中,通過因果樹得到因果效應的分佈,然後挑選出來那些實驗效果顯著的用戶,去分析他們的特徵,以及找到敏感用戶,幫助我們瞭解策略的影響,作出下一步迭代。

③ Meta-Learner for Uplift Modeling

Uplift-modeling是另一種定位敏感人羣的方法,和因果樹的步驟有差別。核心是利用實驗數據對實驗結果變量建模,利用得到的模型估計條件平均處理效果。Uplift-modeling具有不同的學習方式,主要有S-Learner 、T-Learner和X-learner。和因果樹相比,Meta-Learner是一種間接建模方式,實現快但一些場景下誤差較大。

3. 用戶行爲鏈路的研究:因果圖

我們通常通過因果圖來進行用戶行爲鏈路的研究。Rubin流派常用來估計變量之間的一度關係,但當我們面對一些未知問題時,我們想了解的是有哪些變量真正影響我們關心的結果變量,以及變量之間的相互影響和用戶行爲鏈路是什麼,有效過程指標是什麼,這些時候我們用到因果圖的方法。

在生成因果圖中,常遇到的限制是算法層面的,比如我們在優化目標函數的時候,需要遍歷所有的因果圖,是一個NP-hard問題,我們需要有效的算法得到想要的估計,市面上的算法大概分爲兩類:

  • Constraint-based Algorithms

  • Score-based Algorithms

03
複雜實驗設計

在實驗設計上我們通常遇到的難點是網絡效應的檢測和應對,在直播下,網絡效應有好多種表現方式,在這種網絡效應存在的情況下嘗試了一些方式,比如說:雙邊實驗、時間片輪轉實驗、合成控制方法。

1. 雙邊實驗設計

在雙邊實驗中,同時進行了主播側和觀衆側的分流,主播側一部分是上了掛件,觀衆側一部分能看到一部分看不到,雙邊實驗的優點是可以同時檢測兩端的效果,同時可以幫助檢測到組間的轉移和溢出。在瞭解到組間溢出和干擾下,通過雙邊實驗我們可以更加準確的測算處理效應,在掛件場景下,我們認爲N3是代表完全沒有處理過的效果,Y代表處理後的結果,N3和Y進行差分,計算產品功能推全後的影響,而且,雙邊實驗能夠更好的幫助我們歸因。

然而雙邊實驗只能描述簡單的組間溢出,在個體和個體之間存在干擾的複雜情況下,雙邊實驗是無法幫助我們判斷實驗效果,例如直播PK暴擊時刻這種情況下,我們通過時間片輪轉實驗解決,即在一定實驗對象上進行實驗組策略和對照組策略的反覆切換。

2. 時間片輪轉實驗

時間片輪轉的核心在於:

  • 時間片的選擇

  • 實驗總週期選擇

  • 隨機切換時間點是什麼樣子的

當時間粒度約粗糙,時間上的干擾造成的偏差會越小,但是方差會越大,影響實驗的檢驗效果,針對這個問題,採取的方案是最優設計。

最優設計的核心假設是:

  • Outcome有一個絕對上界

  • 用戶無法知曉下一個時間是否是實驗組

  • 如果時間片之間存在干擾,干擾的影響是固定且有限的

當我們不知道一個時間片實驗時間節點如何設計時,通常採取的步驟是,預估一個時間,通過實驗確定carry over的階數下限是多少,根據階數下限,找到最優切換時間點,再進行一次實驗,通過實驗組和對照組的選擇來進行因果效應的估計。其缺點在於,實驗週期長,沒有辦法觀測到HTE (heterogeneous treatment estimation)。

04
問答環節

Q:DID和ABtest有什麼區別?什麼時候用DID不用ABtest?

A:兩種不同維度的方法,ABtest是說,在實驗對象上做出一些隨機的對照,然後進行比較,即便是這種AB實驗,我們遇到AB效果比較大的時候,也可以用DID來進行,DID不一定基於實驗來進行,可以比如根據不同用戶羣來比較。

Q:雙重機器學習和PSM的結果有什麼區別?

A:兩種不同維度的方法,PSM的核心假設是,我們先去估計了propensity Score ,基於propensity Score我們認爲propensity Score相似的情況下treat與control組可以計算因果效應,雙重機器學習是說,我們針對於混淆變量對於treatment的影響和混淆變量對於outcome的影響的function form是未知的,涉及到高維變量選擇的問題,同時需要兩步的估計,來得到我們想要估計的因果變量,是主要的差異。

Q:CIA假設往往不能滿足,應該如何降低影響?

A:現在很多的包括雙重機器學習等方法都有很多的擴展,比如當有些合適的工具變量會有些合適的拓展的工具方法,另外可以通過一些matching的方法去構造些滿足條件的樣本,但是這個東西也不是完全精確,很多時候需要靠人爲的邏輯判斷。

Q:因果圖的結構是預設的還是模型結構輸出的?

A:主要是模型輸出的,但是在算法中我們可以限定哪些變量是父節點,哪些是子節點,如果最後結果與假設相悖,會發現假設的父節點下是沒有任何子節點的。

Q:如何評價因果圖判斷的準確性?

A:過模擬數據看準確性;通過實驗數據,在有限的檢驗方式下,我們發現其結論是比較Robust,當然理論上可能還需要些證明。

今天的分享就到這裏,謝謝大家。


點擊這裏,閱讀更多數據文章!

本文分享自微信公衆號 - 凹凸數據(alltodata)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章