ANOVA на биномиальных данных


32

Я анализирую экспериментальные данные. Данные состоят из парного вектора типа лечения и биномиального исхода:

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

В столбце результатов 1 означает успех, а 0 - сбой. Я хотел бы выяснить, значительно ли меняет результат лечение. Есть 4 различных лечения с каждым экспериментом, повторенным большое количество раз (2000 для каждого лечения).

Мой вопрос, могу ли я проанализировать бинарный результат, используя ANOVA? Или я должен использовать критерий хи-квадрат для проверки биномиальных данных? Кажется, что хи-квадрат предполагает, что пропорция будет равномерно разделена, а это не так. Другая идея состояла бы в том, чтобы суммировать данные, используя соотношение успехов и неудач для каждого лечения, а затем использовать пропорциональный тест.

Мне любопытно услышать ваши рекомендации для тестов, которые имеют смысл для такого рода биномиальных экспериментов успеха / неудачи.

Ответы:


18

Нет ANOVA, которая предполагает нормально распределенную переменную результата (среди прочего). Существуют преобразования «старой школы», но я бы предпочел логистическую регрессию (эквивалентную квадрату хи, когда есть только одна независимая переменная, как в вашем случае). Преимущество использования логистической регрессии по сравнению с тестом хи-квадрат заключается в том, что вы можете легко использовать линейный контраст для сравнения конкретных уровней лечения, если вы обнаружите значительный результат для общего теста (тип 3). Например, A против B, B против C и т. Д.

Обновление добавлено для ясности:

Взяв данные под рукой (набор данных post doc от 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) 

1
@ user2040. Я не понимаю, как бы вы сделали тест типа 3? Это что-то связанное с SAS? (извините, мои знания SAS очень ограничены). Я бы сделал логистическую регрессию, как вы предложили, но с двумя фиктивными переменными. Кроме того, учитывая, что я правильно понимаю, если вы выполняете логистическую регрессию, тестирование, если некоторые или все коэффициенты равны 0, выполняется путем отклонения (или отношения правдоподобия), и это асимптотически Chi-Sq (не обязательно с df = 1)
suncoolsu

1
@suncoolsu: Да, практически, вы должны получить тот же вывод. Я не должен был говорить «эквивалент» (я работаю с большими данными, чтобы они в конечном итоге совпадали). Я добавил код в ответ, чтобы помочь уточнить.
B_Miner

8

Возможно, некоторые считают это старомодным, но если вы хотите проверить только нулевую гипотезу всех групп, имеющих одинаковую вероятность успеха, то вы можете определить как количество успехов в группе , как число испытаний в группе , предполагаемую вероятность в группе будет равна , а затем использовать стабилизирующее дисперсию преобразование для бинома, которое Такой подход был (временами ) достаточно хорош для Фишера, поэтому может пригодиться и сегодня!ИксККNКККп^Кзнак равноИксК/NК

г(п)знак равноагсзшп

Однако некоторые современные авторы весьма скептически относятся к преобразованию арксинуса, см., Например, http://www.mun.ca/biology/dschneider/b7932/B7932Final10Dec2010.pdf. Но эти авторы обеспокоены такими проблемами, как прогнозирование, где они показывают Арксинус может привести к проблемам. Если вас интересует только проверка гипотез, все должно быть в порядке. Более современный подход мог бы использовать логистическую регрессию.


4
(+1) ... если все группы имеют одинаковое нет. наблюдения.
Scortchi - Восстановить Монику

1
Или можно использовать веса, основанные на количестве наблюдений.
kjetil b halvorsen

3

Я хотел бы отличаться от того, что вы думаете о тесте Chi-Sq. Это применимо, даже если данные не являются биномиальными. Он основан на асимптотической нормальности mle (в большинстве случаев).

Я бы сделал логистическую регрессию следующим образом:

журналπ^1-π^знак равноβ0+β1×D1+β2×D2

где

D1 и фиктивные переменные. D2D1знак равноD2знак равно0A,D1знак равно1,D2знак равно0В,D1знак равно1D2знак равно1С

ЧАСо:β0знак равноβ1знак равноβ2знак равно0

Является ли эквивалент ANOVA, если есть отношение или нет.

ЧАСо:β0знак равно0

Является ли тест А имеет некоторый эффект.

ЧАСо:β1-β0знак равно0

Является ли тест B имеет некоторый эффект.

ЧАСо:β2-(β0+β12)знак равно0

Это тест С имеет некоторый эффект.

Теперь вы можете сделать дополнительные контрасты, чтобы найти то, что вас интересует. Это все еще тест chi-sq, но с различными степенями свободы (3, 1, 1 и 1 соответственно)


Мне все еще нужно думать о контрасте. Я исправлю это всякий раз, когда у меня будет время. К сожалению об этом
Suncoolsu

-3

Я думаю, что вы правы, что ANOVA не следует использовать для анализа биномиальной зависимой переменной. Многие люди используют это, чтобы сравнить средние значения переменной двоичного отклика (0 1), но это не должно использоваться, потому что это серьезно нарушает допущение дисперсии нормальности и равенства. Тесты хи-квадрат или логистическая регрессия лучше всего подходят для таких ситуаций.


То же, что ваш ответ здесь .
Scortchi - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.