Тест на гомосексуализм для двухстороннего ANOVA

Я использовал var.test и bartlett.test для проверки базовых допущений ANOVA, среди прочих, гомосексуализма (гомогенности, равенства дисперсий). Процедура достаточно проста для одностороннего ANOVA:

bartlett.test(x ~ g)  # where x is numeric, and g is a factor
var.test(x ~ g)

Но для таблиц 2x2, т.е. двухсторонних ANOVA, я хочу сделать что-то вроде этого:

bartlett.test(x ~ c(g1, g2))  # or with list; see latter:
var.test(x ~ list(g1, g2))

Конечно, предположения ANOVA могут быть проверены с помощью графических процедур, но как насчет "арифметической опции"? Разве это вообще невозможно? Как вы тестируете гомосексуализм в двухстороннем ANOVA?

Ответы

Ответ 1

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

Взгляд на остатки по всем ячейкам является хорошим индикатором, или если ваши данные нормальные, вы можете использовать AIC или BIC с равными отклонениями/без равных значений в качестве процедуры выбора.

Если вы считаете, что существуют неравные отклонения, отбросьте предположение с чем-то вроде:

library(car)
model.lm <- lm(formula=x ~ g1 + g2 + g1*g2,data=dat,na.action=na.omit)
Anova(model.lm,type='II',white.adjust='hc3')

Вы не теряете много силы с помощью надежного метода (хетросбедастически совместимые матрицы ковариации), поэтому, если сомневаетесь, будьте надежны.

Ответ 2

Вы можете проверить гетеросексуальность, используя тест Fligner-Killeen об однородности дисперсий. Предположим, что ваша модель похожа на

model<-aov(gain~diet*supplement)

fligner.test(gain~diet*supplement)

        Fligner-Killeen test of homogeneity of variances

data:  gain by diet by supplement 
Fligner-Killeen:med chi-squared = 2.0236, df = 2, p-value = 0.3636

Вы могли бы использовать bartlett.test (но это скорее тест не нормальности, чем равенство дисперсий)

bartlett.test(gain~diet*supplement)
        Bartlett test of homogeneity of variances

data:  gain by diet by supplement 
Bartlett K-squared = 2.2513, df = 2, p-value = 0.3244

Кроме того, вы можете выполнить Levene test для равных групповых дисперсий как в одностороннем, так и в двухстороннем ANOVA. Реализации теста Levene можно найти в пакетах car (ссылка исправлена), s20x и lawstat

levene.test(gain~diet*supplement)  # car package version

Levene Test for Homogeneity of Variance
      Df F value Pr(>F)
group 11  1.1034 0.3866
      36 

Ответ 3

Для bartlett.test

bartlett.test(split(x,list(g1,g2)))

var.test неприменим, поскольку он работает только при наличии двух групп.