我有简单的 Python 函数:
from scipy.stats import ttest_1samp
def tTest( expectedMean, sampleSet, alpha=0.05 ):
# T-value and P-value
tv, pv = ttest_1samp(sampleSet, expectedMean)
print(tv,pv)
return pv >= alpha
if __name__ == '__main__':
# Expected mean is 10
print tTest(10.0, [99, 99, 22, 77, 99, 55, 44, 33, 20, 9999, 99, 99, 99])
我的期望是该样本的 t 检验应该失败,因为它远不及预期的总体平均值 10。但是,程序产生的结果是:
(1.0790344826428238, 0.3017839504736506)
True
即 p 值为 ~30%,这太高而无法拒绝假设。我对 t 检验背后的数学不是很了解,但我不明白这个结果怎么可能是正确的。有没有人有任何想法?
慕工程0101907
相关分类