文章目录
- 前言
- 非参数检验
- 特点
- 常见的非参数检验
- 一、Cliff's Delta
- 动机
- 定义
- 二、Wilcoxon Signed-Rank Test
- 定义
- 三、 Friedman检验
- 适用场景
- 公式
- python 代码
- Wilcoxon Signed-Rank Test和 cliffs delta
- Friedman
前言
记录一下自非参数检验的学习过程,如有不对请纠正。
非参数检验
非参数检验是一类统计检验方法,它不对数据的分布作出严格假设,尤其是正态性假设。与参数检验(如t检验、ANOVA)不同,非参数检验不需要数据符合特定的分布,因此在处理不符合正态分布的数据或分类数据时非常有用。
特点
无需分布假设: 不要求数据符合特定的分布,如正态分布。
适用于各种数据类型: 不仅适用于连续型数据,还适用于有序数据和分类数据。
鲁棒性: 对异常值和数据的分布形态不敏感。
应用广泛: 常用于小样本和分布未知的数据集。
常见的非参数检验
Mann-Whitney U检验:用于比较两个独立样本的中位数。
Wilcoxon Signed-Rank Test:用于比较两个相关样本的中位数差异。
Kruskal-Wallis检验:用于比较多个独立样本的中位数。
Friedman检验:用于比较多个相关样本的中位数。(至少三组)
注:这些非参数检验在小样本的情况下至少需要5个样本。
一、Cliff’s Delta
Cliff’s Delta(Cliff’s δ)是一个非参数检验,用于衡量两个独立样本之间的差异。它通过比较两个样本的每对数据点来评估一个样本中的值在另一个样本中的值之前或之后出现的频率。(一般用于假设检验的有用补充分析)
The Cliff’s Delta statistic is a non-parametric effect size measure that quantifies the amount of difference between two groups of observations beyond p-values interpretation. This measure can be understood as a useful complementary analysis for the corresponding hypothesis testing.
动机
大致意思:认为非参数检验中仅靠p-value只能表明A和B存在显著差异,但是其差异量的大小是未知的。参考链接
The main contribution of ESMs to the correct interpretation of hypothesis testing has been earlier noticed by Fisher (1925), who argued that p-values do not really inform about the magnitude of a difference between two groups of observations. For example, if treatments A and B produce a statistically significant difference on the dependent variable, the amount of such discrepancy remains unknown. It is correctly concluded that the difference is important, but the researcher can not claim how important it is.
定义
Cliff’s Delta表示两个组的效果大小,范围在-1到1之间:
δ = 1 表示所有值在样本A中都大于样本B。
δ = -1 表示所有值在样本B中都大于样本A。
δ = 0 表示两个样本没有差异。
具体的假设,例如δ>0.33时,则认为ES(effect size)较大。
二、Wilcoxon Signed-Rank Test
Wilcoxon Signed-Rank Test(威尔科克森符号秩检验)是一个非参数统计检验,用于比较两个相关样本或配对样本的中位数差异。它是一种用于检验配对差异是否对称分布的无假设检验方法。
定义
该检验用于评估在一组配对数据中的差异是否显著。适用于:
1.两个配对样本。
2.相关样本之间的比较。
3. 如果p-value的值小于0.05(统计学中一般有0.1,0.05以及0.01),则说明配对样本之间的差异显著。
三、 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_deltareturn 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