大家好,欢迎来到IT知识分享网。
文章目录
前言
记录一下自非参数检验的学习过程,如有不对请纠正。
非参数检验
非参数检验是一类统计检验方法,它不对数据的分布作出严格假设,尤其是正态性假设。与参数检验(如t检验、ANOVA)不同,非参数检验不需要数据符合特定的分布,因此在处理不符合正态分布的数据或分类数据时非常有用。
特点
无需分布假设: 不要求数据符合特定的分布,如正态分布。
适用于各种数据类型: 不仅适用于连续型数据,还适用于有序数据和分类数据。
鲁棒性: 对异常值和数据的分布形态不敏感。
应用广泛: 常用于小样本和分布未知的数据集。
常见的非参数检验
注:这些非参数检验在小样本的情况下至少需要5个样本。
一、Cliff’s Delta
动机
定义
Cliff’s Delta表示两个组的效果大小,范围在-1到1之间:
二、Wilcoxon Signed-Rank Test
Wilcoxon Signed-Rank Test(威尔科克森符号秩检验)是一个非参数统计检验,用于比较两个相关样本或配对样本的中位数差异。它是一种用于检验配对差异是否对称分布的无假设检验方法。
定义
该检验用于评估在一组配对数据中的差异是否显著。适用于:
三、 Friedman检验
Friedman检验是一种非参数统计检验,用于比较多个相关样本(配对样本)的中位数差异。它是用于检测多组相关样本之间是否存在显著差异的有效方法,通常用于重复测量设计或块设计中的数据分析。
适用场景
重复测量设计: 同一组对象在不同条件下的测量结果。
块设计: 实验对象被分成多个块,每个块中的实验对象在所有处理条件下都进行测量。
公式
注:本领域一般使用Friedman计算三组样本之间是否存在显著性差异,如果存在。则继续使用其它非参数检验比较两组之间的显著性差异。
python 代码
Wilcoxon Signed-Rank Test和 cliffs delta
from scipy import stats def cliffs_delta(lst1, lst2): """Cliff's Delta test""" from cliffs_delta import cliffs_delta return cliffs_delta(lst1, lst2) def wilcoxon_signed_rank_test(lst1, lst2): """Wilcoxon Signed-Rank Test""" return stats.wilcoxon(lst1, lst2) data1 = [93.40 ,98.69,99.87,99.31 ,99.77 ,97.84] data2 = [93.4,96.77,97.71,91.67,97.97 ,95.73] cliffs_delta_value = cliffs_delta(data1, data2) wilcoxon_statistic, wilcoxon_p_value = wilcoxon_signed_rank_test(data1, data2) print("Cliff's Delta:", cliffs_delta_value) print("Wilcoxon Signed-Rank Test p-value:", wilcoxon_p_value)
Friedman
# -- coding:utf-8 -- import numpy as np import scipy.stats as stats # 示例数据,表示三个模型在六个数据集上的性能 # 计算方差和均值是为了比较在模型的总体稳定性和泛化性。 model1 = [93.40 ,96.77 ,97.71 ,91.67 ,97.97 ,95.73] model2 = [85.85
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/119004.html


