Ich habe ein logistisches Regressionsmodell entwickelt, das auf retrospektiven Daten aus einer nationalen Trauma-Datenbank für Kopfverletzungen in Großbritannien basiert. Das Hauptergebnis ist die 30-Tage-Mortalität (als Outcome30
Maß angegeben). Weitere Maßnahmen in der gesamten Datenbank mit veröffentlichten Hinweisen auf signifikante Auswirkungen auf das Ergebnis in früheren Studien sind:
Yeardecimal - Date of procedure = 1994.0-2013.99
inctoCran - Time from head injury to craniotomy in minutes = 0-2880 (After 2880 minutes is defined as a separate diagnosis)
ISS - Injury Severity Score = 1-75
Age - Age of patient = 16.0-101.5
GCS - Glasgow Coma Scale = 3-15
Sex - Gender of patient = Male or Female
rcteyemi - Pupil reactivity (1 = neither, 2 = one, 3 = both)
neuroFirst2 - Location of admission (Neurosurgical unit or not)
Other - other traums (0 - No, 1 - Yes)
othopYN - Other operation required
LOS - Length of stay in days
LOSCC - Length of stay in critical care in days
Wenn ich eine univariate Analyse der Variablen durchführe, habe ich für jede kontinuierliche Variable eine logistische Regression durchgeführt. Ich kann Yeardecimal jedoch nicht mit folgendem Ergebnis modellieren:
> rcs.ASDH<-lrm(formula = Survive ~ Yeardecimal, data = ASDH_Paper1.1)
singular information matrix in lrm.fit (rank= 1 ). Offending variable(s):
Yeardecimal
Error in lrm(formula = Survive ~ Yeardecimal, data = ASDH_Paper1.1) :
Unable to fit model using “lrm.fit”
Der eingeschränkte kubische Spline funktioniert jedoch:
> rcs.ASDH<-lrm(formula = Survive ~ rcs(Yeardecimal), data = ASDH_Paper1.1)
>
> rcs.ASDH
Logistic Regression Model
lrm(formula = Survive ~ rcs(Yeardecimal), data = ASDH_Paper1.1)
Model Likelihood Discrimination Rank Discrim.
Ratio Test Indexes Indexes
Obs 5998 LR chi2 106.61 R2 0.027 C 0.578
0 1281 d.f. 4 g 0.319 Dxy 0.155
1 4717 Pr(> chi2) <0.0001 gr 1.376 gamma 0.160
max |deriv| 2e-08 gp 0.057 tau-a 0.052
Brier 0.165
Coef S.E. Wald Z Pr(>|Z|)
Intercept -68.3035 45.8473 -1.49 0.1363
Yeardecimal 0.0345 0.0229 1.51 0.1321
Yeardecimal' 0.1071 0.0482 2.22 0.0262
Yeardecimal'' -2.0008 0.6340 -3.16 0.0016
Yeardecimal''' 11.3582 4.0002 2.84 0.0045
Könnte jemand erklären, warum das so ist? Ich bin nervös, ein Modus-kompliziertes Modell zu verwenden, wenn ich nicht in der Lage bin, mit einem einfacheren Ansatz zu modellieren.
Ich verwende derzeit eingeschränkte kubische Splines, um Age, ISS und Yeardecimal zu modellieren. Würde jemand einen alternativen Ansatz empfehlen?
quelle
glm
Funktion gemäß r.789695.n4.nabble.com/…Antworten:
Das Datum als Prädiktor kann fehlschlagen, da es stark mit der Konstanten kollinear ist. Wenn Sie es als Jahr eingeben, beträgt die Variabilität etwa 10/2000 = 0,005 (tatsächlich weniger, da sich die meisten Ihrer Daten in den letzten Jahren befinden), und wenn es im Quadrat ist, wird es 4e-6. Wenn Sie eine Matrix mit den Eigenwerten 1 und 4e-6 invertieren, kann das von Ihnen verwendete Paket entscheiden, dass es eine Null in der Arithmetik mit endlicher Genauigkeit ist , und diese Fehlermeldung auslösen. Die Lösung ist einfach: Zentrieren Sie Ihre Daten zumindest ungefähr, indem Sie 2000 vom Jahr abziehen.
quelle
Es wird erwartet, dass eingeschränkte kubische Splines hier gut funktionieren. Sie sind etwas zu sehr besorgt über marginale Verteilungen von Prädiktoren.
Die Aufenthaltsdauer liegt im falschen Teil des kausalen Pfades, um sie als Prädiktor für den Tod zu verwenden. Und achten Sie auf andere erforderliche Operationen.
Ich sehe nicht viel Wert in univariablen Analysen.
quelle