为什么Scipy中的ttest_ind与Excel TTest有点不同?

时间:2018-07-24 08:40:55

标签: python excel scipy

Scipy(Python):

from scipy import stats
a=[3,4,5,8,9,1,2,4,5,3,8]
b=[6,19,3,2,14,4,5,17,1,2,4]
stats.ttest_ind(a,b, equal_var=True)
  

Ttest_indResult(statistic = -1.0810463365416798,pvalue = 0.29254014390233507)

Excel: enter image description here

Scipy的结果为0.292540,Excel的结果为0.293487。像TTEST(a, b, 2, 1)一样使Scipy结果正确的语法是什么?

1 个答案:

答案 0 :(得分:1)

配对未配对两个样本t检验之间存在差异:请参阅Wikipedia。 Excel的TTEST的最后一个参数在它们之间进行选择:

=TTEST(A1:K1,A2:K2,2,1)   # paired, returns   0.293487072
=TTEST(A1:K1,A2:K2,2,2)   # unpaired, returns 0.292540144

在SciPy中,这些操作是通过

完成的
  • ttest_rel(已配对;“ rel”代表与相关的
  • ttest_ind(未配对,“ ind”代表独立

用你的a,b

stats.ttest_rel(a, b)                   # pvalue=0.2934870715776284
stats.ttest_ind(a, b, equal_var=True)   # pvalue=0.29254014390233507