He estado desarrollando un modelo de regresión logística basado en datos retrospectivos de una base de datos nacional de traumatismos de lesiones en la cabeza en el Reino Unido. El resultado clave es la mortalidad a los 30 días (indicada como Outcome30
medida). Otras medidas en toda la base de datos con evidencia publicada de un efecto significativo sobre el resultado en estudios anteriores incluyen:
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
Cuando realizo un análisis univariado de las variables, he realizado una regresión logística para cada variable continua. Sin embargo, no puedo modelar Yeardecimal con el siguiente resultado:
> 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”
Sin embargo, la spline cúbica restringida funciona:
> 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
¿Alguien podría explicar por qué es esto? Estoy nervioso por usar un modelo de modo complicado si no puedo modelar con un enfoque más simple.
Actualmente estoy usando splines cúbicos restringidos para modelar Age, ISS y Yeardecimal. ¿Alguien recomendaría algún enfoque alternativo?
fuente
glm
función de vainilla , según r.789695.n4.nabble.com/…Respuestas:
La fecha como predictor puede estar fallando porque es altamente colineal con la constante. Si lo ingresa como un año, su variabilidad es aproximadamente 10/2000 = 0.005 (de hecho menos porque la mayoría de sus datos están en los años más recientes), y cuando se ajusta al cuadrado se convierte en 4e-6. Al invertir una matriz con valores propios 1 y 4e-6, el paquete que utilice puede decidir que es cero en aritmética de precisión finita y arrojar este mensaje de error. La solución es simple: centre sus datos, al menos aproximadamente, restando 2000 del año.
fuente
Se esperaría que las splines cúbicas restringidas funcionen bien aquí. Le preocupan demasiado las distribuciones marginales de predictores.
La duración de la estadía se encuentra en la parte incorrecta de la vía causal para usarla como predictor de muerte. Y cuidado con otras operaciones requeridas.
No veo mucho valor en los análisis univariables.
fuente