python 实现统计检验(配对t检验、wilcoxon符号秩检验)

例如比较6个算法的排序是否有显著性差异。
python 实现配对t检验

导入库函数


```python
import numpy as np
import pandas as pd
from scipy import stats
from  scipy.stats import ttest_rel #配对t检验,方法1
import scipy.stats as ss

不同算法的排名值(这里有6个算法,13个数据集)

chebyshev = np.array([[3,2,5,6,4,1],[5,2.5,6,2.5,4,1],[5,4,6,2.5,2.5,1],[5,6,4,2,3,1],[6,3,5,2,4,1],
                      [4.5,6,2.5,2.5,4.5,1],[4,3,6,5,2,1],[2,5,3,6,4,1],[6,4.5,2,4.5,3,1],
                      [4,5,6,3,2,1],[5,4,6,2,3,1],[2,5,6,3,4,1],[3,5,2,6,4,1]])
clark = np.array([[3,4,5,6,2,1],[5,2,6,3.5,3.5,1],[4,5.5,5.5,2.5,2.5,1],[5,6,4,2,3,1],[6,3,5,2,4,1],
                  [3.5,6,2,3.5,5,1],[4,3,6,5,2,1],[2,5,3,6,4,1],[5,3,2,4,6,1],[4,5,6,3,2,1],[5,3,6,2,4,1],[2,5,6,3,4,1],[3,5,2,6,4,1]])
# 配对t检验,方法1
def pairt(pairt):
    rank = pairt.T
    print(ttest_rel(rank[0],rank[-1]))
    print(ttest_rel(rank[1],rank[-1]))
    
for i in lst:
    value = pairt(i)
    print("——————————————————")``

输出结果:
Ttest_relResult(statistic=8.545657877029525, pvalue=1.9014291761226591e-06)
Ttest_relResult(statistic=9.066742813310547, pvalue=1.0211483925250366e-06)

# 方法2.
def pairT(rank):
    rank =rank.T
    sub0 = rank[0]-rank[-1]
    sub1 = rank[1]-rank[-1]
    # 配对样本t检验
    # stats.ttest_rel(fun1,fun2)
    print(stats.ttest_1samp(sub0,0))
    print(stats.ttest_1samp(sub1,0))

    
for i in lst:
    value = pairT(i)
    print("——————————————————")

输出结果:
Ttest_1sampResult(statistic=8.545657877029525, pvalue=1.9014291761226591e-06)
Ttest_1sampResult(statistic=9.066742813310547, pvalue=1.0211483925250366e-06)

wilcoxon符号检验:

def wilcoxon(rank):
    rank =rank.T
    data0 = rank[0]
    data1 = rank[1]
    data = rank[-1]
    # sub5 = rank[5]-rank[-1]
    # 配对样本t检验
    # stats.ttest_rel(fun1,fun2)
    stat0, p0 = ss.ranksums(data0, data)
    stat1, p1 = ss.ranksums(data1, data)
    print("statistic",round(stat0,3), "pvalue:",round(p0,3))
    print("statistic",round(stat1,3), "pvalue:",round(p1,3))

for i in lst:
    value = wilcoxon(i)

输出结果:
statistic 4.333 pvalue: 0.0
statistic 4.333 pvalue: 0.0

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值