Als Antwort auf eine Frage zur Modellauswahl in Gegenwart von Multikollinearität schlug Frank Harrell vor :
Fügen Sie alle Variablen in das Modell ein, testen Sie jedoch nicht die Auswirkung einer Variablen, die für die Auswirkung konkurrierender Variablen angepasst ist ... Blocktests konkurrierender Variablen sind sehr leistungsfähig, da kollineare Variablen sich im allgemeinen Assoziationstest mit mehreren Freiheitsgraden zusammenschließen gegeneinander antreten, als würden Sie Variablen einzeln testen.
Was sind Blocktests ? Können Sie ein Beispiel für ihre Anwendung in geben r
?
Antworten:
@ mark999 lieferte eine hervorragende Antwort. Zusätzlich zum gemeinsamen Testen von Polynomausdrücken können Sie einen beliebigen Satz von Variablen gemeinsam testen ("Blocktest"). Angenommen, Sie hätten ein Modell mit konkurrierenden kollinearen Variablen Trizepsumfang, Taille, Hüftumfang und allen Körpermaßen. Um einen Gesamtkörpergrößentest zu erhalten, können Sie dies tun
NA
tricep, waist, hip
quelle
Macros Kommentar ist korrekt, genau wie Andys. Hier ist ein Beispiel.
Anstatt die Begriffe
x2
undx2^2
getrennt zu betrachten, ist der "Chunk-Test" der 2-df-Test, der die Nullhypothese testet, dass die Koeffizienten dieser Begriffe beide Null sind (ich glaube, er wird allgemeiner als "allgemeiner linearer F-Test" bezeichnet). ). Der p-Wert für diesen Test ist der von gegebene Wert von 0,0037anova(ols1)
.Beachten Sie, dass in dem
rms
Paket, Sie angeben müssenx2
Bedingungen wiepol(x2, 2)
füranova.rms()
wissen , dass sie zusammen getestet werden.anova.rms()
führt ähnliche Tests für Prädiktorvariablen durch, die beispielsweise als eingeschränkte kubische Splines dargestellt werdenrcs(x2, 3)
, und für kategoriale Prädiktorvariablen. Es werden auch Interaktionsbegriffe in die "Chunks" aufgenommen.Wenn Sie einen Blocktest für allgemeine "konkurrierende" Prädiktorvariablen durchführen möchten, wie im Zitat erwähnt, müssten Sie dies meines Erachtens manuell tun, indem Sie die beiden Modelle separat anpassen und dann verwenden
anova(model1, model2)
. [Edit: das ist falsch - siehe Frank Harrells Antwort.]quelle