相关比例检验

作者: 哈嘿_af77 | 来源:发表于2019-08-11 22:20 被阅读3次

    网站投放广告的时候,一开始给大家看到的落地页是访问课程资料,现在又推出了开始免费试学这个落地页,网站的两个不同的落地页(老版本,新版本),想知道哪个版本的落地页能带来更多的转化率,这时候就要检测两个落地页的转化效果,下面是测试的24天数据


    一、描述统计分析

    #读取数据

    import pandas as pd

    import numpy as np

    import matplotlib.pyplot as plt

    %matplotlib inline

    df = pd.read_csv('C:/Users/mxl/Desktop/小鸟计划/ab_data.csv')

    df.head()

    user_id-用户,timestamp-用户访问页面的时间,group-旧方案control和新方案trement分组, landing_page-落地页是旧页(访问课程资料)或新页(开始免费试学),converted-1表示已转化

    #查看每一列的数据类型

    df.dtypes

    #描述统计信息

    df.describe()

    #数据集中有treament和new_page不一致的数据,要对数据集中的这些数据进行剔除,观察treatment有写成treament

    df.loc[(df["group"] == "treatment")!=(df["landing_page"] == "new_page")].count()

    #剔除错误记录,剩下的作为测试数据

    df_test = df.loc[~((df["group"] == "treatment")!=(df["landing_page"] == "new_page"))]

    #查看有没有重复用户,若有就去重

    df_test.user_id.nunique()

    #对重复的数据用duplicate进行删除,对象是User_id,保留第一个

    df_test = df_test.drop_duplicates(subset=["user_id"],keep='first')

    #样本均值

    a_mean=df_test.loc[df_test['landing_page']=='new_page']['converted'].mean()

    b_mean=df_test.loc[df_test['landing_page']=='old_page']['converted'].mean()

    #样本数量

    n_a=df_test.loc[df_test['group']=='treatment'].shape[0]

    n_b=df_test.loc[df_test['group']=='control'].shape[0]

    print('A版本平均值=',a_mean,'转化量')

    print('B版本平均值=',b_mean,'转化量')

     二、推论统计分析

    1、问题是什么

    自变量是指原因。因变量是指结果,也就是自变量发生变化导致改变的值就是因变量。

    自变量:我们有两组实验数据,第一组是落地页是新网页。第二组落地页是旧网页。所以自变量是落地页的类型

    因变量:落地页带来的转化量

    所以,我们要考察的是自变量(落地页)两种情况下对因变量(网页成交转化量)的影响。

    零假设和备选假设

    测试用户分为两部分,一部分用新页面A,一部分用旧页面B,经过一定时间后,收集到两方案的观测数据,要研究的问题是A和B方案的转化率的差异性。由于我们期望是A方案页面的成交转化率高于B方案页面的成交转化率,所以提出下面两个互为相反的假设:

    零假设:u_a-u_b= 0

    零假设总是表述为研究没有改变,没有效果,不起作用等。

    备选假设:u_a-u_b>0

    A版本和B版本有差别,也就是A版本平均值大于B版本平均值。

    检验类型

    由于两种数据是相关样本,采用的是相关比例检验

    相关比例检验只关注每组数据相关比例的差值

    检验方向

    备选假设是A版本和B版本有差别,也就是A版本转化率平均值大于B版本转化率平均值,所以我们使用右尾检验。

    2、证据是什么

    在零假设成立前提下,得到样本平均值的概率p是多少?

    '''用python统计包statsmodels.stats.proportion.proportions_ztest自动计算

    基于正态z检验的比例检验:http://www.statsmodels.org/dev/generated/statsmodels.stats.proportion.proportions_ztest.html#statsmodels.stats.proportion.proportions_ztest

    '''

    #导入统计模块

    import statsmodels.stats.proportion as sm

    #计算转化在新网页和旧网页的样本比例

    convert_new = df_test.query('group == "treatment" & converted == 1').shape[0]

    convert_old = df_test.query('group == "control" & converted == 1').shape[0]

    z_score,p_value = sm.proportions_ztest([convert_new,convert_old],[n_a,n_b],alternative='smaller')

    这里alternative表示备择假设可以是双侧检验two-sided,也可以是单侧检验之一,smaller表示备择假设为prop < value,较大的表示prop >value。在两个样本检验中,smaller表示备择假设为p1 < p2,较大的表示p1 > p2,其中p1为第一个样本比例,p2第二个样本的比例。

    z_score,p_value

    z_score,p_value

    3、判断标准是什么

    显著水平 alpha=0.05

    4、做出结论

    #右尾判断条件:p_value<alpha时,拒绝原假设

    if(p_value<alpha):

        print('拒绝零假设,有统计显著,也就是接受备选假设')

        print('备选假设:A版本和B版本有差异')

    else:

        print('接受零假设,没有统计显著')

        print('零假设:A版本和B版本没有差异')

    5、置信区间

    #1)置信水平对于的z值

    #2)计算上下限

    #置信区间上限=样本平均值-z_score*标准误差

    #置信区间下限=样本平均值+z_score*标准误差

    a=(a_mean-b_mean)-z_score*np.sqrt(a_mean*(1-a_mean)/n_a + b_mean*(1-b_mean)/n_b)

    b=(a_mean-b_mean)+z_score*np.sqrt(a_mean*(1-a_mean)/n_a + b_mean*(1-b_mean)/n_b)

    6、效应量

    #总体比例差平均值差值对应的值是0

    pop_mean=0

    #样本比例差平均值差值对应的值是0

    sample_mean=a_mean-b_mean

    #总体比例差平均值差值的标准差

    sample_std=np.sqrt(a_mean*(1-a_mean)/n_a + b_mean*(1-b_mean)/n_b)

    d=(sample_mean - pop_mean) / sample_std

    print('d=',d)

    三、数据分析报告总结

    1、描述统计分析

    A版本平均值= 0.11880806551510564 转化量

    B版本平均值= 0.1203863045004612 转化量

    2、推论统计分析

    1)假设检验

    本次假设检验是基于正态(z)检验的比例检验 z_score=-1.3109241984234394,p_value=0.094941687240975514,单侧检验(右侧) 统计上不存在显著差异,接受零假设

    2)置信区间

    总体比例差的95%的置信区间 CI=[-3.5520257269348876e-09,-0.0031564744186853865]

    3)效应量

    d= -1.31092714883,效果显著

    参考链接:

    1、数据集

    https://www.jianshu.com/go-wild?ac=2&url=https%3A%2F%2Fpan.baidu.com%2Fs%2F1KFernlpMtqgSt2Zp9yZa1g

    2、数据分析AB测试实战项目

    https://www.jianshu.com/p/1c0c4c3ea889

    相关文章

      网友评论

        本文标题:相关比例检验

        本文链接:https://www.haomeiwen.com/subject/defejctx.html