Logistic

二項式數據的方差分析

  • January 3, 2011

我正在分析一個實驗數據集。數據由治療類型的配對向量和二項式結果組成:

Treatment    Outcome
A            1
B            0
C            0
D            1
A            0
...

在結果欄中,1 表示成功,0 表示失敗。我想弄清楚治療是否會顯著改變結果。有 4 種不同的處理,每個實驗重複很多次(每個處理 2000 次)。

我的問題是,我可以使用 ANOVA 分析二元結果嗎?還是我應該使用卡方檢驗來檢查二項式數據?似乎卡方假設比例會平均分配,但事實並非如此。另一個想法是使用每種治療的成功與失敗的比例來總結數據,然後使用比例檢驗。

我很想听聽您對對這類二項式成功/失敗實驗有意義的測試的建議。

否 ANOVA,它假設一個正態分佈的結果變量(除其他外)。有“老派”轉換需要考慮,但我更喜歡邏輯回歸(當只有一個自變量時相當於卡方,就像你的情況一樣)。與卡方檢驗相比,使用邏輯回歸的優勢在於,如果您發現整體檢驗(類型 3)的顯著結果,您可以輕鬆地使用線性對比來比較治療的特定水平。例如 A 對 B、B 對 C 等。

為清楚起見添加了更新:

獲取手頭的數據(來自Allison的博士後數據集)並使用變量 cits 如下,這是我的觀點:

postdocData$citsBin <- ifelse(postdocData$cits>2, 3, postdocData$cits)
postdocData$citsBin <- as.factor(postdocData$citsBin)
ordered(postdocData$citsBin, levels=c("0", "1", "2", "3"))
contrasts(postdocData$citsBin) <- contr.treatment(4, base=4) # set 4th level as reference
contrasts(postdocData$citsBin)
    #   1 2 3
    # 0 1 0 0
    # 1 0 1 0
    # 2 0 0 1
    # 3 0 0 0

# fit the univariate logistic regression model
model.1 <- glm(pdoc~citsBin, data=postdocData, family=binomial(link="logit"))

library(car) # John Fox package
car::Anova(model.1, test="LR", type="III") # type 3 analysis (SAS verbiage)
    # Response: pdoc
    #          LR Chisq Df Pr(>Chisq)
    # citsBin   1.7977  3     0.6154

chisq.test(table(postdocData$citsBin, postdocData$pdoc)) 
    # X-squared = 1.7957, df = 3, p-value = 0.6159

# then can test differences in levels, such as: contrast cits=0 minus cits=1 = 0
# Ho: Beta_1 - Beta_2 = 0
cVec <- c(0,1,-1,0)
car::linearHypothesis(model.1, cVec, verbose=TRUE) 

引用自:https://stats.stackexchange.com/questions/5935

comments powered by Disqus