有的时候新方法有效果提升,但是为了验证这种提升是否是显著的(防止有的方法具有随机性),需要进行 t t t检验,根据计算的 p p p- v a l u e value value来决定两种方法的均值是否真的存在显著差异。
t t t检验通常有
1. 单样本 t t t检验
本次不涉及
2. 独立样本 t t t检验
两独立样本t检验要求两样本所代表的总体服从正态分布 , 且两总体方差相等。计算时只需要两样本的均值、方差、样本数即可。
from scipy import stats
stats.ttest_ind_from_stats(
mean1,
std1,
nobs1,
mean2,
std2,
nobs2,
equal_var=True,
)
参数解释:
- mean1, std1, mean2, std2: 第一组样本的均值和方差,第二组样本的均值和方差。
- nobs1, nobs2: 第一组和第二组样本的数量。
- equal_var: 如果为True(默认),执行一个标准的独立2样本测试,假设总体方差相等。 如果为假,执行 W e l c h − t Welch-t Welch−t检验,它不假设总体方差相等。
如果两组样本的具体样本值已知,则可以使用以下方法:
from scipy import stats
stats.ttest_ind(a, b, axis=0, equal_var=True, nan_policy='propagate')
参数解释:
- a, b: 两组样本,长度必须相同。
- equal_var: 如果为True(默认),执行一个标准的独立2样本测试,假设总体方差相等。 如果为假,执行 W e l c h − t Welch-t Welch−t检验,它不假设总体方差相等。
如果我们观察来自相同或不同人群的两个独立样本,例如男孩和女孩或两个民族的考试成绩,我们可以使用这个测试。 测试衡量的是样本之间的平均值(期望值)是否存在显著差异。 如果我们观察到一个大的p值,例如大于0.05或0.1,那么我们不能拒绝相同平均分数的零假设。 如果p值小于阈值,例如1%、5%或10%,那么我们拒绝等平均值的原假设。
3. 配对 t t t检验(paired t-test)
用于分析配对定量数据之间的差异对比关系。与独立样本t检验相比,配对样本T检验要求样本是配对的。两个样本的样本量要相同;样本先后的顺序是一一对应的。
```python
from scipy import stats
stats.ttest_rel(a, b, axis=0, nan_policy='propagate')
参数解释:
- a, b : 长度必须相同.
- axis : int or None, 计算 t t t- t e s t test test所沿着的轴。 如果为None,则计算整个数组 。
4. 根据返回值的到结构
以上计算返回类scipy.stats.stats.Ttest_relResult
的对象,其有两个属性,可据此获得
p
p
p值:
res = stats.ttest_rel(a, b)
print("t-statistic:", res.statistic)
print("p-value:", res.pvalue)