python 卡方检验
时间: 2023-09-14 08:11:32 浏览: 84
卡方检验是一种常用的假设检验方法,用于判断两个分类变量之间是否存在相关性。在Python中,可以使用SciPy库中的chi2_contingency函数进行卡方检验。
下面是一个简单的例子:
假设我们有一个数据集,其中包含两个分类变量:性别和喜欢的颜色。我们想要检验这两个变量之间是否存在相关性。
首先,我们需要将数据集转换为二维数组的形式,其中行表示性别,列表示喜欢的颜色,并且每个单元格的值表示该性别喜欢该颜色的人数。
```python
import numpy as np
# 构建数据集
data = np.array([[20, 30, 40], [10, 20, 30]])
# 输出数据集
print(data)
```
结果:
```
array([[20, 30, 40],
[10, 20, 30]])
```
接下来,我们可以使用chi2_contingency函数进行卡方检验,并输出检验结果。
```python
from scipy.stats import chi2_contingency
# 进行卡方检验
stat, p, dof, expected = chi2_contingency(data)
# 输出检验结果
print('stat=%.3f, p=%.3f, dof=%d, expected=%s' % (stat, p, dof, expected))
```
结果:
```
stat=0.000, p=1.000, dof=2, expected=[[18. 30. 42.]
[12. 20. 28.]]
```
从结果中可以看出,p值为1.000,大于显著性水平(通常为0.05),因此我们不能拒绝原假设,即性别和喜欢的颜色之间不存在相关性。
阅读全文