自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

「原理」AB測試-詳細(xì)過程和原理解讀

開發(fā) 前端
AB測試最核心的原理,就四個(gè)字:假設(shè)檢驗(yàn)。檢驗(yàn)我們提出的假設(shè)是否正確。對應(yīng)到AB測試中,就是檢驗(yàn)實(shí)驗(yàn)組&對照組,指標(biāo)是否有顯著差異。

[[392732]]

本文轉(zhuǎn)載自微信公眾號「巡山貓說數(shù)據(jù)」,作者巡山貓 。轉(zhuǎn)載本文請聯(lián)系巡山貓說數(shù)據(jù)公眾號。   

AB測試原理簡介

AB測試最核心的原理,就四個(gè)字:假設(shè)檢驗(yàn)。檢驗(yàn)我們提出的假設(shè)是否正確。對應(yīng)到AB測試中,就是檢驗(yàn)實(shí)驗(yàn)組&對照組,指標(biāo)是否有顯著差異。

既然是假設(shè)檢驗(yàn),那么就是先假設(shè),再收集數(shù)據(jù),最后根據(jù)收集的數(shù)據(jù)來做檢驗(yàn)。

先來說說假設(shè)。

假設(shè)一般成對出現(xiàn),分為零假設(shè) 和 備選假設(shè)。

在AB測試中,零假設(shè)是:實(shí)驗(yàn)組&對照組 指標(biāo)相同,無顯著差異;備選假設(shè)則相反,實(shí)驗(yàn)組&對照組 指標(biāo)不同,有顯著差異。

舉個(gè)例子。我們優(yōu)化了某算法,想提高頁面的點(diǎn)擊率。針對這個(gè)場景的AB測試,零假設(shè)就是 新算法&老算法的頁面點(diǎn)擊率無明顯差異,備選假設(shè)是 新算法&老算法的頁面點(diǎn)擊率有顯著差異。

再來說說檢驗(yàn)。

一般來說,我們是通過具體的指標(biāo)屬性來找尋相應(yīng)的檢驗(yàn)方法。那么問題來了,指標(biāo)如何分類呢?

指標(biāo)可以分為兩種類別:

1、絕對值類指標(biāo)。也就是我們平常直接計(jì)算就能得到的,比如DAU,點(diǎn)擊次數(shù)等。我們的一般都是統(tǒng)計(jì)該指標(biāo)在一段時(shí)間內(nèi)的均值或者匯總值,不存在兩個(gè)值之間還要相互計(jì)算。

2、相對值類指標(biāo)。與絕對值類指標(biāo)相反,我們不能直接計(jì)算得到。比如某頁面的CTR,我們是用 頁面點(diǎn)擊數(shù) / 頁面展現(xiàn)數(shù)。我們要計(jì)算點(diǎn)擊數(shù)和展現(xiàn)數(shù),兩者相除才能得到該指標(biāo)。類似的,還有XX轉(zhuǎn)化率,XX點(diǎn)擊率,XX購買率一類的。我們做的AB實(shí)驗(yàn),大部分情況下都想提高這類指標(biāo)。

根據(jù)指標(biāo)我們可以知道,該如何計(jì)算最小樣本量,以及實(shí)驗(yàn)周期,以及對應(yīng)的檢驗(yàn)方法。

AB測試詳細(xì)流程

我們先看一個(gè)圖,結(jié)合這個(gè)實(shí)驗(yàn)的流程圖,我們一點(diǎn)點(diǎn)來說:

選取指標(biāo)

在做AB測試之前,我們一定要清楚,我們實(shí)驗(yàn)的目標(biāo)是什么。并落地到具體的幾個(gè)指標(biāo)上,這幾個(gè)指標(biāo)對于我們度量實(shí)驗(yàn)結(jié)果,有非常明顯的幫助。但是,指標(biāo)也要分層級,唯一一個(gè)核心指標(biāo)+多個(gè)觀察指標(biāo)。

核心指標(biāo)用來度量我們這次實(shí)驗(yàn)的效果,以及計(jì)算相應(yīng)的樣本量。觀察指標(biāo)則用來度量,該實(shí)驗(yàn)對其他數(shù)據(jù)的影響(比如對大盤留存的影響,對網(wǎng)絡(luò)延遲的影響等等)。

建立假設(shè)

建立假設(shè)就如同上文所說,我們建立了零假設(shè)和備選假設(shè),零假設(shè)一般是沒有效果,備選假設(shè)是有效果。

選取實(shí)驗(yàn)單位

大家應(yīng)該都使用用戶粒度來作為實(shí)驗(yàn)單位,但是總體說來,實(shí)驗(yàn)單位一般有3種。我們不用掌握,但是很多情況下面試官會(huì)問到,大家可以作為了解。

1、用戶粒度:這個(gè)是最推薦的,即以一個(gè)用戶的唯一標(biāo)識來作為實(shí)驗(yàn)樣本。好處是符合AB測試的分桶單位唯一性,不會(huì)造成一個(gè)實(shí)驗(yàn)單位處于兩個(gè)分桶,造成的數(shù)據(jù)不置信。

2、設(shè)備粒度:以一個(gè)設(shè)備標(biāo)識為實(shí)驗(yàn)單位。相比用戶粒度,如果一個(gè)用戶有兩個(gè)手機(jī),那么也可能出現(xiàn)一個(gè)用戶在兩個(gè)分桶中的情況,所以也會(huì)造成數(shù)據(jù)不置信的情況。

3、行為粒度:以一次行為為實(shí)驗(yàn)單位,也就是用戶某一次使用該功能,是實(shí)驗(yàn)桶,下一次使用可能就被切換為基線桶。會(huì)造成大量的用戶處于不同的分桶。強(qiáng)烈不推薦這種方式。

計(jì)算樣本量

樣本量計(jì)算,我們需要了解一下中心極限定理。具體書面定義和推導(dǎo)過程,大家可以在網(wǎng)上百度一下就好,我們這里就通俗的解釋一下。中心極限定理的含義,就是只要樣本量足夠大,無論是什么指標(biāo),無論對應(yīng)的指標(biāo)分布是怎樣的,樣本的均值分布都會(huì)趨于正態(tài)分布。

基于正態(tài)分布,我們才能計(jì)算出相應(yīng)的樣本量和做假設(shè)檢驗(yàn)。具體的樣本量計(jì)算推導(dǎo)過程,大家如有需要,可以關(guān)注后加我微信私聊,這里就放結(jié)論。

整體公式如下:

由于指標(biāo)可以分為將絕對值指標(biāo)和相對值指標(biāo)。對應(yīng)的,我們在計(jì)算絕對值指標(biāo)和相對值指標(biāo)時(shí),標(biāo)準(zhǔn)差的計(jì)算方式也會(huì)不同。具體如下:

我們舉兩個(gè)例子說明一下,讓大家更有體感。

案例1-相對值指標(biāo):

某產(chǎn)品點(diǎn)擊率1.5%,波動(dòng)范圍[1.0%,2.0%],優(yōu)化了該功能后,需要AB測試計(jì)算樣本量

P:1.5%,p:2.0%(由于波動(dòng)范圍是[1.0%,2.0%],所以至少是2.0%

總樣本量 = 16 * (1.5%*(1-1.5%)+2.0%*(1-2.0%))/ (2.0%-1.5%)^2=22000

案例2-絕對值指標(biāo):

某產(chǎn)品購買金額標(biāo)準(zhǔn)差是25,優(yōu)化了該功能后,預(yù)估至少有5元的絕對提升,需要AB測試計(jì)算樣本量

σ=25,Δ=5

總樣本量 = 16 * 25*25*2/5*5=800

最小樣本量,是指我們的實(shí)驗(yàn)單位,必須滿足這個(gè)數(shù)量,實(shí)驗(yàn)結(jié)果中的數(shù)據(jù)檢驗(yàn)才可信。也就是說,我們的實(shí)驗(yàn)桶必須達(dá)到這個(gè)流量,才能收集數(shù)據(jù)及檢驗(yàn)指標(biāo)。

流量分割

流量切割有兩種方式:分流和分層。

分流是指我們直接將整體用戶切割為幾塊,用戶只能在一個(gè)實(shí)驗(yàn)中。但是這種情況很不現(xiàn)實(shí),因?yàn)槿绻乙瑫r(shí)上線多個(gè)實(shí)驗(yàn),流量不夠切怎么辦?那為了達(dá)到最小樣本量,我們就得延長實(shí)驗(yàn)周期,要是做一個(gè)實(shí)驗(yàn),要幾個(gè)月,相信我,你老板一定會(huì)和你聊聊人生理想的。

另一種方式,分層。就是將同一批用戶,不停的隨機(jī)后,處于不同的桶。也就是說,一個(gè)用戶會(huì)處于多個(gè)實(shí)驗(yàn)中,只要實(shí)驗(yàn)之間不相互影響,我們就能夠無限次的切割用戶。這樣在保證了每個(gè)實(shí)驗(yàn)都能用全流量切割的同時(shí),也保證了實(shí)驗(yàn)數(shù)據(jù)是置信的。

兩種方式用圖來表達(dá)如下:

實(shí)驗(yàn)周期計(jì)算

相應(yīng)的,最小樣本量有了,我們切分了流量,知道了實(shí)驗(yàn)桶一天大概能有多少樣本量(也可以算小時(shí),如果產(chǎn)品的流量足夠大)。我們直接用 最小樣本量 / 實(shí)驗(yàn)桶天均流量 即可以得到相應(yīng)的實(shí)驗(yàn)周期。

線上驗(yàn)證

很多公司不會(huì)做線上驗(yàn)證。當(dāng)然,不驗(yàn)證也沒關(guān)系,就是有可能會(huì)踩坑,所以還是建議大家在實(shí)驗(yàn)上線后進(jìn)行線上驗(yàn)證。

線上驗(yàn)證主要是2個(gè)方向,一個(gè)是驗(yàn)證實(shí)驗(yàn)策略是否真的觸發(fā)。即我們上線的實(shí)驗(yàn)桶,是否在產(chǎn)品上實(shí)際落地了。比如你優(yōu)化了一個(gè)產(chǎn)品功能,你可以去實(shí)際體驗(yàn)下,實(shí)驗(yàn)桶產(chǎn)品是否真的有優(yōu)化。

另一個(gè)是驗(yàn)證同一個(gè)用戶只能在同一個(gè)桶中,要是同時(shí)出現(xiàn)在兩個(gè)桶中,后期數(shù)據(jù)也會(huì)不置信。這個(gè)上文有說過。

數(shù)據(jù)檢驗(yàn)

數(shù)據(jù)檢驗(yàn),大家可能都聽過。比如Z檢驗(yàn),T檢驗(yàn),單尾檢驗(yàn),雙尾檢驗(yàn),算P值,算置信區(qū)間等等。我們這里先說說哪種情況用Z檢驗(yàn),哪種情況用T檢驗(yàn)。因?yàn)檫@個(gè)問題經(jīng)常會(huì)碰到,也是AB測試中,面試官的必問問題。

大家應(yīng)該都看過這個(gè)圖:

按照上文我們說的指標(biāo)分類,一般情況下,絕對值指標(biāo)用T檢驗(yàn),相對值指標(biāo)用Z檢驗(yàn)。因?yàn)榻^對指標(biāo)的的總體方差,需要知道每一個(gè)用戶的值,這個(gè)在AB實(shí)驗(yàn)中肯定不可能。而相對值指標(biāo)是二項(xiàng)分布,可以通過樣本量的值計(jì)算出總體的值,就如同10W人的某頁面點(diǎn)擊率是10%,隨機(jī)從這10W人中抽樣1W人,這個(gè)點(diǎn)擊率也是10%一樣。

再來說說具體的檢驗(yàn)。一般情況下我們可以用兩種常用方法:

1、算P值,也就是算當(dāng)零假設(shè)成立時(shí),觀測到樣本數(shù)據(jù)出現(xiàn)的概率。統(tǒng)計(jì)學(xué)上,將5%作為一個(gè)小概率事件,所以一般用5%來對比計(jì)算出來的P值。當(dāng)P值小于5%時(shí),拒絕零假設(shè),即兩組指標(biāo)不同;反過來,當(dāng)P值大于5%時(shí),接受零假設(shè),兩組指標(biāo)相同。

2、算置信區(qū)間。一般情況下,我們都會(huì)用95%來作為置信水平。也就是說,當(dāng)前數(shù)據(jù)的估計(jì),有95%的區(qū)間包含了總體參數(shù)的真值。這么說可能比較繞,我們可以簡單理解成 總體數(shù)據(jù)有95%的可能性在這個(gè)范圍內(nèi)。

我們計(jì)算兩組指標(biāo)的差異值,如果我們算出的差異值置信區(qū)間不含0,我們就拒絕零假設(shè),認(rèn)為兩組指標(biāo)不同;但是如果包含0,我們則要接受零假設(shè),認(rèn)為兩組指標(biāo)相同。

當(dāng)然,我們也可以直接算出Z值或者T值,查表對比。但是這種不是很常用,還是以P值及置信區(qū)間為主流。

還有些公司,會(huì)將所有指標(biāo)計(jì)算到為不同流量區(qū)間內(nèi)的自然波動(dòng)。比如我有三個(gè)指標(biāo),日活100W,那么可以拆分成多個(gè)流量區(qū)間,比如 1w、2w、5w、10w、20w、50w,100w這幾個(gè)流量比例,然后依次計(jì)算這3個(gè)指標(biāo),在這些流量下的自然波動(dòng)閾值,如果高于閾值,我們就認(rèn)為實(shí)驗(yàn)有效。這種就會(huì)方便很多,但是不夠嚴(yán)謹(jǐn)。

最后來說說單尾檢驗(yàn),雙尾檢驗(yàn)。單尾檢驗(yàn)的前提是我們不僅認(rèn)為兩組指標(biāo)不同,還明確了大小,一般情況下,我們都認(rèn)為實(shí)驗(yàn)組的效果高于基線組。而雙尾檢驗(yàn)只是認(rèn)為兩組指標(biāo)不同,未明確大小。通常來說,我們更推薦使用雙尾檢驗(yàn),為什么呢?

因?yàn)閷?shí)驗(yàn)本身就是一種利用數(shù)據(jù)來做決策的方法,我們不要再人為的帶入主觀設(shè)想。而是用雙尾檢驗(yàn),我們不僅能量化漲了多少,還能量化掉了多少,因?yàn)閷?shí)驗(yàn)結(jié)果有正有負(fù),不一定都是有效果的(正向的),還可能有負(fù)向的效果,我們也可以將有負(fù)向效果的實(shí)驗(yàn)記錄下來,沉淀成知識庫,為后期實(shí)驗(yàn)避坑。

當(dāng)然,生活中有些事件是可以用單尾檢驗(yàn)的。比如我們優(yōu)化了制造燈泡的流程,提升了燈泡的質(zhì)量,那對于燈泡的質(zhì)量檢驗(yàn)我們就采用單尾檢驗(yàn)就好,因?yàn)槲覀冎魂P(guān)心燈泡質(zhì)量是否和預(yù)期一樣,有所提升。

知識點(diǎn)總結(jié)

以上,我們就講完了整體的AB測試的流程,以及流程中的各個(gè)需要用到的知識點(diǎn)。

我們來總結(jié)下知識點(diǎn):

1、實(shí)驗(yàn)流程是 選取指標(biāo) -- 建立假設(shè) -- 選取實(shí)驗(yàn)單位 -- 計(jì)算樣本量 -- 流量分割 -- 實(shí)驗(yàn)周期計(jì)算 -- 線上驗(yàn)證 -- 數(shù)據(jù)檢驗(yàn)。

2、假設(shè)分為零假設(shè)和備選假設(shè),零假設(shè)一般都是實(shí)驗(yàn)無效(指標(biāo)無差異),備選假設(shè)是實(shí)驗(yàn)有效(指標(biāo)有差異)。

3、指標(biāo)可以分為 絕對值指標(biāo) 和相對值指標(biāo),相應(yīng)的,絕對值指標(biāo)推薦用T檢驗(yàn),相對值指標(biāo)推薦用Z檢驗(yàn)。

 

4、檢驗(yàn)數(shù)據(jù)是否有效,可以算P值,高于5%就接受原假設(shè),兩組指標(biāo)相同;也可以算置信區(qū)間的差異值,如果差異值包含0,則接受原假設(shè),兩組指標(biāo)相同。

 

責(zé)任編輯:武曉燕 來源: 巡山貓說數(shù)據(jù)
相關(guān)推薦

2023-11-16 09:01:37

Hadoop數(shù)據(jù)庫

2024-06-27 08:26:10

LooperAndroid內(nèi)存

2021-07-23 13:34:50

MySQL存儲(chǔ)InnoDB

2017-05-04 16:35:45

2020-06-15 07:00:00

GitOpsKubernetesDevOps

2017-04-11 08:36:09

iOS編譯應(yīng)用

2023-02-28 09:07:18

ChatGPTAI

2024-08-14 18:18:47

2011-12-14 10:31:43

2019-08-20 14:01:22

HTTPSSSL協(xié)議

2021-07-05 07:51:43

JVM底層Python

2019-12-06 10:59:20

JavaScript運(yùn)行引擎

2021-07-12 09:45:36

NameServer 核心Conusmer

2021-01-12 14:46:34

Kubernetes開發(fā)存儲(chǔ)

2019-12-31 20:55:13

Socket通信TCP

2020-05-07 18:39:15

數(shù)據(jù)庫閉源開源

2011-08-18 09:46:40

活動(dòng)目錄驗(yàn)證原理

2023-01-10 16:08:04

人工智能擴(kuò)散模型

2009-11-11 14:18:00

動(dòng)態(tài)路由協(xié)議

2021-07-14 14:05:24

Fragment項(xiàng)目結(jié)構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號