Logit mit ordinalen unabhängigen Variablen


18

Gibt es in einem Logit-Modell eine intelligentere Möglichkeit, den Effekt einer unabhängigen Ordnungszahl zu bestimmen, als Dummy-Variablen für jede Ebene zu verwenden?


Ist es nicht softwareabhängig?

1
Unterschiedliche Software kann unterschiedliche Optionen zulassen, aber es sollte eine prinzipielle Antwort geben, nein?
11.

1
Ok, dummer Kommentar, sorry.

Antworten:


16

Um die Antwort von @ dmk38 zu ergänzen, "liefert jeder Satz von Bewertungen einen gültigen Test, vorausgesetzt, er wurde ohne Rücksprache mit den Ergebnissen des Experiments erstellt. Wenn der Satz von Bewertungen schlecht ist, führt dies zu einer starken Verzerrung einer numerischen Skala, die tatsächlich der Bewertung zugrunde liegt Bei einer geordneten Klassifizierung ist der Test nicht sensitiv. Die Bewertungen sollten daher den besten verfügbaren Einblick in die Art und Weise bieten, in der die Klassifizierung erstellt und verwendet wurde. " (Cochran, 1954, zitiert von Agresti, 2002, S. 88-89). Mit anderen Worten, die Behandlung eines geordneten Faktors als numerisch bewertete Variable ist lediglich ein Modellierungsproblem. Sofern dies sinnvoll ist, wirkt sich dies nur auf die Art und Weise aus, wie Sie das Ergebnis interpretieren, und es gibt keine definitive Faustregel für die Auswahl der besten Darstellung für eine Ordnungszahlvariable.

Betrachten Sie das folgende Beispiel zum Alkoholkonsum bei Müttern und zum Vorhandensein oder Fehlen einer angeborenen Fehlbildung (Agresti, Kategoriale Datenanalyse , Tabelle 3.7, S. 89):

            0    <1 1-2 3-5 6+
Absent  17066 14464 788 126 37
Present    48    38   5   1  1

In diesem speziellen Fall können wir das Ergebnis mithilfe einer logistischen Regression oder einer einfachen Zuordnungstabelle modellieren. Lass es uns in R machen:

tab3.7 <- matrix(c(17066,48,14464,38,788,5,126,1,37,1), nr=2,
                 dimnames=list(c("Absent","Present"),
                               c("0","<1","1-2","3-5","6+")))
library(vcd)
assocstats(tab3.7)

Die üblichen statistischen Werte für (12.08, p = 0.016751) oder LR (6.20, p = 0.184562) (mit 4 df) berücksichtigen nicht die bestellten Werte für den Alkoholkonsum.χ2

Behandeln wir beide Variablen als Ordinale mit gleichmäßigen Punktzahlen (dies hat keine Auswirkung auf binäre Variablen, wie Missbildungen, und wir wählen die Basislinie als 0 = nicht vorhanden), könnten wir auf eine lineare durch lineare Assoziation testen. Erstellen wir zunächst eine Explosionsversion dieser Kontingenztabelle:

library(reshape)
tab3.7.df <- untable(data.frame(malform=gl(2,1,10,labels=0:1), 
                                alcohol=gl(5,2,10,labels=colnames(tab3.7))), 
                     c(tab3.7))
# xtabs(~malform+alcohol, tab3.7.df) # check

Dann können wir mit auf eine lineare Assoziation testen

library(coin)
#lbl_test(as.table(tab3.7))
lbl_test(malform ~ alcohol, data=tab3.7.df)

das ergibt mit . Beachten Sie, dass diese Statistik einfach die Korrelation zwischen den beiden Ergebnisserien ist (die Agresti als ), die leicht berechnet werden kann alsχ2(1)=1,83p=0,1764M2=(n-1)r2

cor(sapply(tab3.7.df, as.numeric))[1,2]^2*(32574-1)

Wie zu sehen ist, gibt es nicht viele Hinweise auf eine eindeutige Assoziation zwischen den beiden Variablen. Wenn wir, wie von Agresti getan, Alkoholwerte als {0,0,5,1,5,4,7} umkodieren, dh Mittelwerte für eine hypothetische fortlaufende Skala verwenden, wobei die letzte Bewertung etwas rein willkürlich ist, würden wir schließen zu einer größeren Auswirkung des Alkoholkonsums von Müttern auf die Entwicklung angeborener Missbildungen:

lbl_test(malform ~ alcohol, data=tab3.7.df,         
         scores=list(alcohol=c(0,0.5,1.5,4,7)))

ergibt eine Teststatistik von 6,57 mit einem zugehörigen p-Wert von 0,01037.

Es gibt alternative Kodierungsschemata, einschließlich Midranks (in diesem Fall greifen wir auf Spearman anstelle von Pearson ), die von Agresti erörtert werden, aber ich hoffe, Sie verstehen hier die allgemeine Idee: Es ist am besten, Partituren auszuwählen, die tatsächlich widerspiegeln Ein vernünftiges Maß für den Abstand zwischen benachbarten Kategorien Ihrer Ordinalvariablen und der gleiche Abstand sind häufig ein guter Kompromiss (sofern keine theoretische Begründung vorliegt).ρr

Unter Verwendung des GLM-Ansatzes würden wir wie folgt vorgehen. Aber überprüfen Sie zuerst, wie Alkohol in R kodiert ist:

class(tab3.7.df$alcohol)

Es ist ein einfacher ungeordneter Faktor ( "factor"), daher ein nominaler Prädiktor. Nun, hier sind drei Modelle, bei denen wir Alkohol als nominalen, ordinalen oder kontinuierlichen Prädiktor betrachten.

summary(mod1 <- glm(malform ~ alcohol, data=tab3.7.df, 
                    family=binomial))
summary(mod2 <- glm(malform ~ ordered(alcohol), data=tab3.7.df, 
                    family=binomial))
summary(mod3 <- glm(malform ~ as.numeric(alcohol), data=tab3.7.df, 
                    family=binomial))

Der letzte Fall geht implizit von einer Skala mit gleichem Intervall aus, und das wird als @ dmk38 did interpretiert: Es spiegelt die Auswirkung einer Erhöhung des Alkoholgehalts um eine Einheit auf das Ergebnis durch die logit-Verknüpfung wider, dh die Erhöhung der Wahrscheinlichkeit eine Missbildung zu beobachten (im Vergleich zu keiner Missbildung, dh das Odds-Ratio) ist . Der Wald-Test ist bei den üblichen 5% nicht signifikant. In diesem Fall enthält die Entwurfsmatrix nur 2 Spalten: Die erste ist eine konstante Spalte mit Einsen für den Achsenabschnitt, die zweite ist der numerische Wert (1 bis 5) für den Prädiktor, wie bei einer einfachen linearen Regression. Zusammenfassend testet dieses Modell den linearen Einfluss von Alkohol auf das Ergebnis (auf der logit-Skala).β^exp(θ^)=exp(0,228)=1,256

In den beiden anderen Fällen ( mod1und mod2) erhalten wir jedoch eine unterschiedliche Ausgabe, da sich die zur Modellierung des Prädiktors verwendete Entwurfsmatrix unterscheidet. Dies kann überprüft werden, indem Folgendes verwendet wird:

model.matrix(mod1)
model.matrix(mod2)

Wir können sehen, dass die zugehörige Entwurfsmatrix für mod1Dummy-Variablen für die Alkoholspiegel (0 ist immer die Basislinie) nach dem Intercept-Term in der ersten Spalte enthält, wohingegen wir im Fall von vier Spalten mit kontrastcodierten Effekten haben (Nach der Spalte mit den Einsen für den Achsenabschnitt). Der Koeffizient für die Kategorie "3-5" wird auf 1,03736 unter , aber 0,01633 unter geschätzt . Beachten Sie, dass der AIC und andere wahrscheinlichkeitsbasierte Kennzahlen zwischen diesen beiden Modellen jedoch identisch bleiben.k-1mod2mod1mod2

Sie können versuchen, Alkohol neue Punkte zuzuweisen, um zu sehen, wie sich dies auf die vorhergesagte Wahrscheinlichkeit einer Missbildung auswirkt.


3
(+1) sehr gründliche Antwort. Ich möchte nur hinzufügen, dass es möglich ist, Tests zu erhalten, bei denen nur eine Monotonie der Dosis-Wirkungs-Beziehung angenommen wird, ohne dass der Ordinalvariablen unter Verwendung der isotonischen Regression Punktzahlen zugewiesen werden. Allerdings sind normalerweise Simulations- oder Permutationsmethoden erforderlich, um die Verteilung der Teststatistik zu erhalten unter der Null. Siehe Salanti & Ulm 2003 dx.doi.org/10.1002/bimj.200390012 .
Am

@onestop Danke für diesen Hinweis. Ich werde es mir ansehen.
chl

6

Es ist völlig in Ordnung, einen kategorialen Prädiktor in einem Logit- (oder OLS-) Regressionsmodell zu verwenden, wenn die Ebenen ordinal sind. Wenn Sie jedoch einen Grund haben, jede Ebene als diskret zu behandeln (oder wenn Ihre kategoriale Variable tatsächlich nominal statt ordinal ist), können Sie alternativ zur Dummy-Codierung auch die orthogonale Kontrastcodierung verwenden. Für eine sehr vollständige und leicht zugängliche Diskussion siehe Judd, CM, McClelland, GH & Ryan, CS Datenanalyse: Ein Modellvergleichsansatz, Edn. 2nd. (Routledge / Taylor und Francis, New York, NY; 2008) oder einfach "Kontrastcodierung" von Google


Ist es in Ordnung, Ordnungsdaten als Intervalldaten im Modell zu behandeln? Wenn ja, wie kann ich den Koeffizienten interpretieren, wenn ich den "Abstand" zwischen den Ebenen nicht kenne?
11.

3
Ja. Der Koeffizient spiegelt die Änderung der logarithmischen Quoten für jedes Änderungsinkrement des Ordnungsprädiktors wider. Diese (sehr verbreitete) Modellspezifikation geht davon aus, dass der Prädiktor über seine Inkremente eine lineare Auswirkung hat. Um die Annahme zu testen, können Sie ein Modell, in dem Sie die Ordnungsvariable als einzelnen Prädiktor verwenden, mit einem Modell vergleichen, in dem Sie die Antworten diskretisieren und sie als mehrere Prädiktoren behandeln (so als ob die Variable nominal wäre). Wenn das letztgenannte Modell nicht zu einer signifikant besseren Anpassung führt, ist es sinnvoll, jedes Inkrement als linear zu behandeln.
dmk38

Ich gebe dir +1, weil diese Antwort gut klingt und ich denke, @fgregg hätte dasselbe getan (mit genügend Wiederholungen).
Chl

Ich denke auch, dass dies ein perfektes Beispiel ist, da Änderungen der Log-Quoten mit Ordinalvariablen interpretiert werden können.
SmallChess
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.