? ? ? ? 我所在的公司是一家酒店OTA行業(yè)的互聯(lián)網(wǎng)公司垮媒,作為一名數(shù)據(jù)算法工程師,每天的工作主要是數(shù)據(jù)清理术浪、特征工程、訓(xùn)練測試模型以及線上模型平臺開發(fā)等相關(guān)工作寿酌;除此之外胰苏,在這樣一個以產(chǎn)品運營為主的公司經(jīng)常會跟運營的數(shù)據(jù)分析師和產(chǎn)品經(jīng)理合作,開發(fā)運營相關(guān)的模型醇疼。模型上線之后效果評估主要依賴的是AB系統(tǒng)的指標(biāo)硕并,然而AB系統(tǒng)的開發(fā)人員有時候并不熟悉統(tǒng)計知識,而且凡是系統(tǒng)都有 bug僵腺,為了客觀公正地評價模型的效果鲤孵,我深入了解了我司的AB系統(tǒng),復(fù)習(xí)了統(tǒng)計知識的同時辰如,也發(fā)現(xiàn)了很多問題普监,下面分幾篇文章來分享一下。
? ? ? ? AB系統(tǒng)的主旨就是灰度發(fā)布新策略(B組)琉兜,通過觀察實驗組(B) 與對照組(A)在數(shù)據(jù)指標(biāo)上的差別來決定新策略是否可以帶來好的效果凯正,值得上線。首先介紹兩個概念:分組豌蟋,分層
分組
? ? ? ? 在分組上一般是ABC 或ABCD四個組廊散, 其中ACD 都是維持線上原策略,B組采用新策略梧疲。留出ACD的目的是為了能夠觀察AA的指標(biāo)允睹,理論上,相同策略的組幌氮,在指標(biāo)上應(yīng)該是不顯著的缭受,如果AA顯著這時往往數(shù)據(jù)積累不足,需要等待AA不顯著才能開始觀察AB指標(biāo)的情況该互。每組的流量應(yīng)盡量均勻米者,這樣AA容易穩(wěn)定。
分層
? ? ? ? 同時在線的實驗往往很多,以針對用戶的實驗為例蔓搞,如果分流系統(tǒng)將 uid 分組的算法如果是固定的胰丁,那么就需要加一個分層,即使每個用戶在不同實驗中要隨機分組喂分,例如user_a, 在實驗1中在A組锦庸, 在實驗2中在ABCD任意一個組的概率是均等的。
為什么要有分層妻顶?
我們可以舉一個例子酸员,假設(shè)實驗1的新策略是使得某個指標(biāo)上升了50%, 實驗2的指標(biāo)是使得某個指標(biāo)降低了50%讳嘱, 如果兩個實驗的分流策略完全相同幔嗦,都是分ABC三個組,比例是34:33:33沥潭。
如果沒有分層:對于落在AC組的人保持了原有策略邀泉,B組則實驗1和實驗2的策略疊加,導(dǎo)致指標(biāo)先升一倍再降一倍或先降后升(理想情況下)钝鸽,最終B組指標(biāo)沒有變化汇恤,那么對于實驗1,實驗2 實驗指標(biāo)都是不顯著變化拔恰。
如果有隨機分層:從實驗1的角度看因谎, 實驗2的策略組將按比例分在實驗1的ABC里,則在計算實驗1的AA或AB時颜懊,這部分影響將抵消(理想情況下)财岔,那么實驗1里ABC主要的差異在實驗2的策略上是無偏的,即不會受實驗2影響河爹。
下一篇介紹統(tǒng)計的一些概念匠璧,如假設(shè)檢驗,第一類錯誤α咸这, 第二類錯誤β夷恍,實驗最小樣本量的計算等。