Ponto de corte em uma curva ROC. Existe uma função simples?

10

Quero encontrar o ponto de corte para o gênero com base em uma medida antropológica. Posso desenhar as curvas e sei que, caso a sensibilidade e a especificidade sejam igualmente importantes, o ponto mais próximo ao canto superior esquerdo do quadro (ou, se a curva for negativa, o ponto mais próximo ao canto inferior direito) deve ser determinado como ponto de corte.

No entanto, não sei se existe alguma função já implementada no R ou algum outro programa para determinar isso, simplesmente? Só sei que o SPSS não tem essa função. Você conhece algum programa ou R que pode fazê-lo através de uma função já implementada?

Vic
fonte
3
Oi @Vic. Existe um excelente Rpacote chamado ROCRpara esse tipo de cálculo. Encontre aqui . Consulte também o site correspondente com uma documentação abrangente. Há também um artigo sobre o pacote .
COOLSerdash

Respostas:

12

Você deseja calcular o índice de Youden e encontrar o mais alto na sua curva ROC.

Ter um olhar para os OptimalCutpoints e cutpointr pacotes para R. Se você estiver fazendo análise ROC, você também pode usar a coordsfunção de proc (um pouco de auto-propaganda aqui):

library(pROC)
data(aSAH)
rocobj <- roc(aSAH$outcome, aSAH$s100b)
coords(rocobj, "best")
coords(rocobj, x="best", input="threshold", best.method="youden") # Same than last line
Calimo
fonte
4

Como o @COOLSerdash mencionou, existe um bom pacote R do ROCR para fazer esse tipo de análise.

Mas minha resposta é que não é possível tomar uma decisão final apenas com base em alguma métrica de informação.

Você deve especificar uma função de perda real que tenha seus parâmetros com base em algum valor relativo de várias classificações incorretas. É fácil, então, selecionar um ponto de corte que maximize ganhos ou minimize perdas.

Analista
fonte
1
Bem dito. Você também deve se perguntar qual é o valor de ter um ponto de corte quando puder apenas usar o risco previsto em um continuum.
Frank Harrell
1
Vic escreve que "a sensibilidade e a especificidade são igualmente importantes", que eu interpreto como o custo das diferentes classificações errôneas são idênticas. Nesse caso, uma função de custo simples como o Youden Index é apropriada (mas não é o caso em geral, de fato).
Calimo 20/01