日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【整理向】老板让我用SPSS做A/Btest,我偏要用python

發布時間:2023/12/20 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【整理向】老板让我用SPSS做A/Btest,我偏要用python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

老板:小果子
我:老板您說
老板:那個,這個頁面中間按鈕我們換了個顏色,你用斯罷斯驗證一下點擊率唄
我:…好的,老板的發音還是那么清新脫俗
老板:怎么樣,我昨天專門練的,厲害吧
我:numpy!numpy!(npnp:牛皮牛皮)

我,數據之果,身為一名專業的數據分析師我們當然要體現出我們的專業水平,打開我的斯噗斯斯!準備窗口!哼!一個小小的A/B test做出來只需要分分…

(SPSS過期了…)

怎么辦,新公司電腦新安裝的斯噗斯斯過期了,機智的我趕緊到網上搜索破解程序,一打開…


西巴shake it啊
盜版軟件植入廣告都這么猖獗了嗎(眼淚不爭氣的從我的嘴角流了下來)

這個時候再去找大佬要破解版或者再搜索就太花時間了
不行,身為一名專(xin)業(shou)的數據分析師怎么能如此低效
話說python不是有個統計包叫scipy嘛,容我去百度搜搜,這一搜就搜出來好多好東西,整理一下:

單樣本T檢驗
單樣本t檢驗是確定樣本均值是否與已知或假設的總體均值具有統計學差異的帶參數檢驗:
假設我們有總體的頁面點擊率10%和改動后的十天的頁面點擊率數據,想知道樣本數據和總體數據在設定p值閾值為0.05的情況下,兩者是否有顯著性差異:

F1=[round(random.uniform(10,14),2) for i in range(10) ] #隨機抽取正態分布十個在(10,14)的隨機浮點數 F1_mean = np.mean(F1) print(F1_mean) test, pval = ttest_1samp(F1, 10) print('p-values',pval) if pval < 0.05: # alpha value is 0.05 or 5%print(" we are rejecting null hypothesis") else:print("we are accepting null hypothesis")

結果顯示為:

但是這只是估算樣本與總體差異的單樣本檢驗而已,萬一只是瞎貓碰上死耗子呢,萬一中間有其他的因素在干擾呢,于是我們控制周期變量(選取歷史數據上月沒有變動的兩個十天的數據,周期平移到本月,在最后十天進行改動得到新一組點擊率和老十天點擊率),或者同時有兩種方法同時測評,得到兩組樣本進行:

配對樣本T檢驗

F1_mean = np.mean(F1) F2_mean = np.mean(F2)print("week1 mean value:",F1_mean) print("week2 mean value:",F2_mean)ttest,pval = stats.ttest_rel(F1, F2) print("p-value",pval) if pval <0.05:print("we reject null hypothesis") else:print("we accept null hypothesis")

結果是:

那要是我們本來有兩版頁面,我們同時進行了一個按鈕的改動,想要看出變動是否有差異,則可以使用:

雙樣本T檢驗

一般用于判斷兩總體是否有顯著差異的時候才會用雙樣本T檢驗
注意在進行雙樣本T檢驗的時候,一定要驗證總體的方差齊性

def ftest(s1,s2):'''F檢驗樣本總體方差是否相等'''print("Null Hypothesis:var(s1)=var(s2),α=0.05")p_val=stats.levene(s1, s2).pvalueprint(p_val)if p_val < 0.05:print("Reject the Null Hypothesis.")equal_var=Falseelse:print("Accept the Null Hypothesis.")equal_var=Truereturn equal_vardef ttest_ind_fun(s1,s2):'''t檢驗獨立樣本所代表的兩個總體均值是否存在差異'''equal_var = ftest(s1,s2)print("Null Hypothesis:mean(s1)=mean(s2),α=0.05")ttest,pval = ttest_ind(s1,s2,equal_var=equal_var)if pval < 0.05:print("Reject the Null Hypothesis.")else:print("Accept the Null Hypothesis.")return pvals1 = norm.rvs(loc=1,scale=1.0,size=20) s2 = norm.rvs(loc=1.5,scale=0.5,size=20)ttest_ind_fun(s1,s2)

結果是:
ANOVA(F-檢驗)

要是有兩組以上的頁面同時進行了改動,相互的兩兩比較不能充分說明問題,則要用ANOVA檢驗(F-檢驗):

s1 = norm.rvs(loc=1,scale=1.0,size=20) s2 = norm.rvs(loc=1.5,scale=0.5,size=20) s3 = norm.rvs(loc=1.5,scale=0.5,size=20) F, p = stats.f_oneway(s1,s2,s3) print("p-value for significance is: ", p) if p<0.05: print("reject null hypothesis") else: print("accept null hypothesis")

結果是:

借鑒他人鏈接如下,整理方便之后自查:
charie411:t檢驗及python代碼實現
zrx731935354:利用python進行T檢驗
使用Python進行機器學習的假設檢驗(附鏈接&代碼)

總結

以上是生活随笔為你收集整理的【整理向】老板让我用SPSS做A/Btest,我偏要用python的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。