一个 2x2 列联表包含来自回顾性数据的变量 X1 和 Y 的计数。目标是检验 X1 和 Y 之间的关联性。该列联表中有四个单元格(25%)的预期计数小于 5,因此卡方独立性检验无效。
如果数据是回顾性的,并且 X1 和 Y 的计数不是“固定的”(即,X1 和 Y 不是经过设计的实验或计划的,它们只是被观察到的,并且测试是临时进行的),那么 Fisher 精确检验是否是一种有效的替代方法?

这个网站(以及其他一些网站)指出,当一个变量或两个变量都未预先“固定”时,费舍尔精确检验是保守的: https://www.biostathandbook.com/fishers.html
就你的情况而言,皮尔逊卡方检验的p值为0.00000202645594483411,费舍尔精确检验的p值为0.000101189787981198。这两个p值都很小,所以我认为你可以同时使用这两个结果(因为通常我们只在p值小于0.001时才说“p<0.001”)。
在统计检验中,“有效”意味着检验能够始终控制第一类错误,即检验的第一类错误概率必须始终小于或等于名义上的α水平。
皮尔逊卡方检验是一种渐近检验,它无法控制I类错误。当某些预期计数较小时,卡方检验的这种“无效性”会更加明显。这条非常粗略的经验法则——“某些预期计数小于5”——有时被称为“科克伦法则”。
Fisher 精确检验始终能控制 I 类错误。也就是说,Fisher 精确检验的 I 类错误概率始终小于或等于标称显著性水平 α。如果您在意假阳性结果,Fisher 精确检验可能是一个不错的选择。如果您在意假阴性结果,Pearson 卡方检验可能更合适。
正如你所说,费舍尔精确检验实际上并不“精确”。它几乎总是保守的(至少在奈曼-皮尔逊意义上是如此)。费舍尔精确检验仅在上述意义上是“有效的”。所有离散变量的“精确”检验和“精确”置信区间(不进行随机化以打破离散性)都变成了保守的。例如,二项概率的精确检验和精确置信区间(也称为克洛珀-皮尔逊置信区间)也是保守的。
DRCox教授将这种“修正”称为“技术性调整”。虽然人们对此往往无意识,但最常用的技术性调整是回归分析(例如线性回归、逻辑回归等)。即使回归模型中的X变量通常是随机变量,我们在计算置信区间和检验时通常也会“修正”X变量。人们通常并不关心X变量之间的关系。我们可以通过“技术性调整”来消除这些干扰因素。
如果两组数据分别来自两个无限独立的二项分布,那么设计只固定了行总数(例如,n1 和 n2)。即便如此,如果两个二项分布的概率相等,我们可以将这个过程理解为:首先从一个无限独立的二项分布中抽取 n1 + n2 个个体,然后将第一个样本分成 n1 和 n2 两部分。这种两步抽样与从两个无限总体中一步抽样完全相同。而且,当我们首先抽取 n1 + n2 个个体时,第一个样本中的事件数和非事件数就固定了。
在你的例子中,数据可以看作是从一个多项分布中随机抽取的 108 个个体,而原假设 H0 必须是“p11/p12 = p21/p22”。假设你的总体是无限的,其中包含无限多个红球和黑球。首先,从这个无限总体中抽取 108 个球。这第一个样本确定了列总数(在你的例子中是 98 和 10),与上述二项分布的情况相同。然后,将这个样本分成两组。这确定了行总数(在你的例子中是 90 和 18)。这种两步抽样方法生成的分布与从单一多项分布中抽取的原始样本相同。
请注意,2x2 列联表的自由度为 1,而不是 2、3 或 4。这意味着卡方检验也会“修正”列总计和行总计。
总之,费舍尔精确检验总是偏保守的。而且,这种保守性在小样本量下更为明显。卡方检验是渐近检验,虽然有时无法控制I类错误,但它不会出现这种“过于保守”的结果。
另外需要注意的是,在这种情况下,我猜你不能说 X1 对 Y 存在“因果效应”。以上解释仅与如何计算“有效”的统计检验有关。