Hồi quy logistic với spline hồi quy trong R


12

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")

Đường cong hiệu chuẩn Bootstrap bị phạt vì quá mức

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:

Xu hướng năm với hạ và trên

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ể?


4
Công việc tốt đẹp. Để hiển thị hiệu ứng của Năm, tôi đề nghị cho phép các biến khác được đặt ở các giá trị mặc định (trung vị cho liên tục, chế độ cho phân loại) và thay đổi Năm trên trục x, ví dụ : 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))).
Frank Harrell

1
Tôi không biết tại sao - nhưng tôi chưa thấy nhiều ví dụ về các đường cong hiệu chỉnh sai lệch trong tài liệu. Có vẻ như là một ý tưởng tốt
charles

1
Để kiểm tra liên kết tổng thể với nhiều thử nghiệm df sử dụng anova(rcs.ASDH).
Frank Harrell

Câu trả lời:


8

χ2

Hai cách được đề xuất để đánh giá sự phù hợp của mô hình là:

  1. Bootstrap đường cong hiệu chuẩn mịn không điều chỉnh (ví dụ: * hoàng thổ) để kiểm tra độ chính xác tuyệt đối của dự đoán
  2. χ2

Có một số lợi thế của spline hồi quy so với đa thức phân số, bao gồm:

  1. 0
  2. Bạn không cần phải lo lắng về nguồn gốc của một người dự đoán. Các FP cho rằng số 0 là nguồn gốc "ma thuật" cho các yếu tố dự đoán, trong khi các phép hồi quy hồi quy là bất biến đối với việc dịch chuyển một yếu tố dự báo theo hằng số.

Để biết thêm về các phép hồi quy và đánh giá tuyến tính và độ nhạy, hãy xem các tài liệu của tôi tại http://biostat.mc.vanderbilt.edu/CferenceBios330 cũng như chức năng rmsgói R. rcsĐối với các đường cong hiệu chuẩn bootstrap bị phạt vì quá mức, hãy xem rms calibratechức năng.


Tôi đã cố gắng chỉ định trước mô hình trong việc tạo ra một mô hình đầy đủ với tất cả các biến có sẵn trên lâm sàng bao gồm cả ban đầu và có liên quan đến chẩn đoán và biến kết quả. Chúng đều là các biến liên tục hoặc nhị phân tuyến tính ngoại trừ ISS mà các nghiên cứu trước đây đã xác định có thể được mô hình hóa với các đa thức phân số. Phương pháp tôi đã sử dụng để phát triển mô hình mà tôi tin là phù hợp với "Xây dựng mô hình đa biến" của Willi Sauerbrei. Có lẽ tôi có thể sử dụng gói rms của bạn trong R để đánh giá mức độ phù hợp toàn cầu? Nếu vậy, bạn muốn giới thiệu công thức nào?
Đài phun nước Dan

Tôi mở rộng câu trả lời của mình để giải quyết một số điều đó.
Frank Harrell

Bạn có thể đề xuất các gói để thực hiện 1 và 2 để đánh giá sự phù hợp của mô hình không? Tôi có thể sử dụng hàm xác nhận tính bằng rms không? Về khía cạnh hồi quy, tôi đã đọc các ghi chú bài giảng của bạn và hiện đang cố gắng tìm một bản sao của cuốn sách của bạn (tôi sẽ mua nó nếu tôi có thể!) Bạn có thể giới thiệu gói / hàm R tiếp theo để xây dựng các hàm hồi quy cho các biến liên tục phi tuyến tính trong mô hình này? Rất cám ơn cho tất cả sự giúp đỡ của bạn cho đến nay.
Đài phun nước Dan

Có lẽ gói trái đất dựa trên Spline hồi quy thích ứng đa biến của Friedman?
Đài phun nước Dan

Một câu hỏi cuối cùng. Công thức cho Điểm tổn thương nghiêm trọng (ISS) là A ^ 2 + B ^ 2 + C ^ 2 trong đó A, B và C là các bộ phận cơ thể khác nhau với điểm nghiêm trọng chấn thương độc lập là 1-5. Do đó, tối đa là 75 và tối thiểu 1 trong tập dữ liệu này. Với công thức này, các đa thức phân số có phải là đại diện gần hơn với cách tính điểm thực sự so với các phép hồi quy không?
Đài phun nước Dan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.