python计算p-value

有的时候新方法有效果提升,但是为了验证这种提升是否是显著的(防止有的方法具有随机性),需要进行 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 Welcht检验,它不假设总体方差相等。

如果两组样本的具体样本值已知,则可以使用以下方法:

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 Welcht检验,它不假设总体方差相等。

如果我们观察来自相同或不同人群的两个独立样本,例如男孩和女孩或两个民族的考试成绩,我们可以使用这个测试。 测试衡量的是样本之间的平均值(期望值)是否存在显著差异。 如果我们观察到一个大的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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值