SciPy:ttest\u ind\u from\u stats returning wrong pvalu从返回错误的pvalu

2024-05-16 03:42:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用SciPy函数ttest_ind_from_stats执行具有不等方差的2样本t检验(Welch's t检验):

import scipy.stats as st

ttest = st.ttest_ind_from_stats(24,5.2,2,10,4,2, equal_var=False)
print(ttest.statistic, ttest.pvalue)
# OUTPUT 3.0179142949145876 0.10203717891240338

我发现p值输出不同于在线p值计算器和临界值表。然后我尝试使用scipy.stats.t的累积密度函数方法,它给出了预期的p值 地址:

dof = 2+2-2 # degrees of freedom
pvalue = (1-st.t.cdf(abs(ttest.statistic), dof))*2 # two-tailed
print(ttest.statistic, pvalue)
# OUTPUT 3.0179142949145876 0.09449105334261154

我得出的结论是,第二个p值=0.094是正确的,来自ttest\u ind\u的p值=0.102是错误的

有人能解释为什么p值不同吗


Tags: 函数fromoutputstatsscipystatistic样本st