Homoscedascity тестируют на Двухстороннюю ANOVA

Я использовал var.test и bartlett.test проверять основные предположения ANOVA, среди других, homoscedascity (однородность, равенство различий). Процедура довольно проста для Односторонней 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 могут быть проверены с графическими процедурами, но что относительно "арифметической опции"? Это, вообще, управляемо? Как Вы тестируете homoscedascity в Двухсторонней ANOVA?

15
задан aL3xa 29 May 2010 в 00:59
поделиться

3 ответа

Проверка гипотез - неправильный инструмент для оценки достоверности предположений модели. Если размер выборки мал, у вас нет возможности обнаружить какие-либо различия в дисперсии, даже если эти различия велики. При большом объеме выборки у вас есть возможность обнаружить даже самые незначительные отклонения от равной дисперсии, поэтому вы почти всегда отвергнете нулевое значение. Имитационные исследования показали, что предварительное тестирование предположений модели приводит к ненадежным ошибкам типа 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')

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

18
ответ дан 1 December 2019 в 02:09
поделиться

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

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's K-squared = 2.2513, df = 2, p-value = 0.3244

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

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

Levene's Test for Homogeneity of Variance
      Df F value Pr(>F)
group 11  1.1034 0.3866
      36 
7
ответ дан 1 December 2019 в 02:09
поделиться

Для bartlett.test

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

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

5
ответ дан 1 December 2019 в 02:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: