Tôi đã phát triển mô hình hồi quy logistic dựa trên dữ liệu hồi cứu từ cơ sở dữ liệu chấn thương quốc gia về chấn thương đầu ở Anh. Kết quả chính là tỷ lệ tử vong trong 30 ngày (ký hiệu là biện pháp "Sống sót"). Các biện pháp khác với bằng chứng được công bố về ảnh hưởng đáng kể đến kết quả trong các nghiên cứu trước đây bao gồm:
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)
Sử dụng các mô hình này, với biến phụ thuộc nhị phân, tôi đã xây dựng hồi quy logistic bằng lrm.
Phương pháp lựa chọn biến mô hình được dựa trên mô hình tài liệu lâm sàng hiện có cùng chẩn đoán. Tất cả đã được mô hình hóa với sự phù hợp tuyến tính ngoại trừ ISS đã được mô hình hóa theo truyền thống thông qua các đa thức phân số. Không có ấn phẩm đã xác định các tương tác quan trọng đã biết giữa các biến trên.
Theo lời khuyên từ Frank Harrell, tôi đã tiến hành sử dụng các hàm hồi quy để mô hình ISS (có những ưu điểm đối với phương pháp này được nêu bật trong các bình luận bên dưới). Do đó, mô hình đã được chỉ định trước như sau:
rcs.ASDH<-lrm(formula = Survive ~ Age + GCS + rcs(ISS) +
Year + inctoCran + oth, data = ASDH_Paper1.1, x=TRUE, y=TRUE)
Kết quả của mô hình là:
> 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
Sau đó tôi đã sử dụng chức năng hiệu chỉnh trong gói rms để đánh giá độ chính xác của các dự đoán từ mô hình. Đây là kết quả đạt được:
plot(calibrate(rcs.ASDH, B=1000), main="rcs.ASDH")
Sau khi hoàn thành thiết kế mô hình, tôi đã tạo ra biểu đồ sau để chứng minh ảnh hưởng của Năm sự cố đối với sự sống còn, dựa trên các giá trị trung bình trong các biến liên tục và chế độ trong các biến phân loại:
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)
Đoạn mã trên dẫn đến kết quả đầu ra sau:
Các câu hỏi còn lại của tôi là như sau:
1. Giải thích Spline - Làm cách nào tôi có thể tính giá trị p cho các spline kết hợp cho biến tổng thể?
anova(rcs.ASDH)
.
plot(Predict(rcs.ASDH, Year))
. Bạn có thể để các biến khác thay đổi, tạo thành các đường cong khác nhau, bằng cách thực hiện những việc như thếplot(Predict(rcs.ASDH, Year, age=c(25, 35)))
.