scipy.stats.ttest_rel

scipy.stats.ttest_rel(a, b, axis=0, nan_policy='propagate', alternative='two-sided')[源代码]

计算分数的两个相关样本a和b的t检验。

这是对零假设的检验,即两个相关或重复的样本具有相同的平均值(期望值)。

参数
a, barray_like

数组必须具有相同的形状。

axis整型或无型,可选

要沿其计算测试的轴。如果没有,则对整个数组进行计算, a ,以及 b

nan_policy{‘Propagate’,‘RAISE’,‘OMIT’},可选

定义输入包含NaN时的处理方式。以下选项可用(默认值为‘Propagate’):

  • ‘Propagate’:返回NaN

  • “raise”:引发错误

  • ‘omit’:执行计算时忽略NaN值

alternative{‘双面’,‘少’,‘大’},可选

定义了另一种假设。有以下选项可用(默认为‘双面’):

  • “双面”:样本下面的分布的平均值是不相等的。

  • ‘小于’:第一个样本下面的分布的平均值小于第二个样本下面的分布的平均值。

  • “大于”:第一个样本下面的分布的平均值大于第二个样本下面的分布的平均值。

1.6.0 新版功能.

退货
statistic浮点或数组

t-统计量。

pvalue浮点或数组

p值。

注意事项

使用的例子是同一组学生在不同考试中的分数,或者从相同单元中重复抽样。该测试衡量样本(例如考试)之间的平均分数是否有显著差异。如果我们观察到一个很大的p值,例如大于0.05或0.1,那么我们不能拒绝相同平均分数的零假设。如果p值小于阈值,例如1%、5%或10%,则我们拒绝相等平均值的零假设。小的p值与大的t统计量相关联。

参考文献

https://en.wikipedia.org/wiki/T-test#Dependent_t-test_for_paired_samples

示例

>>> from scipy import stats
>>> rng = np.random.default_rng()
>>> rvs1 = stats.norm.rvs(loc=5, scale=10, size=500, random_state=rng)
>>> rvs2 = (stats.norm.rvs(loc=5, scale=10, size=500, random_state=rng)
...         + stats.norm.rvs(scale=0.2, size=500, random_state=rng))
>>> stats.ttest_rel(rvs1, rvs2)
Ttest_relResult(statistic=-0.4549717054410304, pvalue=0.6493274702088672)
>>> rvs3 = (stats.norm.rvs(loc=8, scale=10, size=500, random_state=rng)
...         + stats.norm.rvs(scale=0.2, size=500, random_state=rng))
>>> stats.ttest_rel(rvs1, rvs3)
Ttest_relResult(statistic=-5.879467544540889, pvalue=7.540777129099917e-09)