Tenho desenvolvido um modelo de regressão logística baseado em dados retrospectivos de um banco de dados nacional de trauma de traumatismo craniano no Reino Unido. O principal resultado é a mortalidade em 30 dias (indicada como Outcome30
medida). Outras medidas em todo o banco de dados com evidências publicadas de efeito significativo no resultado de estudos anteriores incluem:
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
Quando conduzo uma análise univariada das variáveis, realizei uma regressão logística para cada variável contínua. No entanto, não consigo modelar Yeardecimal, com o seguinte 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”
No entanto, o spline cúbico restrito 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
Alguém poderia explicar por que isso é? Estou nervoso em usar um modelo complicado de modo, se não conseguir modelar com uma abordagem mais simples.
Atualmente, estou usando splines cúbicos restritos para modelar Age, ISS e Yeardecimal. Alguém recomendaria alguma abordagem alternativa?
fonte
glm
função, como por r.789695.n4.nabble.com/...Respostas:
A data como preditor pode estar falhando porque é altamente colinear com a constante. Se você inseri-lo como um ano, sua variabilidade é de cerca de 10/2000 = 0,005 (na verdade, menor porque a maioria dos seus dados está nos anos mais recentes) e, quando ao quadrado, torna-se 4e-6. Ao inverter uma matriz com os autovalores 1 e 4e-6, o pacote que você usa pode decidir que é zero na aritmética de precisão finita e lançar essa mensagem de erro. A solução é simples - centralize seus dados, pelo menos aproximadamente, subtraindo 2000 do ano.
fonte
Espera-se que splines cúbicos restritos funcionem bem aqui. Você está preocupado demais com as distribuições marginais de preditores.
O tempo de permanência está na parte errada do caminho causal para usá-lo como um preditor de morte. E atente para outras operações necessárias.
Não vejo muito valor em análises univariáveis.
fonte