You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Shapiro正态性检验显著性水平随样本量波动的原因及R模拟解析

这是个挺有意思的问题,刚好涉及到Shapiro-Wilk检验的核心统计特性,咱们一步步来拆解:

1. 为何Shapiro正态性检验的显著性水平会随观测数量波动?

首先得明确:Shapiro-Wilk检验的原假设H₀是数据服从正态分布。理论上,当数据确实符合正态分布时,检验的显著性水平(也就是犯第一类错误的概率)应该等于我们预设的α值(比如0.05),但实际中会随样本量波动,主要原因有这几点:

  • 统计量的分布近似误差:Shapiro-Wilk的核心统计量W,在小样本下有精确的分布推导,但样本量增大后,我们只能用渐近近似分布(比如正态近似)来计算p值。这种近似在不同样本量区间的精度不一样,会导致实际的拒绝率(即显著性水平)偏离理论α。
  • 统计量的离散性:小样本时,W统计量的可能取值很有限,对应的p值是离散的,这会让实际拒绝率和α有明显偏差;当样本量增大到一定程度,W的分布逐渐连续,但渐近近似的精度还在调整,所以会出现波动。
  • 模拟的随机误差:如果是通过模拟观察的话,每次生成的样本都是伪随机的,即使样本量固定,多次模拟的拒绝率也会有波动。样本量变化时,这种随机波动和检验本身的特性叠加,就会让显著性水平看起来在波动。
2. 模拟中p值在30~200区间先升后降并波动的解释

你一开始觉得“样本量越大p值越高”是个很常见的误解,咱们先理清逻辑,再解释现象:

  • 先上升的阶段(30左右):小样本时,Shapiro-Wilk检验的功效极低——哪怕数据确实是正态分布,小样本的抽样偏差很容易让W统计量落到拒绝域里,导致p值偏低(更容易错误拒绝H₀)。当样本量提升到30左右时,抽样的代表性变好,数据分布更接近真实正态,W会更接近1(W越接近1,说明数据越符合正态),对应的p值自然上升,拒绝H₀的概率也向α靠拢,甚至略高于α(因为这个区间的近似分布精度开始变好)。
  • 后下降并波动的阶段(30到200区间):当样本量继续增大,Shapiro-Wilk检验的敏感性会急剧提升——这里要注意,检验的功效原本是指检测“非正态”的能力,但大样本下,它对极其微小的偏离也能检测到。咱们模拟的“正态数据”其实是计算机生成的伪随机数,并不是完美的正态分布,总会有极细微的偏差;当样本量足够大时,检验能捕捉到这些偏差,导致p值下降,甚至出现拒绝H₀的情况。同时这个区间内,渐近近似分布还在不断调整,加上模拟的随机误差,就会出现p值的波动。
  • 随机种子的影响:不同的随机种子会生成不同的伪随机样本,每个样本的抽样偏差程度不一样。小样本时,抽样偏差的影响极大,所以换种子结果差异明显;大样本时,虽然抽样偏差变小,但检验对微小偏差的敏感性高,不同样本的细微偏差不同,也会导致p值变化,所以换种子结果也会有差异。

如果想要更清晰的趋势,你可以做更大规模的模拟(比如每个样本量跑1000次以上),看平均拒绝率的变化:小样本时拒绝率高于α,30左右逐渐降到接近α,随后随着样本量继续增大,拒绝率会慢慢上升(因为检验能检测到伪随机数的微小非正态性),而这个上升过程会伴随波动——毕竟模拟的随机误差始终存在。

内容的提问来源于stack exchange,提问作者joaoal

火山引擎 最新活动