Statistischer Test für nxm-Kontingenztabellen


12

Ich habe einen Datensatz bestehend aus Elementen aus drei Gruppen, nennen wir sie G1, G2 und G3. Ich habe bestimmte Eigenschaften dieser Elemente analysiert und sie in drei Arten von "Verhalten" T1, T2 und T3 unterteilt (dazu habe ich die Clusteranalyse verwendet).

So, jetzt habe ich eine 3 x 3-Kontingenztabelle mit der Anzahl der Elemente in den drei Gruppen, die nach Typ unterteilt sind:

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

Jetzt kann ich mit diesen Daten in R einen Fisher-Test durchführen

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

und ich verstehe

   Fisher's Exact Test for Count Data

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

Meine Fragen sind also:

  • Ist es richtig, den Fisher-Test auf diese Weise zu verwenden?

  • Woher weiß ich, wer anders ist als wer? Gibt es einen Post-Hoc-Test, den ich verwenden kann? Wenn ich mir die Daten anschaue, würde ich sagen, dass die dritte Gruppe ein anderes Verhalten als die ersten beiden hat. Wie zeige ich das statistisch?

  • Jemand hat mich darauf hingewiesen, Modelle zu protokollieren: Sind sie eine praktikable Option für diese Art der Analyse?

  • Gibt es eine andere Möglichkeit, diese Art von Daten zu analysieren?

Vielen Dank

nico

Antworten:


13

Zunächst denke ich, dass der Fisher-Test richtig angewendet wird.

Zähldaten werden besser mit log-linearen Modellen verarbeitet (nicht mit logit, um sicherzustellen, dass die angepassten Werte unten begrenzt sind). In R können Sie angeben family=poisson(wodurch Errors = Poisson und Link = Log gesetzt werden). Die Protokollverknüpfung stellt sicher, dass alle angepassten Werte positiv sind, während die Poisson-Fehler die Tatsache berücksichtigen, dass die Daten ganzzahlig sind und Abweichungen aufweisen, die ihren Mittelwerten entsprechen. ZB glm(y~x,poisson)und das Modell ist mit einem Log-Link und Poisson-Fehlern ausgestattet (um die Nicht-Normalität zu berücksichtigen).

In Fällen, in denen es zu einer Überdispersion kommt (die Restabweichung sollte den Restfreiheitsgraden entsprechen, sofern die Poisson-Fehlerannahme zutreffend ist), können Sie anstelle quasipoissonder Fehlerfamilie ein negatives Binomialmodell verwenden. (Hierbei handelt es sich um die Funktion glm.nbaus Paket MASS)

In Ihrem Fall können Sie Modelle mit Befehlen wie den folgenden anpassen und vergleichen:

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)

Stellen Sie immer sicher, dass Ihr Minimalmodell alle Störvariablen enthält.

Woher wissen wir, wer von wem verschieden ist? Es gibt einige Grundstücke, die Ihnen helfen können. Die R-Funktion assocploterzeugt ein Assoziationsdiagramm, das Abweichungen von der Unabhängigkeit von Zeilen und Spalten in einer zweidimensionalen Kontingenztabelle angibt.

Hier sind die gleichen Daten wie in einem Mosaikplot aufgezeichnet

mosaicplot(data, shade = TRUE)

Danke, genau das habe ich gebraucht. Ich bin mir nicht ganz sicher, was Sie meinen, wenn Sie über die Überdispersion sprechen (sorry, ich bin kein Statistiker, vielleicht ist es etwas sehr Grundlegendes) ... Sie sagen, dass die Restabweichung gleich den Restfreiheitsgraden sein sollte ... wie würde ich das überprüfen?
Nico

Wenn Sie geben summary(model1), sehen Sie etwas wieResidual deviance: -2.7768e-28 on 0 degrees of freedom
George Dontas

4

Sie können multinom from nnet package für die multinomiale Regression verwenden. Post-hoc-Tests können Sie linearHypothesis aus dem Autopaket verwenden . Sie können den Unabhängigkeitstest mit linearHypothesis (Wald-Test) oder anova (LR-Test) durchführen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.