应用场景:
对比两组数据X,Y(假设都符合正态分布),均值差异是否显著。
比如我们常见的ABTest:试验组结果对比对照组结果,到底转化率差多少算是起到效果了?1个点?0.5个点算不算?
这个时候,了解一些统计学的同学可能会想到用统计假设检验的方法。那么问题又来了,是不是要检验一下方差?p多少有差异呢?
对于非科班出身的同学可能是有些难度。
解决方案:
我用PYTHON把方差检验和t检验进行了一个简单的封装,只要把“试验组”和“对照组”的数据传进去,就能自动完成计算。
以下是代码(b站的文本编辑似乎没有找到代码块)
from scipy import stats
import pandas as pd
import numpy as np
def my_ttest(x,y,ci=0.05):
if (len(x)>1) & (len(y)>1):
v_test=stats.levene(x,y)
if v_test.pvalue<0.05:
my_equal_var=True
else:
my_equal_var=False
t_test_p=stats.ttest_ind(x,y,equal_var=my_equal_var).pvalue
if t_test_p
print('有显著差异',t_test_p)
return False
else:
print('差异不显著',t_test_p)
return True
else:
return True
#返回值可按实际应用场景进行调整
my_ttest(df0.loc[df0['data_mark']==1,'old_cr'],df0.loc[df0['data_mark']==0,'old_cr'])
打印出的效果