卡方检验自动求解器

所属分类:医学统计模型

这个方法是做什么的

两个定类变量的独立性检验,区别在于方法由数据自己定:全部期望频数都够大时用 Pearson 卡方;表恰为 2×2 且总样本量 n<40 或最小期望频数 <1 时改用 Fisher 精确检验;2×2 表且最小期望频数落在 1 到 5 之间时用 Yates 连续性校正。第一张卡把判定依据摆得很明白——最小期望频数 T 与总样本量 n 各是多少、结论是哪一条,第二张卡还有一张“各候选检验方法结果对照”表,标★的那行就是本次采用者。

产品里另有几个各自固定一种口径的模块:「Pearson卡方检验」只出 Pearson 卡方,「Yates校正卡方检验」做连续性校正(它的说明里也写明该校正专为 2×2 表设计),「Fisher精确检验」走精确枚举且只收 2×2 表,「卡方检验」则带一个“检验类型”控件由你自己指定。它们与本模块算的是同一批统计量,差别只在于谁来决定用哪一个——方法已经定了就用前面几个,想让数据自己判就用这一个。

除了主检验,报告给独立性假设下的逐格期望频数表、Cramér's V 与 Cohen's w(含由非中心卡方分布反演得到的 95% 置信区间)、列联系数 C,以及两套事后分析:逐格调整标准化残差的 z 检验(带 Holm 校正),回答“独立性被哪几格打破”;列水平两两抽出子表再做卡方(分割卡方,同样带 Holm 校正),回答“具体是哪两个水平不同”。第三张卡的残差热力图与前者同源。

需要准备什么数据

  • 分组变量X (行):定类变量(分组/标签)
  • 分组变量Y (列):定类变量(分组/标签)
  • 权重变量(可选):定量变量(数值)

数据要求

  • 数据表至少 20 行。
  • 单列缺失率不超过 20%。
  • 不接受取值全都一样的列(零方差列没有可分析的变异)。
  • 「分组变量X (行)」的类别数需在 2~15 之间。
  • 「分组变量Y (列)」的类别数需在 2~15 之间。

以上条目由系统从该方法的校验规则直接生成,与上传数据时的实际拦截规则一致。

什么时候用它

  • 两个定类变量,你不确定该用 Pearson、Yates 还是 Fisher,想让数据自己说了算
  • R×C 表,既要整体检验,也要知道是哪几格造成了关联
  • 列水平多于两个,需要定位到具体哪两个水平之间有差异
  • 手上是已经汇总好的频数表:可以用权重变量喂进来

数据要求:至少 20 行、缺失比例不超过 20%、不允许常数列;行、列各 2~15 个类别。它真正的前提只有两条——观测相互独立(每个个体只落进一格,配对与重复测量数据不适用),以及期望频数足够支撑近似。它不要求正态,也不要求方差齐,那是计量资料才有的概念。

什么时候不要用它

  • 两列是同一批对象的前后两次测量:独立性被破坏,用「配对卡方检验」。
  • 表恰为 2×2,而你要的是精确 p 加上 RR、风险差与 NNT/NNH:用「Fisher精确检验」,它的效应量卡比这里更全。
  • 要在多个层内控制混杂:用「分层卡方分析」;要同时调整多个协变量则用「逻辑回归」。
  • 只有一个变量,你问的是它的分布是否符合某个理论比例:用「卡方拟合优度检验」。
  • 行列都有序、你关心的是等级趋势而不是任意关联:用「Ridit分析」或「Kendall’s tau-b相关分析」。

容易误读的地方

  • 自动选法只对 2×2 表生效;R×C 表遇到稀疏格只会警告,不会换方法。 实测一张 2×3 表、最小期望频数 T=1.00、T<5 的格占 33.3%,卡①如实判“不满足,χ² 近似不可靠”,可卡②标★的仍然是 Pearson 卡方,而候选方法对照表里只有 Pearson 与似然比 G² 两行——根本没有 Fisher 这一行(它在候选表“适用条件”列里写的就是仅 2×2 表)。同时卡①的提示文案还写着“参考卡②中 Fisher/似然比的结果”,照着找会扑空。R×C 表碰到这种情况,正确做法是先合并低频类别再重跑。
  • 效应量永远按未校正的 Pearson χ² 计算,即使主检验是 Yates 或 Fisher。 卡④的表注明确写着这是与 SPSS/R 一致的口径。于是会出现“主检验用了 Fisher,Cramér's V 却来自 Pearson”的组合——这不是 bug,但论文里必须写清楚效应量的计算口径,否则读者会拿它去反推 χ²。
  • 选到 Fisher 时主结果表的 χ² 显示为 N/A,摘要也会写成“χ²=N/A”。 精确法直接由超几何分布算 p,本来就没有检验统计量与自由度,表注对此有一句说明。实测一张 n=30、T=3.67 的 2×2 表就是这样,不要当成计算失败或数据有问题。
  • 大样本下再微弱的关联也会显著,p 值单独看没有意义。 示例 χ²=20.654、p<0.001,看着很硬,而 Cramér's V 只有 0.262,按 Cohen(1988) 判读是“小”。区间也要一起看:V 的 95%CI 由非中心参数反演得到,下端触及 0 就说明样本还不足以排除“无关联”,小样本时上端还会被截断到定义域边界并在表注里说明。
  • 逐格残差有两处结论,下笔要用卡④的 Holm 校正列。 卡③的热力图与文案按 |z|>1.96 判,示例说“|z|>1.96 的格子共 4 个”,随即指向卡④;卡④的逐格表则给未校正 p 与 Holm 校正 p 两列,示例里两者恰好都是 4 格,但格子一多就未必——6 格同时检验时,未校正 p 会系统性偏乐观。同理,列水平的两两分割卡方也要读校正列——它的作用是在整体关联成立之后,把差异定位到具体是哪两个水平。

报告里有什么

  1. 输出结果一:数据概览与前提检验
  2. 输出结果二:卡方检验主结果表
  3. 输出结果三:可视化(交叉图与残差热力图)
  4. 输出结果四:效应量与事后分析
  5. 输出结果五:结论与学术表述
吸烟状况和疾病严重程度的交叉图
图1 吸烟状况和疾病严重程度的交叉图
各格调整标准化残差热力图
图2 各格调整标准化残差热力图
您可以通过图表上方的控件切换指标(如频数、行/列百分比)和图表类型;也可用左上角的视图切换器在柱状图/条形图/数据表之间切换。

在线统计分析平台 · 233 种分析方法 · AI 智能解读

在线使用
使用教程