導讀:將因果推理與機器學習相結合,可以幫助我們解決在大量資料集當中檢測到細微相關性,並判斷其預測準確性的問題。我們將探索因果機器學習在使用者增長中是如何應用的,採用了什麼分析方法。
本文將圍繞下面四點展開:
- 基礎概念介紹
- 因果分析
- 因果機器學習
- 因果歸因
01
基礎概念介紹
1. 使用者增長指標
在使用者增長模型中,最顯著的一個指標便是DAU(日活躍使用者)的增長,在使用者生命週期中主要體現在留存和活躍兩個環節。另一方面是市場營銷的增長,體現在使用者付費、使用者裂變等。
留存、活躍,在推薦系統中是比較簡單的問題,因為它有明確的目標,即提升留存和活躍對應的指標。同時它又是複雜的,因為對於不同使用者的標籤具有延遲性,但在數學上是可解的。除此之外,它需要一定深度,需要透過層層剖析去間接最佳化其模型。
2. 因果分析應用方法
為解決上訴問題,可以從因果的角度出發,利用PSM(傾向評分匹配)統計方法進行因果分析,解決WHY的問題。
在其基礎上,使用因果機器學習或者因果歸因的技術手段去尋找提升指標的關鍵資訊,例如Uplift / Meta-learner、Causal Recommendation和Credit Assignment模型,解決HOW的問題。
02
因果分析
1. 相關性和因果性
在做因果分析之前,我們需要明確兩個事件是存在相關性還是因果性,我們如何判斷以及如何衡量呢?
第一個問題:一個回頭率高的使用者看了短影片,我們是否可以認為這些短影片促進了使用者的留存?顯然不是,這兩者有性質上的偏差。
第二個問題:我們如何量化使用者指標,例如使用者點選、點贊、關注之類的指標,如何判斷與留存指標之間是相關性的還是因果性的?
因此我們需要透過構造和去偏的思維方式去分析兩個事件之間的關係,採用例如PSM的方法,以推進後續的因果分析。
下面我們就以考慮使用者點選對留存的影響為例,介紹如何用因果分析和因果機器學習,解決使用者增長的業務問題。
2. PSM傾向評分匹配統計方法
首先,利用PSM可以幫助我們研究使用者點選和點贊行為對於使用者的留存是否存在因果性。其檢驗方法如下:
- 第一步:透過傾向分數(propensity score),計算其實驗模型,例如LR/XGBT處理模型(LR/XGBT Treatment Model)。
- 第二步:將兩個對比實驗組,透過演算法的匹配,實現去偏。
- 第三步:採用KS-檢驗,計算P-value,核查協變數的平衡。
- 第四步:計算ATE(Average Treatment Effect),檢驗指標對最後結果的影響。
經過PSM之後,我們假設得到結論:點選會讓留存率提升5%,意味著一個使用者進行點選行為後,其留存可以提升5%,反映到相應的指標便是click_dau(點選日活躍人數)。例如click_dau提升了1%,那麼整體留存率應該提升5%×1%=0.05%。
當treatment是連續的,例如點選不再是0→1的二元問題,而是從1變成更多的時候,我們會採取以下思路去解決問題:
- 得到迴歸模型後,去預測使用者的點選數,但是這個方法比較複雜。
- 透過因果分析或其他一些match的方法解決。
在因果分析中,主要採用兩種方法:
- 第一種:PSM,可以等價為帶有權重的聚類。
- 第二種:Matching on Features,特徵匹配,也是一種聚類,但是這個方法需要結合業務去挖掘有價值的特徵和切合業務的指標進行匹配。
03
因果機器學習
接下來介紹因果推薦的因果機器學習模型的一些應用。
1. 機器學習中的因果推理VS因果推理中的機器學習
機器學習中的因果推理和因果推理中的機器學習兩個概念其實是不一樣的,兩者主要區別在於:
- 前者旨在把因果分析當做工具放到機器學習中去,後者旨在把機器學習當工具放到因果分析中去;
- 前者包含去偏演算法和HTE非均勻處理效果模型,後者包含因果分析以及HTE非均勻處理效果模型。
2. 使用者留存中的HTE分析
對於留存而言,HTE以是否採取策略和是否留存為維度劃分為四個區域,其中採用的策略針對不同的業務問題,可以採用單一處理的黑盒策略,也可以採用無限處理的推薦策略。因此HTE是一個四象限問題,分別為:
- 第一象限為+1,採用策略的使用者留存下來;
- 第二、三象限為0,自然使用者,即不採用策略使用者是否留存,其結果都為0;
- 第四象限為-1,採用策略的使用者沒有留存下來。
在自然模型中,採用打標籤的方法,類似於現實生活中的AB test,但是可以對每個實驗組設定一樣的條件,就像“平行世界”一樣,僅有是否treat和是否留存的標籤,便可以直觀的得到treatment對留存的影響。
在PML模型裡,採用例如uplift模型,構造p_score相等的兩個目標形成一組Pair,去尋找事實相反的配對,構建深度學習模型,簡化深度學習網路,剔除一些無效樣本,已形成有效的網路結構。
在這個基礎上,我們有一些衍生的知識點:
- Propensity dropout,即利用PSM去精簡和修正機器學習網路。
- 將深度學習網路或神經網路中的一些網路節點去掉,不會影響最後的結果,甚至能提升其結果。
- 剔除無效網路的目的,是要保留有意義的部分,即使得lift的結果是正的或者是負的。
3. 使用者活躍中的HTE分析
針對使用者活躍,PML可以延伸為二元處理和連續處理的問題,然後基於可觀測資料對HTE模型進行訓練,使得模型更加穩健。
我們以0.5作為分水嶺。指標active_days_sum為0-0.5的使用者其活躍會減少0.1%,為0.5-1的使用者其活躍會增加0.4%;指標duration_sum為0-0.5的使用者其活躍會減少0.4%,為0.5-1的使用者其活躍會增加0.5%。
得到這個結論,意味著當針對活躍天數的策略生效之後,dau的提升應該是0.2×0.4%=0.08%。
4. 數學模型:遊戲幣回收
我們採用一個遊戲幣回收的數學模型來詳細闡述採用Meta-learner和HTE模型來實現採取不同回收策略,以實現回收更多遊戲幣的方法。我們主要有兩組回收策略:
- A組:一次回收100個遊戲幣,總共設定N組。有m個玩家回收成功,總共回收C1=100×m個遊戲幣。
- B組:一次回收60個遊戲幣,總共設定N組。有n個玩家回收成功,總共回收C2=60×n個遊戲幣。
可以採用的模型有Meta-learner、HTE和Online-learning,我們主要闡述前兩種。可以從兩個角度去評估我們的模型,一個是透過實驗資料去評估收益的資料;一個是透過理論推導,精確地評估收益和漲幅。
第一個方法是Meta-learner,是T-learner模型的一個拓展,透過訓練兩個模型,並畫出購買使用者的累計分佈曲線,找到兩個策略最大的gap,在圖中即為h。我們可以透過累計分佈曲線去最佳化,得到第三個策略,是前兩個策略的線性疊加。
累計分佈曲線的計算方法如上圖所示,計算得到兩個策略在gap最大為h時,回收遊戲幣的差距為△=60×n(b-a)。
第二個方法是HTE匹配模型,它實際上是透過以兩個策略為基礎,貼上不同的標籤,構造三組模型去構建模型,進行計算,主要分為以下三組:
- 第一組:Group 100,label=0 VS Group 60,label=0
- 第二組:Group 100,label=0 VS Group 60,label=1
- 第三組:Group 100,label=1 VS Group 60,label=1
這個模型的缺點在於計算過程中會有累積的誤差,效果不是很穩定。但是利用這種方法,可以最大程度的簡化目標,將最最佳化問題變成簡單的三分類問題,得到更加簡化的模型和明確的策略。
04
因果歸因理論
在做策略的時候,例如推薦,我們主要會遇到以下兩個問題:
- 多組(無限)處理,我們無法訓練太多的模型,如何簡化我們的推薦treatment。
- 效果延遲問題,例如做留存策略時,關注使用者點選ctr等即時反饋之外,如何制定更長遠的指標策略。
在這裡我們再用這個框架圖來講解一下因果歸因的思路,它用到了使用者三個狀態T-1,T0和T+1。T0狀態即為使用者受到無限處理的影響的狀態。從T-1到T+1,是利用T-1狀態的一些特徵去預測T+1狀態的留存情況,類似PSM傾向性得分。另一條路從T-1到T0再到T+1,是在經過treatment後,進行回溯。從T+1到T0,計算retain lift,這個lift可以認為是treatment帶來的,然後採用backward或者credit assignment的方式歸因到treatment上。
在因果分析裡最主要的是解決去偏問題,在這個過程中我們解決了幾個bias,在T0增加treatment時,高留存的使用者未來留存也會高,因此會把使用者留存的bias去掉,留下lift的留存。同時形成treatment時,也會只考慮當天使用者的treatment帶來的lift。但是在這個過程中treatment的數量很多,難以算出每個treatment對應的lift,可以採用平均處理計算。但是這個方法存在很大的誤差,進一步可以採用權重,透過使用者like或者follow的行為增加對應treatment的權重,提高歸因的準確性。在有干預的情況下,去尋找干預帶來的影響,可以透過post-pre去偏的方法實現。除此之外,想要對映無限多treatment到對應的lift,有時還需要採用propensity score,帶有傾向得分計算,有助於幫助我們利用數學或matching的方法將bias消除掉。
最後總結一下因果分析,它源於一些傳統科學例如社會科學、生物學等,如今在資料科學領域也有了很深的發展,也在公司廣泛應用。它和機器學習、深度學習、推薦演算法、強化學習和遷移學習是融合在一起的,其本質還是尋找有效的樣本,解決更本質的問題。
05
精彩問答
Q1:因果分析的這套模型主要應用在整個推薦技術的哪個階段?
A1:推薦系統主要經過召回→排序→重排階段,在我個人的實際應用中,是將其應用到推薦的最後重排階段,主要人類強幹預增加的,進行一些結果的修正。常規情況,會將其應用到排序階段,因果推斷不是用於替代現有的資源系統,而是輔助現有系統,利用增加權重的方式進行改進,凸顯出有效樣本同時剔除無效樣本。
Q2:在大量的item的情況下,會不會根據內容或者屬性進行分類,減少歸因的複雜度?
A2:會的,我們最希望解決的是每個item對於留存的貢獻,但是這樣做是很困難的,透過不同品類不同作者等屬性分類,大致計算也可以獲得一些相對粗略的結果,利用每個使用者的policy推薦策略,將其從無限多treatment的問題變成多treatment的問題,使得這類問題可解。
Q3:中活和高活躍度使用者比起新使用者和低活使用者,他們的treatment和使用者行為資料是大量的,我們如何採用特徵選擇或者資料壓縮等方法,將其應用到中活和高活躍度使用者群體上?
A3:中活和高活躍度使用者群體除了資料量上有區別以外,在收斂性質上也有區別。新使用者的資料樣本是具有一定隨機性的,因為推薦系統還沒有表現得特別好,相反高活使用者在推薦資料表現上已經具有很強的傾向性。而因果推斷就是要透過去偏,構造一個平均化的模型。因此根據因果推斷的本質思想,可以將exposure bias或者偏好bias剔除,將其恢復到一個隨機的分佈,再用平均理論,反推其item的lift,理論上就可以實現。
Q4:如果在整個推薦系統中,增加一份1%的隨機流量,會怎樣利用這個隨機流量去構建因果推斷模型呢?
A4:隨機流量本身不能去替代matching或者PSM的分析方法,它的作用是幫助我們更好理解使用者本身的偏好。但擁有這個隨機流量,在模型修復模組可以簡單的歸因到隨機流量上。但是隨機流量和非隨機流量是共同作用在使用者上的,會共同影響使用者的留存,也得考慮隨機和非隨機的差異,透過matching或者反事實的理論實現去偏。
今天的分享就到這裡,謝謝大家。
在文末分享、點贊、在看,給個3連擊唄~
分享嘉賓:
分享嘉賓:李翱博士 快手
編輯整理:陳妃君 深圳大學
出品平臺:DataFunTalk