【发布时间】:2020-07-20 11:59:07
【问题描述】:
我正在尝试运行 T 检验来检查给定 KPI 的两个样本之间是否存在显着差异。我正在运行这个 python 代码:
population_control = 18917
population_treatment = 169996
stddev_control = 3.7944261452602888
stddev_treatment = 3.8521668798017057
avg_control = 2.906
avg_treatment = 2.921
import scipy.stats
rvs1 = scipy.stats.norm.rvs(loc=avg_control,scale=stddev_control,size=population_control)
rvs2 = scipy.stats.norm.rvs(loc=avg_treatment,scale=stddev_treatment,size=population_treatment)
t_score, pvalue = scipy.stats.ttest_ind(rvs1, rvs2, equal_var = False)
print(pvalue)
但我不明白为什么对于相同的输入信息,输出会从一个执行变为另一个执行。有时我的 p 值
另外,当我输入 np.random.seed(12345678) 时,我总是有相同的 p 值,但这让我怀疑我在做什么。
你有什么想法吗?非常感谢。
【问题讨论】:
-
scipy.stats.norm.rvs生成随机值。如果您不设置种子,则每次运行程序时这些值都会有所不同。 -
@WarrenWeckesser 是的,但在这种情况下,这种方法证明了什么?因为根据种子的不同,我最终会得到完全不同的 p 值和结论
-
“因为取决于种子,我最终会得到完全不同的 p 值……” 是的,这正是人们对不同数据集的期望。根据您的回答,您似乎已经找到了问题和解决方案。
标签: python scipy statistics ab-testing