Skip to menu

교수님, 안녕하십니까? mytable과 multipleROC를 특히 유용하게 잘 쓰고 있는 연구자입니다.

 

다름이 아니라, multivariable logistic regression analysis를 시행하여 dichotomous한 outcome에 대해 6개의 factor가 유의미하다는 사실을 확인하였고, 이에 대한 ROC curve를 6개 factor를 모두 넣어 확인해 본 결과 AUC값은 0.981 로 확인되는 상태입니다. 하나하나 했을 때는 0.8~0.9 사이인 것에 비해 월등한 결과입니다.

multipleROC_PCT_train.png

 

여기서 요지는, 이렇게 나온 ROC curve에서 6개 factor 모두의 optimal cutoff를 찾고 싶은데, multipleROC package에서 automatic 하게 계산되어 나오는 값은 Youden's index (sensitivity+specificity가 최대값인 포인트) 결과대로 나오는 것 같은데 이 값은 제가 보여주고자 하는 값이 아닙니다. 그래서 sensitivity와 specificity를 곱한 값이 최대인 포인트를 확인하고 싶은데 multivariable 이 입력된 ROC curve에서는 이 값을 어떻게 찾을 수 있는지 잘 모르겠습니다. 구글링을 해보면 

y= b0 + b1X1 + b2X2 + b3X3 ... 이렇게 수식이 만들어지기 때문에 optimal 한 X1, X2, X3 (multivariables) 의 값을 구할 수가 없다고 하는데 multipleROC에서는 그 값이 나오더라구요. 

 

multipleROC_all_train.png

 

 

혹시 single variable에 대한 ROC curve에서 optimal cutoff를 찾을때처럼 lr.eta 값으로 raw variable의 값을 추정할 수 있는 수식이 있을까요? 아래와 같이 말입니다.

 

#######

x<- multipleROC(shock_sepsis3~PCT, data=train)

x$fit

write.csv(x$df, 

          "PCT.csv")

fit <- glm(shock_sepsis3~PCT, data=train, family= binomial)

 

(qlogis(x$cutpoint)-unname(coef(x$fit)[1]))/unname(coef(x$fit)[2])

(qlogis(0.607635)-unname(coef(x$fit)[1]))/unname(coef(x$fit)[2])      ## multiplication

########

 

github에 올려주신 코드를 봐도 어떻게 계산되어 나오는 것인지 이해가 되지 않아 여쭤봅니다.

 

고진선처 부탁드립니다. 감사합니다.