Статистический тест для таблиц сопряженности nxm

12

У меня есть набор данных, состоящий из элементов из трех групп, назовем их G1, G2 и G3. Я проанализировал некоторые характеристики этих элементов и разделил их на 3 типа «поведения»: T1, T2 и T3 (для этого я использовал кластерный анализ).

Итак, теперь у меня есть таблица непредвиденных обстоятельств 3 x 3, подобная этой, с количеством элементов в трех группах, разделенных по типу:

      |    T1   |    T2   |    T3   |
------+---------+---------+---------+---
  G1  |   18    |   15    |   65    | 
------+---------+---------+---------+---
  G2  |   20    |   10    |   70    |
------+---------+---------+---------+---
  G3  |   15    |   55    |   30    |

Теперь я могу запустить тест Фишера на этих данных в R

data <- matrix(c(18, 20, 15, 15, 10, 55, 65, 70, 30), nrow=3)
fisher.test(data)

и я получаю

   Fisher's Exact Test for Count Data

data:  data 
p-value = 9.028e-13
alternative hypothesis: two.sided     

Итак, мои вопросы:

  • правильно ли использовать тест Фишера таким образом?

  • как узнать кто отличается от кого? Могу ли я использовать специальный тест? Глядя на данные, я бы сказал, что 3- я группа отличается от первых двух, как мне показать это статистически?

  • кто-то указал мне на логит моделей: они являются жизнеспособным вариантом для этого типа анализа?

  • любой другой вариант для анализа этого типа данных?

Большое тебе спасибо

Nico

Nico
источник

Ответы:

13

Сначала я думаю, что тест Фишера используется правильно.

Данные подсчета лучше обрабатываются с использованием лог-линейных моделей (не логит, чтобы гарантировать, что приведенные значения ограничены ниже). В R вы можете указать family=poisson(который устанавливает ошибки = Пуассона и ссылку = журнал). Ссылка на журнал гарантирует, что все установленные значения являются положительными, а ошибки Пуассона учитывают тот факт, что данные являются целочисленными и имеют отклонения, равные их средним значениям. например, glm(y~x,poisson)и модель снабжена лог-связью и ошибками Пуассона (для учета ненормальности).

В тех случаях, когда имеет место чрезмерная дисперсия (остаточное отклонение должно быть равно остаточным степеням свободы, если уместно допущение ошибок Пуассона), вместо использования в quasipoissonкачестве семейства ошибок вы можете использовать отрицательную биномиальную модель. (Это включает в себя функцию glm.nbиз пакета MASS)

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

observed <- as.vector(data)
Ts<-factor(rep(c("T1","T2","T3"),each=3))
Gs<-factor(rep(c("G1","G2","G3"),3))

model1<-glm(observed~Ts*Gs,poisson)

#or and a model without the interaction terms
model2<-glm(observed~Ts+Gs,poisson)


#you can compare the two models using anova with a chi-squared test
anova(model1,model2,test="Chi")
summary(model1)

Всегда убедитесь, что ваша минимальная модель содержит все переменные неприятности.

Что касается того, как мы узнаем, кто отличается от кого, есть некоторые сюжеты, которые могут вам помочь. Функция R assocplotсоздает график связи, указывающий на отклонения от независимости строк и столбцов в двумерной таблице сопряженности.

Здесь представлены те же данные, что и на мозаичном графике.

mosaicplot(data, shade = TRUE)
Джордж Донтас
источник
Спасибо, это именно то, что мне было нужно. Я не совсем уверен, что вы имеете в виду, когда говорите о чрезмерной дисперсии (извините, я не статистик, может быть, это что-то очень простое) ... Вы говорите, что остаточное отклонение должно быть равно остаточным степеням свободы ... как бы я это проверить?
Нико
Если вы дадите, summary(model1)вы увидите что-то вродеResidual deviance: -2.7768e-28 on 0 degrees of freedom
Джордж Dontas
4

Вы можете использовать мультином из пакета nnet для полиномиальной регрессии. После специальных тестов вы можете использовать линейную гипотезу из автомобильной упаковки. Вы можете провести тест на независимость, используя линейную гипотезу (тест Вальда) или анову (тест LR).

Войтек
источник