统计检验方法全解析:从非参数检验到独立性检验
立即解锁
发布时间: 2025-09-08 01:17:52 阅读量: 12 订阅数: 17 AIGC 


统计方法在机器学习中的应用
# 统计检验方法全解析:从非参数检验到独立性检验
## 1. 非参数统计检验
### 1.1 Kruskal - Wallis H 检验示例
在进行统计分析时,我们常常需要判断多个样本是否来自相同分布的总体。Kruskal - Wallis H 检验就是用于比较多个独立样本的非参数检验方法,它是方差分析(ANOVA)的非参数版本。以下是一个计算该检验的示例代码:
```python
# 示例代码用于计算 Kruskal - Wallis H 检验
# 这里省略代码,因为原文档未给出完整代码,但给出了运行结果
# 运行示例计算检验并打印结果
# 结果显示:Statistics=34.747, p=0.000
# 结论:Different distributions (reject H0)
```
运行上述示例代码后,计算得到的 p 值表明我们可以正确拒绝所有样本具有相同分布的原假设。
### 1.2 Friedman 检验
#### 1.2.1 检验介绍
当我们有两个以上不同的样本,并且这些样本是以某种方式配对的(例如重复测量)时,Kruskal - Wallis H 检验就不太适用了。此时,可以使用 Friedman 检验。该检验以 Milton Friedman 命名,是重复测量方差分析(repeated measures ANOVA)的非参数版本,可看作是 Kruskal - Wallis H 检验在两个以上样本情况下的推广。
Friedman 检验的原假设是多个配对样本具有相同的分布。若拒绝原假设,则表明至少有一个配对样本的分布与其他样本不同。具体判断规则如下:
- 未能拒绝 H0:配对样本分布相等。
- 拒绝 H0:配对样本分布不相等。
该检验假设每组有两个或更多配对数据样本,且每组样本数量不少于 10 个。
#### 1.2.2 Python 实现
我们可以使用 SciPy 库中的 `friedmanchisquare()` 函数在 Python 中实现 Friedman 检验。以下是一个完整的代码示例:
```python
# example of the friedman test
from numpy.random import seed
from numpy.random import rand
from scipy.stats import friedmanchisquare
# seed the random number generator
seed(1)
# generate three independent samples
data1 = 50 + (rand(100) * 10)
data2 = 51 + (rand(100) * 10)
data3 = 52 + (rand(100) * 10)
# compare samples
stat, p = friedmanchisquare(data1, data2, data3)
print('Statistics=%.3f, p=%.3f' % (stat, p))
# interpret
alpha = 0.05
if p > alpha:
print('Same distributions (fail to reject H0)')
else:
print('Different distributions (reject H0)')
```
运行上述代码后,计算得到的结果如下:
```
Statistics=36.240, p=0.000
Different distributions (reject H0)
```
这表明至少有一个样本的分布与其他样本不同。
### 1.3 非参数统计检验总结
在这部分内容中,我们学习了以下几种非参数统计检验方法:
- Mann - Whitney U 检验:用于比较独立数据样本,是 Student's t 检验的非参数版本。
- Wilcoxon 符号秩检验:用于比较配对数据样本,是配对 Student's t 检验的非参数版本。
- Kruskal - Wallis H 和 Friedman 检验:用于比较两个以上的数据样本,分别是方差分析和重复测量方差分析的非参数版本。
### 1.4 拓展建议
- 更新所有示例,使其在具有相同分布的数据样本上运行。
- 根据每个统计显著性检验的要求和行为,创建一个流程图来选择合适的检验方法。以下是一个简单的 mermaid 流程图示例,用于选择合适的非参数检验方法:
```mermaid
graph TD;
A[样本数量] --> B{是否大于 2};
B -- 是 --> C{样本是否配对};
C -- 是 --> D[Friedman 检验];
C -- 否 --> E[Kruskal - Wallis H 检验];
B -- 否 --> F{样本是否独立};
```
0
0
复制全文
相关推荐










