Log-lineare Modelle sind möglicherweise eine weitere Option, wenn Sie Ihre bidirektionale Datenstruktur untersuchen möchten.
Wenn Sie davon ausgehen, dass die beiden Stichproben übereinstimmen (dh es besteht eine gewisse Abhängigkeit zwischen den beiden Reihen von Positionen), und Sie berücksichtigen, dass es sich bei den Daten tatsächlich um Zählungen handelt, die als Bewertungen oder geordnete Antworten betrachtet werden können (wie von @caracal vorgeschlagen) ), dann können Sie sich auch Randmodelle für Matched-Pair-Modelle ansehen, bei denen normalerweise eine quadratische Kontingenztabelle analysiert wird. Es muss nicht unbedingt der Fall sein, dass Sie eine solche quadratische Tabelle erhalten, aber wir können auch eine Obergrenze für die Anzahl der z. B. passiven Sätze festlegen. Wie auch immer, Modelle für übereinstimmende Paare werden in Kapitel 10 von Agresti, Kategoriale Datenanalyse, gut erklärt . Relevante Modelle für Ordnungskategorien in quadratischen Tabellen testen auf Quasi-Symmetrie(Der Unterschied in der Wirkung einer Kategorie von einem Fall zum anderen folgt einem linearen Trend in den Kategoriewerten), bedingte Symmetrie ( oder , ) und quasi-einheitliche Assoziation (linear-durch-lineare Assoziation außerhalb der Hauptdiagonale, was im Fall von Scores mit gleichem Intervall eine einheitliche lokale Assoziation bedeutet). Die ordinale Quasi-Symmetrie (OQS) ist ein Sonderfall des linearen Logit-Modells und kann mit einem einfacheren Modell verglichen werden, bei dem bei einem LR-Test nur eine marginale Homogenität gilt, da ordinale Quasi-Symmetrie + marginale Homogenität Symmetrie.πab<πabπab>πab∀a,b=
Nach Agrestis Notation (S. 429) betrachten wir geordnete Scores für die Variable (in Zeilen) und die Variable (in Spalten); oder bezeichnet eine beliebige Zeile oder Spalte. Das OQS-Modell lautet wie folgt: logarithmisch lineares Modell:u1≤⋯≤uIXYab
logμab=λ+λa+λb+βub+λab
wobei für alle . Im Vergleich zum üblichen QS-Modell für das , würde die Unabhängigkeit zwischen den beiden Variablen bedeuten Im OQS-Modell wir ( die Idee eines linearen Trends eingeführt wird). Die äquivalente Logit-Darstellung lautet für .λab=λbaa<blogμab=λ+λXa+λYb+λabλab=0λYb−λXb=βublog(πab/πba)=β(ub−ua)a≤b
Wenn , haben wir Symmetrie als Sonderfall dieses Modells. Wenn , dann haben wir stochastisch geordnete Ränder, dh bedeutet, dass der Spaltenmittelwert im Vergleich zum Zeilenmittelwert höher ist (und je größer , desto größer sind die Unterschiede zwischen den beiden gemeinsamen Wahrscheinlichkeitsverteilungen und sind, was sich in den Unterschieden zwischen Zeilen- und Spaltenrandverteilungen widerspiegelt. Ein Test von entspricht einem Test der marginalen Homogenität. Die Interpretation des geschätzten ist einfach: Die geschätzte Wahrscheinlichkeit, dass die Variable istβ ≠ 0 β > 0 | β | π a b π b ein β = 0 β X x Y exp ( β x ) ββ=0β≠0β>0|β|πabπbaβ=0βXx Einheiten, die positiver als die Punktzahl auf sind mal die umgekehrte Wahrscheinlichkeit. In Ihrem speziellen Fall bedeutet dies, dass möglicherweise die Quantifizierung des Einflusses ermöglicht, den ein bestimmter Sprecher auf den anderen ausübt.Yexp(β^x)β^
Zu beachten ist, dass Laura Thompson den gesamten R-Code in ihrem S-Handbuch zur Begleitung der kategorialen Datenanalyse von Agresti zur Verfügung stellte .
Im Folgenden stelle ich einen Beispiel-R-Code zur Verfügung, damit Sie mit Ihren eigenen Daten spielen können. Versuchen wir also zunächst, einige Daten zu generieren:
set.seed(56)
d <- as.data.frame(replicate(2, rpois(420, 1.5)))
colnames(d) <- paste("S", 1:2, sep="")
d.tab <- table(d$S1, d$S2, dnn=names(d)) # or xtabs(~S1+S2, d)
library(vcdExtra)
structable(~S1+S2, data=d)
# library(ggplot2)
# ggfluctuation(d.tab, type="color") + labs(x="S1", y="S2") + theme_bw()
Optisch sieht die Kreuzklassifizierung folgendermaßen aus:
S2 0 1 2 3 4 5 6
S1
0 17 35 31 8 7 3 0
1 41 41 30 23 7 2 0
2 19 43 18 18 5 0 1
3 11 21 9 15 2 1 0
4 0 3 4 1 0 0 0
5 1 0 0 2 0 0 0
6 0 0 0 1 0 0 0
Jetzt können wir das OQS-Modell anpassen. Im Gegensatz zu Laura Thompson, die die glm()
Basisfunktion und eine benutzerdefinierte Designmatrix für die Symmetrie verwendete, können wir uns auf das gnm- Paket verlassen. Wir müssen jedoch einen Vektor für numerische Scores hinzufügen, um im obigen Modell zu schätzen .β
library(gnm)
d.long <- data.frame(counts=c(d.tab), S1=gl(7,1,7*7,labels=0:6),
S2=gl(7,7,7*7,labels=0:6))
d.long$scores <- rep(0:6, each=7)
summary(mod.oqs <- gnm(counts~scores+Symm(S1,S2), data=d.long,
family=poisson))
anova(mod.oqs)
Hier haben wir , und somit ist die Wahrscheinlichkeit, dass Sprecher B 4 Punkte erzielt, wenn Sprecher A 3 Punkte erzielt, fache der Wahrscheinlichkeit, dass Sprecher B eine Punktzahl von 3 hat, während Sprecher A eine Punktzahl hat von 4.exp(0,123)=1,13β^=0.123exp(0.123)=1.13
Ich bin kürzlich auf das catspec R-Paket gestoßen , das ähnliche Einrichtungen zu bieten scheint, aber ich habe es nicht ausprobiert. Es gab ein gutes Tutorial bei UseR! 2009 über all diese Dinge: Einführung in generalisierte nichtlineare Modelle in R , aber siehe auch die beigefügte Vignette, Generalisierte nichtlineare Modelle in R: Ein Überblick über das gnm-Paket .
Wenn Sie die Idee mit realen Daten erfassen möchten, enthält das vcdExtra- Paket von Michael Friendly viele Beispiele mit realen Datensätzen . Über das OQS-Modell verwendete Agresti Daten zum vorehelichen und außerehelichen Geschlecht (Tabelle 10.5, S. 421). Die Ergebnisse werden in § 10.4.7 (S. 430) diskutiert, und wurde auf -2,86 geschätzt. Der folgende Code ermöglicht (teilweise aus Thompsons Lehrbuch entnommen) die Reproduktion dieser Ergebnisse. Wir müssten die Faktorstufen neu bestimmen, um die gleiche Basislinie wie bei Agresti festzulegen.β^
table.10.5 <- data.frame(expand.grid(PreSex=factor(1:4),
ExSex=factor(1:4)),
counts=c(144,33,84,126,2,4,14,29,0,2,6,25,0,0,1,5))
table.10.5$scores <- rep(1:4,each=4)
summary(mod.oqs <- gnm(counts~scores+Symm(PreSex,ExSex), data=table.10.5,
family=poisson)) # beta = -2.857
anova(mod.oqs) # G^2(5)=2.10