摘要:確定分流方案使用各類平臺分配流量。備擇假設(shè)與零假設(shè)相反,即實驗者希望證實的假設(shè)。雖然該數(shù)據(jù)集的統(tǒng)計結(jié)果與支付寶的實際規(guī)模有偏差,但不影響解決方案的適用性。選定統(tǒng)計方法由于樣本較大,故采用檢驗。
本文全程干貨,建議朋友們收藏后慢慢閱讀!
另外,我主頁上還有不少與ABTest和數(shù)據(jù)分析相關(guān)的博客,感興趣的朋友可以再去看看,希望能給你帶來收獲!
ABTest類似于以前的對比實驗,是讓組成成分相同(相似)的群組在同一時間維度下去隨機的使用一個方案(方案A、或者B、C…),收集各組用戶體驗數(shù)據(jù)和業(yè)務數(shù)據(jù),最后分析出哪個方案最好。
PS: 先說一下,這里的實現(xiàn)步驟并非權(quán)威步驟,不是一定要這么劃分。
要想充分搞懂ABTest,必須理解它的原理——假設(shè)檢驗。
在一個設(shè)計適當?shù)?ABTest中,處理 A 和處理 B 之間任何可觀測到的差異,必定是由下面兩個因素之一所導致的。
假設(shè)檢驗是對 ABTest(或任何隨機實驗)的進一步分析,意在評估隨機性是否可以合理地解釋 A 組和 B 組之間觀測到的差異。
這里需要介紹一下幾個專業(yè)術(shù)語:
假設(shè)檢驗的基本思想是“小概率事件”原理,其統(tǒng)計推斷方法是帶有某種概率性質(zhì)的反證法。小概率思想是指小概率事件在一次試驗中基本上不會發(fā)生。反證法思想是先提出檢驗假設(shè),再用適當?shù)慕y(tǒng)計方法,利用小概率原理,確定假設(shè)是否成立。對于不同的問題,檢驗的顯著性水平α不一定相同,一般認為,事件發(fā)生的概率小于0.1、0.05或0.01等,即“小概率事件”。但是,如果說你犯下第一類錯誤(即拒絕正確的假設(shè): H 0 H_0 H0?是真,但拒絕 H 0 H_0 H0?)的成本越高,你的α值就要設(shè)置得越小。
接下來介紹假設(shè)檢驗的基本步驟:
如何選定統(tǒng)計方法?那就得判斷你的樣本統(tǒng)計量符合什么分布了。
上圖就是判斷一個樣本統(tǒng)計量符合什么分布的流程圖,非常nice!
下面呢,則是關(guān)于Z分布,T分布,卡方分布的簡單了解,其中注意考慮多個總體問題時如何計算處理。
接下來再看一下這幾種分布的概率密度分布圖。
可以看出,T分布與標準正態(tài)分布(Z分布)都是以0為對稱的分布,T分布的方差大所以分布形態(tài)更扁平些。
雙側(cè)檢驗:
單側(cè)檢驗:
卡方分布:
拒絕域:
(卡方分布在左側(cè)的拒絕域特別小,所以拒絕的區(qū)間的值也比較少),所以卡方檢驗的拒絕域一般
放在右側(cè)。F分布同理。
項目來源:
https://tianchi.aliyun.com/dataset/dataDetail?dataId=50893
數(shù)據(jù)介紹:
從支付寶的兩個營銷活動中收集的真實數(shù)據(jù)集。該數(shù)據(jù)集包含支付寶中的兩個商業(yè)定位活動日志。由于隱私問題,數(shù)據(jù)被采樣和脫敏。雖然該數(shù)據(jù)集的統(tǒng)計結(jié)果與支付寶的實際規(guī)模有偏差,但不影響解決方案的適用性。
主要提供了三個數(shù)據(jù)集:
本分析報告的主要使用廣告點擊情況數(shù)據(jù),涉及字段如下:
接下來正式開始實戰(zhàn)。
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt%matplotlib inlinedata = pd.read_csv("effect_tb.csv",header = None)data.columns = ["dt","user_id","label","dmp_id"] # 文件中沒有字段名# 日志天數(shù)屬性用不上,刪除該列data = data.drop(columns="dt")data
data.info(null_counts = True)
查看數(shù)據(jù)統(tǒng)計情況,主要是看dmp_id。
data.describe()
接下來查看數(shù)據(jù)重復情況。
data[data.duplicated(keep = False)]
存在重復項,需要進行去重。
data = data.drop_duplicates()# 檢查是否還有重復項data[data.duplicated(keep = False)]
從先前操作已知數(shù)據(jù)類型正常,接下來利用透視表來看各屬性是否存在不合理情況。
data.pivot_table(index = "dmp_id",columns = "label",values = "user_id",aggfunc = "count")
從以上看出屬性字段無異常取值,無需進行處理。
在進行ABTest前,需檢查樣本容量是否滿足試驗所需最小值。
這里需要借助樣本量計算工具:https://www.evanmiller.org/ab-testing/sample-size.html
首先需要設(shè)定點擊率基準線以及最小提升比例,我們將對照組的點擊率設(shè)為基準線。
data[data["dmp_id"] == 1]["label"].mean()
對照組的點擊率為1.26%,假設(shè)我們希望新的營銷策略能夠讓廣告點擊率至少提升一個百分點,則算得所需最小樣本量為2167。
data["dmp_id"].value_counts()
可得411107和316205遠大于2167,滿足最小樣本量需求。
我們先查看一下這三種營銷策略的點擊率情況。
print("對照組: " ,data[data["dmp_id"] == 1]["label"].describe())print("策略一: " ,data[data["dmp_id"] == 2]["label"].describe())print("策略二: " ,data[data["dmp_id"] == 3]["label"].describe())
可以看到策略一和策略二相比對照組在點擊率上都有不同程度的提升。
其中策略一提升0.2個百分點,策略二提升1.3個百分點,只有策略二滿足了前面我們對點擊率提升最小值的要求。
接下來需要進行假設(shè)檢驗,看策略二點擊率的提升是否顯著。
設(shè)對照組點擊率為 p 1 p_1 p1?,策略二點擊率為 p 2 p_2 p2?,則:
由備擇假設(shè)可以看出,檢驗方向為單項檢驗(左)。
由于樣本較大,故采用Z檢驗。此時檢驗統(tǒng)計量的公式如下: z = p 1 ? p 2 ( 1 n 1 + 1 n 2 ) × p c × ( 1 ? p c ) z= /frac{p_1-p_2}{/sqrt{( /frac{1}{n_1}+/frac{1}{n_2})/times p_c /times (1-p_c)}} z=(n1?1?+n2?1?)×pc?×(1?pc?)?p1??p2??其中 p c p_c pc?為總和點擊率。
# 用戶數(shù)n1 = len(data[data.dmp_id == 1]) # 對照組n2 = len(data[data.dmp_id == 3]) # 策略二# 點擊數(shù)c1 = len(data[data.dmp_id ==1][data.label == 1])c2 = len(data[data.dmp_id ==3][data.label == 1])# 計算點擊率p1 = c1 / n1p2 = c2 / n2# 總和點擊率(點擊率的聯(lián)合估計)pc = (c1 + c2) / (n1 + n2)print("總和點擊率pc:", pc)
# 計算檢驗統(tǒng)計量zz = (p1 - p2) / np.sqrt(pc * (1 - pc)*(1/n1 + 1/n2))print("檢驗統(tǒng)計量z:", z)
這里我去 α /alpha α為0.05,此時我們利用python提供的scipy模塊,查詢 α = 0.5 /alpha=0.5 α=0.5時對應的z分位數(shù)。
from scipy.stats import normz_alpha = norm.ppf(0.05)# 若為雙側(cè),則norm.ppf(0.05/2)z_alpha
z α = ? 1.64 z_/alpha = -1.64 zα?=?1.64, 檢驗統(tǒng)計量z = -59.44,該檢驗為左側(cè)單尾檢驗,拒絕域為{z< z α z_/alpha zα?},z=-59.44落在拒絕域。
所以我們可以得出結(jié)論:在顯著性水平為0.05時,拒絕原假設(shè),策略二點擊率的提升在統(tǒng)計上是顯著的。
假設(shè)檢驗并不能真正的衡量差異的大小,它只能判斷差異是否比隨機造成的更大。因此,我們在報告假設(shè)檢驗結(jié)果的同時,應給出效應的大小。對比平均值時,衡量效應大小的常見標準之一是Cohen’d,中文一般翻譯作科恩d值: d = 樣 本 1 平 均 值 ? 樣 本 2 平 均 值 標 準 差 d=/frac{樣本_1平均值-樣本_2平均值}{標準差} d=標準差樣本1?平均值?樣本2?平均值?
這里的標準差,由于是雙獨立樣本的,需要用合并標準差(pooled standard deviations)代替。也就是以合并標準差為單位,計算兩個樣本平均值之間相差多少。雙獨立樣本的合并標準差可以如下計算: s = ( ( n 1 ? 1 ) × s 1 2 + ( n 2 ? 1 ) × s 2 2 ) n 1 + n 2 ? 2 s=/frac{((n_1-1)/times s^2_1+(n_2-1)/times s^2_2)}{n_1+n_2-2} s=n1?+n2??2((n1??1)×s1
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/122018.html
摘要:且本小白也親身經(jīng)歷了整個從小白到爬蟲初入門的過程,因此就斗膽在上開一個欄目,以我的圖片爬蟲全實現(xiàn)過程為例,以期用更簡單清晰詳盡的方式來幫助更多小白應對更大多數(shù)的爬蟲實際問題。 前言: 一個月前,博主在學過python(一年前)、會一點網(wǎng)絡(luò)(能按F12)的情況下,憑著熱血和興趣,開始了pyth...
摘要:整合起來,這就是平臺廣告商業(yè)形態(tài)的市場形態(tài)平衡用戶服務體驗廣告主實質(zhì)訴求及平臺的最大營收三方關(guān)系,追求各自最大收益。 文章目錄 廣告商業(yè)形態(tài)深思廣告到底是什么?互...
摘要:時間永遠都過得那么快,一晃從年注冊,到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:財富管理專場上,螞蟻金服微貸事業(yè)群高級前端技術(shù)專家王卓做了主題為螞蟻微貸互動營銷技術(shù)體系實踐的精彩分享。通過互動技術(shù),最終實現(xiàn)拉新,留存和促活等目標。營銷技術(shù)方案對接研發(fā)平臺,通過鳳蝶系統(tǒng)和研發(fā)管理體系進行打通。 摘要:以數(shù)字金融新原力(The New Force of Digital Finance)為主題,螞蟻金服ATEC城市峰會于2019年1月4日上海如期舉辦。財富管理專場上,螞...
摘要:月日,第六屆大會在深圳召開。這是這次大會的第二站活動,第一站已在上海成功舉辦。深圳站視頻及,請在公眾號后臺回復,獲取分享鏈接。據(jù)介紹,目前支持多種開發(fā)庫,如內(nèi)置和等。該協(xié)議的推出,是為了統(tǒng)一標準,提高效率。 本文為 PyChina 和「編程派」聯(lián)合首發(fā),作者為 EarlGrey?!妇幊膛伞故且粋€專注 Python 學習交流的微信公眾號。 9 月 25 日,第六屆 PyCon China...
閱讀 1010·2023-04-25 19:35
閱讀 2672·2021-11-22 09:34
閱讀 3702·2021-10-09 09:44
閱讀 1729·2021-09-22 15:25
閱讀 2944·2019-08-29 14:00
閱讀 3377·2019-08-29 11:01
閱讀 2605·2019-08-26 13:26
閱讀 1740·2019-08-23 18:08