Peeking at A/B test——Optimizely解決方案簡介

Optimizely通過mSPRT理論的擴(kuò)展,提供了時(shí)時(shí)有效的P值與置信區(qū)間,解決了ab實(shí)驗(yàn)中的偷看問題。

1. 定義

單樣本
\theta_{0}已知,X = (X_{iid,n})_{n=1}^{\infty} \sim F_{\theta }。
H_{0}: \theta = \theta_{0}
H_{1}: \theta \neq \theta_{0}

雙樣本
X、Y獨(dú)立同分布。
H_{0}: \theta = \mu ^{B} - \mu ^{A} = 0
H_{1}: \theta \neq 0

判決條件
(T, \delta ),T為結(jié)束時(shí)間(樣本量),允許為\infty\delta=1代表拒絕原假設(shè)。

2. 始終有效推斷

為了解決偷看,需要始終有效。

2.1 始終有效的P

任意時(shí)間T,滿足:
\forall s\ \epsilon\ [0,1],\ \mathbb{P}_{\theta _{0}}(p_T \leq s) \leq s

2.2 始終有效的貫序檢測

依靠樣本數(shù)據(jù)決策樣本量。

判決條件
(T(\alpha), \delta(\alpha) )

  • \mathbb{P}_{\theta _{0}}( \delta(\alpha) = 1) \leq \alpha
  • T(\alpha),\delta(\alpha)不會(huì)影響\alpha水平

2.3 置信區(qū)間

對(duì)\theta = \widetilde{\theta}來說,如果p_{n}^{\widetilde{\theta}}始終有效,I_{n} = \{\theta: p_{n}^{\theta} > \alpha \}就是始終有效的1-\alpha水平置信區(qū)間。

3. 構(gòu)造始終有效的P

Optimizely通過混合貫序檢驗(yàn)(mSPRT)構(gòu)造始終有效的P值。

3.1 混合貫序檢驗(yàn)(mSPRT)

H為\Theta上的混合分布,概率密度函數(shù)為h。計(jì)算H的似然比除以\theta_{0}的似然比:
\Lambda _{n}^{H,\theta _{0}} = \int _{\Theta }\prod_{m=1}^{n}\frac{f_{\theta}(X_{m})}{f_{\theta_{0}}(X_{m})}h(\theta)d\theta

mSPRT判斷流程:
選擇\alpha,則拒絕原假設(shè)條件為\Lambda_{T}^{H,\theta_{0}} \ge \alpha^{-1},此時(shí)T = T^{\alpha}
詳細(xì)原理參照文末。

3.2 mSPRT的P值與置信區(qū)間

p_0 = 1;p_n=min\{p_{n-1},1/\Lambda _{n}^{H,\theta _0 } \}
I_0 = \Theta; I_n = I_{n-1} \cap \{ \tilde { \theta } : \Lambda_n ^ {H, \tilde{\theta}} \ge \alpha^{-1} \}

如果數(shù)據(jù)自正態(tài)分布N(\theta, \sigma^2),且混合分布H = N(\theta_0, \tau^2),則

\Lambda _{n}^{H,\theta _{0}} = \frac{\sigma}{\sqrt{\sigma^2 + n\tau^2 }} exp\{\frac{n^2\tau^2(\bar{X}_{n} - \theta_0)^2}{2\sigma^2(\sigma^2 + n\tau^2)}\}

3.3 mSPRT擴(kuò)展到A/B

定義Z_n = Y_n - X_n \sim N(\theta, 2\sigma^2),并對(duì)其做mSPRT檢測,則:

\Lambda _{n}^{H,\theta _{0}} = \sqrt {\frac {2\sigma^2} {2\sigma^2 + n \tau^2 } } exp \{ \frac{n^2\tau^2(\bar{Y}_n - \bar{X}_{n} - \theta_0)^2}{4\sigma^2(2\sigma^2 + n\tau^2)} \}

對(duì)于0/1型數(shù)據(jù),\bar{Y}_n - \bar{X}_n近似于正態(tài)分布N(\theta, V_n/n),V_n = \bar{X}_n(1-\bar{X}_n) + \bar{Y}_n(1- \bar{Y}_n),則:

\Lambda _{n}^{H,\theta _{0}} = \sqrt{\frac{V_n}{V_n + n\tau^2 }} exp\{\frac{n^2\tau^2(\bar{Y}_n - \bar{X}_{n} - \theta_0)^2}{2V_{n}(V_n + n\tau^2)}\}

3.4 實(shí)現(xiàn)細(xì)節(jié)

對(duì)于一些連續(xù)性指標(biāo),比如“付費(fèi)”(嚴(yán)重右斜)使用正態(tài)分布是不合適的,需要其它更適應(yīng)這種偏斜的分布。
由于為了保證單調(diào)性,可能導(dǎo)致后期\bar{Y}_n - \bar{X}_n跑出置信區(qū)間,此時(shí)Optimizely會(huì)重置顯著性。這樣的做法只會(huì)讓p值更大、置信區(qū)間更寬,不會(huì)增加假陽性錯(cuò)誤,但是可能增大假陰性錯(cuò)誤。

4.回歸測試

假陽性錯(cuò)誤已知被控制了,但是假陰性怎么樣?Optimizely進(jìn)行了一些優(yōu)化和測試。

4.1 優(yōu)化

實(shí)驗(yàn)者不會(huì)永遠(yuǎn)等待,因此有最大等待樣本量M。
經(jīng)過Optimizely驗(yàn)證,帶M截?cái)嗟膍SPRT比一般的假設(shè)檢驗(yàn)平均花費(fèi)更少的樣本量。

4.2 混合分布的選擇

之前選擇了混合分布為H = N(\theta_0, \tau^2)。對(duì)于混合分布如何選擇,沒有現(xiàn)存的理論指導(dǎo)。
Optimizely選擇的先驗(yàn)為G = N(0, \tau_0^2),并且通過數(shù)據(jù)仿真得到\tau_0^2。

5.多重比較問題

Optimizely通過Benjamini-Hochberg方法對(duì)多重比較進(jìn)行校正。


附: Statistical Methods Related to the Law of The Iterated Logarithm

若對(duì)隨機(jī)變量x_1,...,x_n,有聯(lián)合概率密度函數(shù)g_{n}(x1,...,xn),g_{n}'(x1,...,xn)為任意其他概率密度函數(shù),且Zn= g_{n}'(x1,...,xn)/g_{n}(x1,...,xn),則:

對(duì)任意\xi > 1,存在這樣的n的概率小于1/\xi,即
P(Zn \ge \xi\ for\ some\ n\ge1) \leq 1/\xi

以下僅簡述x為正態(tài)分布下、混合函數(shù)為標(biāo)準(zhǔn)正態(tài)分布的場景

如果x.iid \sim N(\theta, 1),則:
\varphi (x) = (2\pi )^{-\frac{1}{2}}exp(-x^{2}/2),\ \Phi (x) = \int _{-\infty }^{x} \varphi (t)dt,\ S_n = x_{1} + ... + x_{n}
x_1,...,x_n的聯(lián)合概率密度函數(shù)為:
g_{\theta,n}(x_1...x_n) = \prod_1^n \varphi (x_i - \theta),
g_{\theta,n}(x_1...x_n)' = \int _{-\infty }^{\infty} \prod_1^n \varphi (x_i - \theta)dF(\theta)
Zn = g_n'/g_{0,n} = \int _{-\infty }^{\infty}exp(\theta S_n - 1/2n\theta^2 )dF(\theta)
定義f(x,y) = \int _{-\infty }^{\infty}exp(xy - 1/2ny^2 )dF(y),如果將F(\theta)替換為F(\theta m^{1/2}):
Zn = \int _{-\infty }^{\infty}exp(\theta S_n - 1/2n\theta^2 )dF(\theta m^{1/2}) = f(S_n/m^{1/2},n/m)\ \ \ \ (m>0)

P(f(S_n/m^{1/2},n/m) \ge \xi\ for\ some \ n\ge1) \leq 1/\xi\ \ \ \ (m>0,\xi>1)

F=\Phi,x.iid\sim N(0,1)

雙尾:P(|S_n| \ge [(n + m)(a^2 + log(n/m + 1))]^{\frac{1}{2}}\ for\ some\ n\ge1)\leq e^{-\frac{1}{2}a^2}
單尾: P(|S_n| \ge [(n + m)(a^2 + log(n/m + 1))]^{\frac{1}{2}}\ for\ some\ n\ge1)\leq e^{-\frac{1}{2}a^2}/\Phi(a)

與維納過程的聯(lián)系
w(t)表示標(biāo)準(zhǔn)維納過程,x.iid \sim N(0, 1),下面另個(gè)數(shù)列對(duì)任意m > 0具有相同的聯(lián)合分布。
(S_1/m^{1/2}, S_2/m^{1/2},...)
(w(1/m),\ w(2/m),...)

P(w(t) \ge A(t, \xi)\ for \ some\ t \ge 0) = 1/\xi

檢驗(yàn)與置信區(qū)間
x.iid \sim N(\theta, 1),如果c_n = [(n + m)(a^2 + log(n/m + 1)] ^{1/2},則P_0(|S_n| \ge c_n\ for \ some\ n \ge 1) \le exp(-1/2a^2)

如果a^2 \cong 6,\ 1-exp(-1/2a^2) = 0.95,因此可以得到I_n與C_n序列,使得對(duì)\theta的覆蓋率超過0.95。

power分析
單邊檢驗(yàn):H_0:\theta\le0,H_1:\theta > 0,則
N = first \ n\ge1\ such \ that\ S_n \ge c_n\ else\ \infty\ if \ no \ such\ n

假陰性錯(cuò)誤概率:P_\theta(not\ reject\ H_0) = P_\theta(S_n < c_n\ for\ all\ n\ge1)

此時(shí)power為1。

下邊界:當(dāng)\theta > 0時(shí),E_\theta(N) \ge -2logP_0(N < \infty)/\theta^2

如果P_0(N < \infty) = 0.05,則E_\theta(N) \ge 6/\theta^2。根據(jù)一些其它研究:

上邊界:當(dāng)\theta > 0時(shí),E_\theta(N) \le \frac{c_{E_\theta(N)}}{\theta} + \frac{\varphi (\theta)}{\theta\Phi(\theta)} + 1


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容