日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python统计图原理_AB测试原理及样本量计算的Python实现

發(fā)布時(shí)間:2024/9/19 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python统计图原理_AB测试原理及样本量计算的Python实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

為了對(duì)比不同策略的效果,如新策略點(diǎn)擊率的提升是否顯著,常需要進(jìn)行A/B測(cè)試。但測(cè)試是有成本的,樣本量小時(shí)不能判斷出差異是否是由抽樣誤差引起,樣本量太大時(shí)如果效果不好則會(huì)造成難以挽回的損失。如何科學(xué)地選擇樣本量呢?需要了解A/B測(cè)試的統(tǒng)計(jì)學(xué)原理

一、 A/B測(cè)試的統(tǒng)計(jì)學(xué)原理

(一)大數(shù)定律和中心極限定理

A/B 測(cè)試樣本量的選取基于大數(shù)定律和中心極限定理。通俗地講:

1. 大數(shù)定律:當(dāng)試驗(yàn)條件不變時(shí),隨機(jī)試驗(yàn)重復(fù)多次以后,隨機(jī)事件的頻率近似等于隨機(jī)事件的概率。

2. 中心極限定理:對(duì)獨(dú)立同分布且有相同期望和方差的n個(gè)隨機(jī)變量,當(dāng)樣本量很大時(shí),隨機(jī)變量

近似服從標(biāo)準(zhǔn)正態(tài)分布N(0,1)。

根據(jù)大數(shù)定律和中心極限定理,當(dāng)樣本量較大(大于30)時(shí),可以通過Z檢驗(yàn)來檢驗(yàn)測(cè)試組和對(duì)照組兩個(gè)樣本均值差異的顯著性。

注:樣本量小于30時(shí),可進(jìn)行t檢驗(yàn)。

(二)假設(shè)檢驗(yàn)

在進(jìn)行假設(shè)檢驗(yàn)時(shí),我們有兩個(gè)假設(shè):原假設(shè)H0(兩個(gè)樣本沒有顯著性差異)和備擇假設(shè)H1(兩個(gè)樣本有顯著性差異)。相應(yīng)地,我們可能會(huì)犯兩類錯(cuò)誤:

第I類錯(cuò)誤:H0為真,H1為假時(shí),拒絕H0,犯第I類錯(cuò)誤(即錯(cuò)誤地拒絕H0)的概率記為alpha。

第II類錯(cuò)誤:H0為假,H1為真時(shí),接受H0,犯第II類錯(cuò)誤(即錯(cuò)誤地接受H0)的概率記為beta。

1. 犯第I類錯(cuò)誤的概率alpha與置信水平1-alpha

通常,將犯第I類錯(cuò)誤的概覽alpha(0.05)稱為顯著性,把沒有1-alpha(0.95)稱為置信水平,即有1-alpha的概率正確接受了H0。

一般,alpha取值為0.05或更小的數(shù)值,即容忍犯第I類錯(cuò)誤的概率最大為alpha。

2. 犯第II類錯(cuò)誤的概率beta與統(tǒng)計(jì)功效power=1-beta

通常,將犯第II類錯(cuò)誤的概率稱為beta;將1-beta稱為統(tǒng)計(jì)功效,即正確拒絕H0的概率。

一般,beta取10%~20%,則統(tǒng)計(jì)功效的取值為80%~90%。

犯第一類錯(cuò)誤的概覽alpha與犯第二類錯(cuò)誤的概覽beta之間的關(guān)系如下圖:

3. 統(tǒng)計(jì)顯著性p-value

當(dāng)p-value

根據(jù)統(tǒng)計(jì)學(xué)原理計(jì)算樣本量,需要根據(jù)顯著性水平查正態(tài)分布表,工作中用到的比較少,這里省略。

工作中可用python中的已有的包和函數(shù)計(jì)算。

二、樣本量計(jì)算的python實(shí)現(xiàn)

Python統(tǒng)計(jì)包statsmodels.stats.power中,有一個(gè)NormalIndPower工具,可以用其中的solve_power函數(shù)實(shí)現(xiàn)。

Solve_power函數(shù)中的參數(shù)如下:

(1)參數(shù)effect_size :兩個(gè)樣本均值之差/(原來樣本值*(1-原來樣本值))的開方

(2)nobs1:樣本1的樣本量,樣本2的樣本量=樣本1的樣本量*ratio

(3)alpha:顯著性水平,一般取0.05

(4)power:統(tǒng)計(jì)功效,一般去0.8

(5)ratio: 樣本2的樣本量/樣本1的樣本量,一般取1

(6)alternative:字符串str類型,默認(rèn)為‘two-sided’,也可以為單邊檢驗(yàn):’larger’ 或’small’

例:目前的點(diǎn)擊率CTR是0.3,我們要想提升10%,將點(diǎn)擊率提升到0.33,測(cè)試組和對(duì)照組的樣本量相同。

計(jì)算如下:

fromstatsmodels.stats.power import NormalIndPower

import math

effect_size= 0.03/math.sqrt(0.3*(1-0.3))

ztest=NormalIndPower()

num=ztest.solve_power(

effect_size=effect_size,

nobs1=None,

alpha= 0.05,

power= 0.8,

ratio=1,

alternative= 'two-sided')

print (num)

3662.8015711721328

檢測(cè)效果變化值越小,需要的樣本量越大;檢測(cè)效果變化值越大,需要的樣本量越小。因?yàn)?#xff0c;變化效果越小,越有可能是抽樣誤差引起的;為了避免抽樣誤差的影響,需要增大樣本量。

https://abtestguide.com/abtestsize/

總結(jié)

以上是生活随笔為你收集整理的python统计图原理_AB测试原理及样本量计算的Python实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。