14 votos

Análisis ROC y multiROC: ¿cómo calcular el punto de corte óptimo?

Estoy tratando de entender cómo calcular el punto de corte óptimo para una curva ROC (el valor en el que la sensibilidad y la especificidad se maximizan). Estoy utilizando el conjunto de datos aSAH del paquete pROC .

El outcome variable podría ser explicada por dos variables independientes: s100b y ndka . Utilizando la sintaxis del Epi he creado dos modelos:

library(pROC)
library(Epi)
ROC(form=outcome~s100b, data=aSAH)
ROC(form=outcome~ndka, data=aSAH)

El resultado se ilustra en los dos gráficos siguientes:

enter image description here enter image description here

En el primer gráfico ( s100b ), la función dice que el punto de corte óptimo se localiza en el valor correspondiente a lr.eta=0.304 . En el segundo gráfico ( ndka ) el punto de corte óptimo se localiza en el valor correspondiente a lr.eta=0.335 (¿Qué significa lr.eta ). Mi primera pregunta es:

  • cuál es el correspondiente s100b y ndka valores para el lr.eta valores indicados (cuál es el punto de corte óptimo en términos de s100b y ndka )?

SEGUNDA PREGUNTA:

Ahora supongamos que creo un modelo teniendo en cuenta ambas variables:

ROC(form=outcome~ndka+s100b, data=aSAH)

El gráfico obtenido es:

enter image description here

Quiero saber cuáles son los valores de ndka Y s100b en la que la sensibilidad y la especificidad son maximizadas por la función. En otros términos: ¿cuáles son los valores de ndka y s100b en la que tenemos Se=68,3% y Sp=76,4% (valores derivados del gráfico)?

Supongo que esta segunda pregunta está relacionada con el análisis multiROC, pero la documentación del Epi no explica cómo calcular el punto de corte óptimo para ambos variables utilizadas en el modelo.

Mi pregunta es muy similar a esta pregunta de reasearchGate que dice en pocas palabras:

La determinación de la puntuación de corte que representa un mejor equilibrio entre la sensibilidad y la especificidad de una medida es sencilla. Sin embargo, para el análisis de la curva ROC multivariante, he observado que la mayoría de los investigadores se han centrado en algoritmos para determinar la de una combinación lineal de varios indicadores (variables) en en términos de AUC. [...]

Sin embargo, estos métodos no mencionan cómo decidir una combinación de de puntuaciones de corte asociadas a los múltiples indicadores que proporciona la mejor precisión diagnóstica.

Una posible solución es la que propone Shultz en su papel pero a partir de este artículo no soy capaz de entender cómo calcular el punto de corte óptimo para una curva ROC multivariante.

Tal vez la solución del Epi no es lo ideal, por lo que se agradecerá cualquier otro enlace útil.

10voto

Calimo Puntos 528

Para ampliar la respuesta de Frank Harrell, lo que el Epi fue ajustar una regresión logística, y hacer una curva ROC con predicciones de resultados de la siguiente forma:

$$ outcome = \frac {1}{1+e^{-(\beta_0 + \beta_1 s100b + \beta_2 ndka)}} $$

En su caso, los valores ajustados son $\beta_0$ (intercepción) = -2,379, $\beta_1$ (s100b) = 5,334 y $\beta_2$ (ndka) = 0,031. Como quiere que su resultado predicho sea 0,312 (el límite "óptimo"), puede sustituirlo por (espero no haber introducido errores aquí):

$$ 0.312 = \frac {1}{1+e^{-(-2.379 + 5.334 s100b + 0.031 ndka)}} $$ $$ 1.588214 = 5.334 s100b + 0.031 ndka $$ o: $$ s100b = \frac{1.588214 - 0.031 ndka}{5.334} $$

Cualquier par de valores (s100b, ndka) que satisfaga esta igualdad es "óptimo". Mala suerte para ti, hay infinidad de estos pares. Por ejemplo, (0,29, 1), (0, 51,2), etc. Y lo que es peor, la mayoría de ellos no tienen ningún sentido. ¿Qué significa el par (-580, 10000)? Nada.

En otras palabras, no se pueden establecer cortes en las entradas, hay que hacerlo en las salidas, y ese es el objetivo del modelo.

0 votos

La pregunta lógica que sigue es: si nos enfrentáramos a la tarea de considerar un punto de corte basado en la lr.eta en un modelo con una sola variable explicativa, por ejemplo s100b ¿podría seleccionarse un punto de corte basado en el lr.eta ¿exceptuando las consideraciones médicas sobre el coste asignado a los diagnósticos fallidos, los procedimientos innecesarios, etc.?

8voto

dan90266 Puntos 609

No es apropiado buscar puntos de corte en las variables de entrada, sino sólo en la salida (por ejemplo, el riesgo predicho de un modelo multivariable). Esto se debe a que el punto de corte para x1 dependería del valor continuo de x2. Y buscar un punto de corte en $\hat{Y}$ Para obtener decisiones óptimas, se requiere una función de utilidad/pérdida/coste y esto no tiene nada que ver con las curvas ROC.

0 votos

Entiendo el problema que has explicado. Por cierto, me pregunto si existe un método para calcular los puntos de corte de dos (o más) pruebas en paralelo, con el fin de aumentar el Sens y Spec de identificar un estado específico (enfermedad/resultado/etc.). Gracias de antemano.

1 votos

Como el punto de corte "óptimo" para x1 dependería del valor continuo de x2, y el punto de corte "óptimo" para x2 dependería del valor continuo de x1, no hay manera de hacer esto y preservar suficiente información para que no sea un desastre.

0 votos

Entonces, ¿no hay manera de encontrar puntos de corte para dos o más pruebas, con el fin de maximizar la sensibilidad y la especificidad? Por supuesto, un método que no sea un análisis multiROC. Gracias de nuevo.

3voto

jasonmray Puntos 1303

Supongo que lr.eta es el predictor lineal -el logit- del modelo ajustado, como $\eta$ es un símbolo comúnmente utilizado para ello; o, si no, la probabilidad del modelo ajustado. (Resulta que es esto último: véase https://stackoverflow.com/a/38532555/1864816 .) Puede comprobar el código en ROC . En cualquier caso, podrá calcularlo a partir de los coeficientes del modelo para cualquier número de predictores. (Tenga en cuenta que no será un límite para cada predictor por separado, sino una función de todos los predictores).

Su primera frase debería decir (como lo demuestran los gráficos) que está buscando dónde está el suma de sensibilidad y especificidad se maximiza. Pero, ¿por qué es esto "óptimo"? ¿Tiene la misma importancia un resultado falso positivo que un resultado falso negativo? Véase aquí .

0 votos

Era correcto, puedo calcular el punto de corte a partir del modelo ajustado (para una variable independiente), o alternativamente utilizando el coords de la función pROC paquete, como descubrí más tarde. El punto de corte óptimo era, en mi caso, la mejor combinación de Sens y Spec; he leído la respuesta enlazada, pero no me importan (al menos por ahora) los resultados falsos positivos y falsos negativos, porque (si he entendido bien) estoy analizando un grupo de datos recogidos para la investigación.

0 votos

Qué hacer ¿te importa entonces? ¿Qué se hace con el corte que no requiere ninguna consideración de las consecuencias? Y entonces, ¿qué es lo "óptimo" o "mejor para ?

0 votos

Tommaso definió "óptimo" como "el valor en el que se maximizan la sensibilidad y la especificidad" (citando la primera frase de la pregunta), significando implícitamente max(sensibilidad + especificidad). Que tenga sentido o no (y cuando leo que no le importa, me inclino a pensar que no) es otra cuestión.

0voto

user69641 Puntos 1

Puede encontrar el umbral en el que la tasa de verdaderos positivos (tpr) se cruza con la tasa de verdaderos negativos (tnr), que será el punto en el que la suma de los falsos positivos y los falsos negativos sea mínima.

0 votos

Una respuesta de una sola frase suele considerarse un poco corta para nuestro formato. ¿Puede ampliar su respuesta para incluir una breve explicación de cómo sabe que ese es el mínimo?

1 votos

Esta estrategia es contraria a la toma de decisiones óptimas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X