应用场景:
抽象:对比两组数据X,Y(假设都符合正态分布),均值差异是否显著。
例:试验组结果对比对照组结果。
方法:
利用统计学假设检验,结合python脚本自动化出结果。
流程:
- 先利用levene检验,检验两总体的方差齐性,得到“是”或“否”的结论。
- 进行t检验,根据方差齐性调整参数。
参考代码:
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<ci:
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'])
![ea93e4202ec95e68cff131cecaa2884f.png](https://i-blog.csdnimg.cn/blog_migrate/270af000775e2eeda9b3149bd7898466.png)