如何在 python 中执行 fisher 精确检验
Fisher 精确检验用于确定两个 calcategories 变量之间是否存在显着关联。
当 2 × 2 表中的一个或多个单元格计数小于 5 时,它通常用作独立性卡方检验的替代方法。
本教程介绍如何在 Python 中执行 Fisher 精确检验。
示例:Python 中的 Fisher 精确检验
假设我们想知道性别是否与特定大学对政党的偏好有关。
为了探究这一点,我们随机调查了校园内的 25 名学生。按性别划分的民主党或共和党学生人数如下表所示:
民主党人 | 共和党人 | |
---|---|---|
女性 | 8 | 4 |
男性 | 4 | 9 |
为了确定性别和政党偏好之间是否存在统计上显着的关联,我们可以使用以下步骤在Python中执行Fisher精确检验:
第 1 步:创建数据。
首先,我们将创建一个表来保存数据:
data = [[8, 4], [4, 9]]
步骤 2:执行 Fisher 精确检验。
接下来,我们可以使用 SciPy 库中的fisher_exact 函数执行 Fisher 精确测试,该函数使用以下语法:
Fisher_exact(表,替代=’两张脸’)
金子:
- 表: 2×2 列联表
- 替代:定义替代假设。默认为“双面”,但您也可以选择“更少”或“更大”进行单面测试。
下面的代码展示了如何在我们的具体示例中使用该函数:
import scipy.stats as stats print(stats.fisher_exact(data)) (4.5, 0.1152)
用于测试的 p 值为0.1152 。
Fisher 精确检验使用以下原假设和备择假设:
- H 0 :(零假设)两个变量是独立的。
- H 1 :(替代假设)两个变量不是独立的。
由于该 p 值不小于 0.05,因此我们不拒绝原假设。
因此,我们没有足够的证据表明性别和政党偏好之间存在显着关联。
换句话说,性别和政党偏好是独立的。