张春成

V2

2022/04/09阅读:23主题:默认主题

合适的统计检验方法

合适的统计检验方法

统计检验是个非常复杂的话题。

它在形式上通常非常简单, 对于任何统计检验方法, 你都能喂给它任意两组数, 然后它反馈给你一个 值。

因此,如何选择合适的统计检验方法, 让 值能够具有明确的统计意义, 就成了问题的关键。

本文将以转换检验的例子出发, 尝试引出一些有意思的检验方法。


转换检验的例子

置换检验是一种实用的非参数检验方法。 通常来讲,如果你的样本没有明确的先验分布, 那么可以用样本转换的方法, 对自然分布进行估计, 那么观测值在该分布中的位置, 就是观测值出现的概率

首先确定样本归属

我们关心的是观测值的统计量( )之间是否具有显著的差异, 因此零假设是它们之间没有差异

所要求的 值, 就是上式成立的概率。

然而,在相当多的情况下, 我们事先并不知道 服从何种分布,

这里,我们用 指代 的未知分布。 因此概率更无从谈起。

置换检验的方法十分简单粗暴, 是直接通过随机转换的方法对 进行估计,

所谓“置换”,就是对两类样本进行随机置换

因此,概率密度函数可以看作下式

其中, 分别代表随机置换后的两类样本。 概率密度函数的变量 代表新样本的统计量之间的差异, 而数值是置换结果出现在该数值的小邻阈内的数量比例, 一般以直方图的形式给出。

而实际观测值的 值, 就可以从新的分布 中轻易得到

这里为了简单起见, 也不失一般性, 只取了单尾的结果。

置换检验的错用

然而,虽然置换检验本身没有任何问题, 但在一种情况下, 它会以较大的概率, 给出不正确的结果。

具体设置如下, 我首先生成两组相同分布的随机变量, 均服从标准正态分布, 且相互独立, 两组数据唯一不同的是样本总量不同。

# Two data following standard normal distribution
data1 = np.random.randn(400)
data2 = np.random.randn(110)

之后,从中各取出100个样本, 进行置换检验, 统计量为样本均值

其中, 代表样本数量。

此过程重复100次, 置换检验给出的 值的直方图如下

permutation-test-1
permutation-test-1

从图中可以看到, 转换检验会以相当大的概率报告出 “两组数据具有统计差异( 值小于 )” 这一错误结果。

很显然, 置换检验用在这种情况下, 属于用错了。

置换检验的类型

为了纠正错误, 我们需要看看正确用法, 需要查查 手册[1], 有用的部分如下图

permutation-test-2
permutation-test-2

它将检验分为三类, 每类适合的统计量和检验方法各有不同。 它可能有点绕, 我做三个表来说明这个问题, 其中要比较的是表的后两列, 即两种观测值之间的差异。

  • samples 类

    samples Observation A Observation B
    Sample samples(pair)
    Sample samples(pair)

    它代表两组样本来自相同的“观测”方式, 观测不同的样本。 你可以把它想象成两把尺子测量两类工件(比如来自两个工厂的同样工件)的长度。 这里有一个要求, 就是两把尺子的观测是配对的。 在这种情况下, 适合的典型检验方法是“配对T检验”和“符号秩检验”, 用来检验两把尺子是否一致。

  • parings 类

    parings Observation A Observation B
    Sample parings parings
    Sample

    它代表测量样本来自一个厂家, 但尺子有两把。 要检验的内容是两把尺子是否一致。 适合的典型检验方法是各种姿势的“相关性检验”, 检验的内容是二者的趋势是否一致。

  • independent 类

    indep. Observation A Observation B
    Sample indep.
    Sample indep.

    它代表尺子不同,工件厂家也不同, 适合的典型检验方法是“独立样本T检验”和“秩和检验”, 只能粗暴地检验两组数值是否相同。 这里与 Samples 类不同的地方是不要求观测是配对的。

虽然弄清楚了置换检验的类型, 但问题是在我们之前的场景下, 两个正态分布是独立的, 采样也是独立的, 使用独立样本T检验的思想似乎没有问题。

但思想没有问题, 并不意味着行为一定是正确的。 在此我们注意到, 两个正态分布总体的样本量分别为 , 这就导致在采样 个的情况下, 二者均值的标准差不一致, 因此不适用于直接进行独立样本T检验。

那么我们转而进行“秩和检验”, 结果如下,

permutation-test-3
permutation-test-3

可以看到, 犯错的概率明显减小。

这是个很小的例子, 但说明统计检验这个事情, 要慎之又慎。

参考资料

[1]

手册: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.permutation_test.html

分类:

后端

标签:

后端

作者介绍

张春成
V2