gpt4 book ai didi

python - 定量数据集的显着性检验(Python Pandas)

转载 作者:行者123 更新时间:2023-12-04 04:10:57 25 4
gpt4 key购买 nike

假设我有以下数据框 df,其中 conv_rate = sales/visits:

      theme      visits   sales   conv_rate
0 brazil 34 2 5.9%
1 argentina 18 3 16.7%
2 spain 135 15 11.1%
3 uk 71 6 8.5%
4 france 80 4 5.0%
5 iceland 26 1 3.8%
6 chile 104 11 10.6%
7 italy 47 5 10.6%

# Total visits = 515
# Total sales = 47
# Mean conversion rate = 9.1%

我想测试哪些国家/地区的转化率与总体平均转化率有显着差异(原假设 = 转化率没有差异)。

什么测试最适合这里?我相信我需要一个双尾测试,因为样本转化率可能高于或低于总体平均值。但是我不确定 t-test 还是 z-test 最合适。

据我所知,z 检验最适合大样本量 (n>30),而 t 检验最适合小样本量 (n<30)。这样对吗?由于我的某些样本(例如西类牙)的样本量大于其他样本(例如阿根廷),我如何决定哪种测试最合适?我希望在所有行(样本)上运行相同的测试。

我在这里尝试做的是查看哪些国家/地区的转化率与零假设“显着不同”。我想使用显着性检验来计算每个国家/地区的“测试值”(如下例),然后将此值与阈值进行比较以确定该国家/地区是否具有只能解释为 5% 的转换率,1 %,占总人口的 0.1%(因此让我高度相信转化率的差异是“显着的”而不是偶然的)。

      theme      visits   sales   conv_rate     value
0 brazil 34 2 5.9% 1.57
1 argentina 18 3 16.7% 4.51
2 spain 135 15 11.1% 3.06
3 uk 71 6 8.5% 2.57
4 france 80 4 5.0% 1.88
5 iceland 26 1 3.8% 1.28
6 chile 104 11 10.6% 3.23
7 italy 47 5 10.6% 2.94

什么测试最适合这个目的?我可以在 pandas 中构建测试还是应该使用 scipy

最佳答案

您可以使用 binomial test ,将转化视为“销售额”,将访问次数视为“试用”,平均成功率是平均销售额/平均访问次数:

import pandas as pd
from scipy.stats import binom_test
p = df.sales.sum()/df.visits.sum()
df['p_binom'] = df.apply(lambda x: binom_test(x[2],x[1],p=p),axis=1)
df

theme visits sales conv_rate p_binom
0 brazil 34 2 5.9% 0.765868
1 argentina 18 3 16.7% 0.222923
2 spain 135 15 11.1% 0.452636
3 uk 71 6 8.5% 1.000000
4 france 80 4 5.0% 0.245689
5 iceland 26 1 3.8% 0.508992
6 chile 104 11 10.6% 0.607580
7 italy 47 5 10.6% 0.615161

关于python - 定量数据集的显着性检验(Python Pandas),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61746716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com