这是一个很好的问题,但也是一个很大的问题。我不认为我可以提供一个完整的答案,但我会抛出一些值得深思的东西。
首先,在您的首要要点下,您所指的修正被称为耶茨对连续性的修正。问题是我们计算了一个离散的推理统计:
χ2=∑(O−E)2E
(它是离散的,因为在列联表中仅表示有限数量的实例,该统计可以采用的可能实现值的数量有限。)尽管如此,它还是与连续参考分布(即. , 的χ2 自由度分布(r−1)(c−1))。这必然导致某种程度的不匹配。对于特别小的数据集,并且如果某些单元格的预期值小于 5,则 p 值可能太小。耶茨的修正对此进行了调整。
具有讽刺意味的是,相同的潜在问题(离散连续不匹配)可能导致 p 值太高。具体来说,p 值通常被定义为获得极端或更多数据的概率比观察到的数据。对于连续数据,可以理解得到任何精确值的概率非常小,因此我们确实有数据更极端的概率。但是,对于离散数据,获得与您一样的数据的可能性是有限的。仅计算获得比您的数据更极端的数据的概率会产生太低的名义 p 值(导致 I 型错误增加),但包括获得与您相同的数据的概率会导致名义 p 值太高(这会导致 II 型错误增加)。这些事实提示了中间 p 值的想法。在这种方法下,p 值是数据比你的更极端的概率加上一半数据的概率与您的相同。
正如您所指出的,测试列联表数据有很多可能性。各种方法的优缺点最全面的处理就在这里。该论文专门针对 2x2 表,但您仍然可以通过阅读它来了解有关列联表数据选项的很多信息。
我也确实认为值得认真考虑模型。卡方等较旧的测试快速、简单且被许多人理解,但不会像构建适当的模型那样让您对数据有全面的了解。如果将列联表的行 [列] 视为响应变量并将列 [行] 视为解释/预测变量是合理的,那么建模方法很容易遵循。例如,如果你只有两行,你可以建立一个逻辑回归模型;如果有多个列,您可以使用参考单元编码(虚拟编码)来构建 ANOVA 类型的模型。另一方面,如果您有超过两行,多项逻辑回归可以以相同的方式使用。如果您的行具有内在顺序,则序数逻辑回归将产生优于多项式的性能。在我看来,除非您有超过二维的列联表,否则对数线性模型(泊松回归)可能不太相关。
对于此类主题的综合处理,最好的来源是 Agresti 的书籍:他的全面处理(更严格),他的介绍书(更简单但仍然全面且非常好),或者可能还有他的序数书。
更新: 只是为了可能测试列表的完整性,我想到我们可以添加似然比测试(通常称为'G2-test')。这是:
G2=∑O⋅ln(OE)
这也以卡方分布,并且几乎总是会产生相同的决定。这两个统计数据的实际值通常相似,但略有不同。在特定情况下哪个会更强大的问题是相当微妙的。我认为这是某些领域传统的默认选择。我不一定主张将其用于传统测试;正如我所说,我只是为了完整性而列出它。