Análise ROC e multiROC: como calcular o ponto de corte ideal?

14

Estou tentando entender como calcular o ponto de corte ideal para uma curva ROC (o valor no qual a sensibilidade e a especificidade são maximizadas). Estou usando o conjunto aSAHde dados do pacotepROC .

A outcomevariável pode ser explicada por duas variáveis ​​independentes: s100be ndka. Usando a sintaxe do Epipacote, criei dois modelos:

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

A saída é ilustrada nos dois gráficos a seguir:

insira a descrição da imagem aqui insira a descrição da imagem aqui

No primeiro gráfico ( s100b), a função diz que o ponto de corte ideal está localizado no valor correspondente a lr.eta=0.304. No segundo gráfico ( ndka), o ponto de corte ideal é localizado no valor correspondente a lr.eta=0.335(qual é o significado delr.eta ). Minha primeira pergunta é:

  • qual é o valor correspondente s100be ndkaos lr.etavalores indicados (qual é o ponto de corte ideal em termos de s100be ndka)?

SEGUNDA QUESTÃO:

Agora, suponha que eu crie um modelo levando em consideração as duas variáveis:

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

O gráfico obtido é:

insira a descrição da imagem aqui

Quero saber quais são os valores de ndkaAND s100bnos quais a sensibilidade e a especificidade são maximizadas pela função. Em outros termos: quais são os valores de ndkaes100b nos quais temos Se = 68,3% e Sp = 76,4% (valores derivados do gráfico)?

Suponho que esta segunda questão esteja relacionada à análise multiROC, mas a documentação do Epipacote não explica como calcular o ponto de corte ideal para ambos variáveis ​​usadas no modelo.

Minha pergunta parece muito semelhante a esta pergunta do reasearchGate , que diz em resumo:

A determinação da pontuação de corte que representa uma melhor troca entre sensibilidade e especificidade de uma medida é direta. No entanto, para a análise multivariada da curva ROC, observei que a maioria dos pesquisadores se concentrou em algoritmos para determinar a precisão geral de uma combinação linear de vários indicadores (variáveis) em termos de AUC. [...]

No entanto, esses métodos não mencionam como decidir uma combinação de pontuações de corte associadas aos vários indicadores que oferecem a melhor precisão diagnóstica.

Uma solução possível é a proposta por Shultz em seu artigo , mas, a partir deste artigo, não sou capaz de entender como calcular o ponto de corte ideal para uma curva ROC multivariada.

Talvez a solução do Epipacote não seja ideal, portanto outros links úteis serão apreciados.

Tommaso
fonte

Respostas:

9

Para elaborar a resposta de Frank Harrell, o que o Epipacote fez foi ajustar uma regressão logística e fazer uma curva ROC com previsões de resultados da seguinte forma:

ovocêtcome=11+e-(β0 0+β1s100b+β2ndkuma)

β0 0β1β2

0,312=11+e-(-2,337+5,334s100b+0,031ndkuma)
1.588214=5,334s100b+0,031ndkuma
s100b=1.588214-0,031ndkuma5,334

Qualquer par de valores (s100b, ndka) que satisfaça essa igualdade é "ideal". Azar para você, há uma infinidade desses pares. Por exemplo, (0,29, 1), (0, 51,2) etc. Ainda pior, a maioria deles não faz nenhum sentido. O que significa o par (-580, 10000)? Nada!

Em outras palavras, você não pode estabelecer interrupções nas entradas - você deve fazê-las nas saídas, e esse é o objetivo do modelo.

Calimo
fonte
8

Y^

Frank Harrell
fonte
Eu entendo o problema que você explicou. A propósito, estou me perguntando se existe um método para calcular pontos de corte para dois (ou mais) testes em paralelo, a fim de aumentar o Sens e o Spec de identificar um status específico (doença / resultado / etc. ) Desde já, obrigado.
Tommaso
1
Como o ponto de corte "ideal" para x1 dependeria do valor contínuo de x2, e o ponto de corte "ideal" para x2 dependeria do valor contínuo de x1, não há como fazer isso e preservar informações suficientes para torná-lo um problema. desastre.
precisa
Portanto, não há como encontrar pontos de corte para dois ou mais testes, a fim de maximizar a sensibilidade e a especificidade? Obviamente, um método que não é uma análise multiROC. Obrigado novamente.
Tommaso
2
Simplesmente não é apropriado procurar pontos de corte nos insumos. As decisões ideais são tomadas usando nenhum ponto de corte ou, se necessário antes do momento da decisão, fazendo pontos de corte com as probabilidades previstas. Utilitários (perda / custo) são necessários para resolver o ponto de corte ideal para o risco previsto.
precisa
1
As curvas ROC não têm nada a ver com o cumprimento desse objetivo. Para fazer isso, você precisa relacionar a SCr ao resultado ou apenas calcular a probabilidade de obter uma SCr mais extrema do que a de uma população normal.
Frank Harrell
3

lr.etaηROC

Sua primeira frase deve dizer (como evidenciado pelos gráficos) que você está procurando onde a soma de sensibilidade e especificidade é maximizada. Mas por que isso é "ideal"? Um resultado falso positivo tem a mesma importação que um resultado falso negativo? Veja aqui .

Scortchi - Restabelecer Monica
fonte
Estava correto, posso calcular o ponto de corte do modelo ajustado (para uma variável independente) ou, alternativamente, usando a coordsfunção do pROCpacote, como descobri mais adiante. O ponto de corte ideal foi, no meu caso, a melhor combinação de Sens e Spec; Li a resposta vinculada, mas não me preocupo (pelo menos por enquanto) com resultados falso-positivos e falso-negativos, porque (se bem entendi) estou analisando um grupo de dados coletados para pesquisa.
Tommaso
O que é que você se preocupa, então? O que você está fazendo com o corte que não exige nenhuma consideração das consequências? E então o que é 'ideal' ou 'melhor' para ?
Scortchi - Restabelece Monica
Tommaso definiu "ideal" como "o valor no qual a sensibilidade e a especificidade são maximizadas" (citando a primeira frase da pergunta), implicitamente significando max (sensibilidade + especificidade). Se faz sentido ou não (e quando eu leio que ele não se importa, estou inclinado a pensar que não) é outra questão.
Calimo 04/02
1
Essa abordagem está em desacordo com a tomada de decisão.
Frank Harrell
1
Acho que se estou lendo seu post corretamente, lr.etaé exatamente a segunda opção que você menciona: a probabilidade do modelo ajustado:E[YEu|XEu]=11+e-(β0 0+β1×s100b). Verifique isso se você tiver um minuto.
Antoni Parellada
0

Você pode encontrar o limite no qual a verdadeira taxa positiva (tpr) cruza a verdadeira taxa negativa (tnr); este será o ponto em que a soma dos falsos positivos e falsos negativos é mínima.

user69641
fonte
Uma resposta de uma frase é normalmente considerada um pouco curta para o nosso formato. Você pode expandir sua resposta para incluir uma breve explicação de como você sabe que é onde o mínimo deve estar?
Glen_b -Reinstala Monica
1
Tal estratégia é contrária à tomada de decisão ideal.
Frank Harrell