Saya telah mengembangkan model regresi logistik berdasarkan data retrospektif dari database trauma nasional cedera kepala di Inggris. Hasil utama adalah kematian 30 hari (dilambangkan sebagai ukuran "Bertahan"). Langkah-langkah lain dengan bukti yang diterbitkan berpengaruh signifikan pada hasil dalam penelitian sebelumnya termasuk:
Year - Year of procedure = 1994-2013
Age - Age of patient = 16.0-101.5
ISS - Injury Severity Score = 0-75
Sex - Gender of patient = Male or Female
inctoCran - Time from head injury to craniotomy in minutes = 0-2880 (After 2880 minutes is defined as a separate diagnosis)
Menggunakan model-model ini, mengingat variabel dependen dikotomis, saya telah membangun regresi logistik menggunakan lrm.
Metode pemilihan variabel model didasarkan pada pemodelan literatur klinis yang ada diagnosis yang sama. Semua telah dimodelkan dengan linear fit dengan pengecualian ISS yang telah dimodelkan secara tradisional melalui polinomial pecahan. Tidak ada publikasi yang mengidentifikasi interaksi signifikan yang diketahui antara variabel-variabel di atas.
Mengikuti saran dari Frank Harrell, saya telah melanjutkan dengan menggunakan regresi splines untuk memodelkan ISS (ada keuntungan dari pendekatan ini yang disorot dalam komentar di bawah). Model dengan demikian ditentukan sebelumnya sebagai berikut:
rcs.ASDH<-lrm(formula = Survive ~ Age + GCS + rcs(ISS) +
Year + inctoCran + oth, data = ASDH_Paper1.1, x=TRUE, y=TRUE)
Hasil dari model adalah:
> rcs.ASDH
Logistic Regression Model
lrm(formula = Survive ~ Age + GCS + rcs(ISS) + Year + inctoCran +
oth, data = ASDH_Paper1.1, x = TRUE, y = TRUE)
Model Likelihood Discrimination Rank Discrim.
Ratio Test Indexes Indexes
Obs 2135 LR chi2 342.48 R2 0.211 C 0.743
0 629 d.f. 8 g 1.195 Dxy 0.486
1 1506 Pr(> chi2) <0.0001 gr 3.303 gamma 0.487
max |deriv| 5e-05 gp 0.202 tau-a 0.202
Brier 0.176
Coef S.E. Wald Z Pr(>|Z|)
Intercept -62.1040 18.8611 -3.29 0.0010
Age -0.0266 0.0030 -8.83 <0.0001
GCS 0.1423 0.0135 10.56 <0.0001
ISS -0.2125 0.0393 -5.40 <0.0001
ISS' 0.3706 0.1948 1.90 0.0572
ISS'' -0.9544 0.7409 -1.29 0.1976
Year 0.0339 0.0094 3.60 0.0003
inctoCran 0.0003 0.0001 2.78 0.0054
oth=1 0.3577 0.2009 1.78 0.0750
Saya kemudian menggunakan fungsi kalibrasi dalam paket rms untuk menilai akurasi prediksi dari model. Hasil-hasil berikut diperoleh:
plot(calibrate(rcs.ASDH, B=1000), main="rcs.ASDH")
Setelah menyelesaikan desain model, saya membuat grafik berikut untuk menunjukkan pengaruh Tahun kejadian pada kelangsungan hidup, mendasarkan nilai median dalam variabel kontinu dan mode dalam variabel kategori:
ASDH <- Predict(rcs.ASDH, Year=seq(1994,2013,by=1),Age=48.7,ISS=25,inctoCran=356,Other=0,GCS=8,Sex="Male",neuroYN=1,neuroFirst=1)
Probabilities <- data.frame(cbind(ASDH$yhat,exp(ASDH$yhat)/(1+exp(ASDH$yhat)),exp(ASDH$lower)/(1+exp(ASDH$lower)),exp(ASDH$upper)/(1+exp(ASDH$upper))))
names(Probabilities) <- c("yhat","p.yhat","p.lower","p.upper")
ASDH<-merge(ASDH,Probabilities,by="yhat")
plot(ASDH$Year,ASDH$p.yhat,xlab="Year",ylab="Probability of Survival",main="30 Day Outcome Following Craniotomy for Acute SDH by Year", ylim=range(c(ASDH$p.lower,ASDH$p.upper)),pch=19)
arrows(ASDH$Year,ASDH$p.lower,ASDH$Year,ASDH$p.upper,length=0.05,angle=90,code=3)
Kode di atas menghasilkan output berikut:
Pertanyaan saya yang tersisa adalah sebagai berikut:
1. Interpretasi Spline - Bagaimana saya bisa menghitung nilai p untuk splines digabungkan untuk variabel keseluruhan?
anova(rcs.ASDH)
.
plot(Predict(rcs.ASDH, Year))
,. Anda dapat membiarkan variabel lain bervariasi, membentuk kurva berbeda, dengan melakukan hal-hal sepertiplot(Predict(rcs.ASDH, Year, age=c(25, 35)))
.