一個 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 有「因果效應」。以上解釋僅與如何計算「有效」的統計檢定有關。