12 votos

Prueba estadística para tablas de contingencia n x m

Tengo un conjunto de datos formado por elementos de tres grupos, llamémoslos G1, G2 y G3. He analizado ciertas características de estos elementos y los he dividido en 3 tipos de "comportamiento" T1, T2 y T3 (para ello he utilizado el análisis de conglomerados).

Así que ahora tengo una tabla de contingencia 3 x 3 como esta con los recuentos de elementos en los tres grupos divididos por tipo:

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

Ahora, puedo ejecutar una prueba de Fisher sobre estos datos en R

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

y me sale

   Fisher's Exact Test for Count Data

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

Así que mis preguntas son:

  • ¿es correcto utilizar el test de Fisher de esta manera?

  • ¿Cómo puedo saber quién es diferente de quién? ¿Hay alguna prueba post-hoc que pueda utilizar? Mirando los datos diría que los 3 rd grupo tiene un comportamiento diferente a los dos primeros, ¿cómo lo demuestro estadísticamente?

  • alguien me señaló los modelos logit: ¿son una opción viable para este tipo de análisis?

  • ¿alguna otra opción para analizar este tipo de datos?

Muchas gracias

nico

13voto

reconbot Puntos 1670

En principio, creo que el test de Fisher se utiliza correctamente.

Los datos de recuento se manejan mejor utilizando modelos log-lineales (no logit, para asegurar que los valores ajustados están acotados por debajo). En R se puede especificar family=poisson (que establece errores = Poisson y enlace = log). El enlace logarítmico garantiza que todos los valores ajustados sean positivos, mientras que los errores de Poisson tienen en cuenta el hecho de que los datos son enteros y tienen varianzas que son iguales a sus medias. Por ejemplo glm(y~x,poisson) y el modelo se ajusta con un enlace logarítmico y errores de Poisson (para tener en cuenta la no normalidad).

En los casos en los que hay sobredispersión (la desviación residual debería ser igual a los grados de libertad residuales, si la hipótesis de los errores de Poisson es adecuada), en lugar de utilizar quasipoisson como familia de errores, se podría ajustar un modelo binomial negativo. (Esto implica la función glm.nb del paquete MASS )

En su caso, podría ajustar y comparar modelos utilizando comandos como los siguientes:

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)

Asegúrese siempre de que su modelo mínimo contiene todas las variables molestas.

En cuanto a cómo saber quién es diferente de quién, hay algunas tramas que pueden ayudarte. Función R assocplot produce un gráfico de asociación que indica las desviaciones de la independencia de las filas y columnas en una tabla de contingencia bidimensional.

Estos son los mismos datos representados en forma de mosaico

mosaicplot(data, shade = TRUE)

0 votos

Gracias, es exactamente lo que necesitaba. No estoy del todo seguro de a qué te refieres cuando hablas de la sobredispersión (lo siento, no soy estadístico, quizá sea algo muy básico)... Dices que la desviación residual debe ser igual a los grados de libertad residuales... ¿cómo podría comprobarlo?

0 votos

Si das summary(model1) verás algo como Residual deviance: -2.7768e-28 on 0 degrees of freedom

4voto

Kev Puntos 60744

Puede utilizar multinom del paquete nnet para la regresión multinomial. Las pruebas post-hoc se pueden utilizar linearHypothesis del paquete del coche. Puede realizar la prueba de independencia utilizando linearHypothesis (prueba de Wald) o anova (prueba LR).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X