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 aSAH
de dados do pacotepROC
.
A outcome
variável pode ser explicada por duas variáveis independentes: s100b
e ndka
. Usando a sintaxe do Epi
pacote, 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:
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
s100b
endka
oslr.eta
valores indicados (qual é o ponto de corte ideal em termos des100b
endka
)?
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 é:
Quero saber quais são os valores de ndka
AND s100b
nos quais a sensibilidade e a especificidade são maximizadas pela função. Em outros termos: quais são os valores de ndka
es100b
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 Epi
pacote 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 Epi
pacote não seja ideal, portanto outros links úteis serão apreciados.
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 .
fonte
coords
função dopROC
pacote, 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.lr.eta
é exatamente a segunda opção que você menciona: a probabilidade do modelo ajustado: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.
fonte