Vantagens das curvas ROC

15

Quais são as vantagens das curvas ROC?

Por exemplo, estou classificando algumas imagens que são um problema de classificação binária. Extraí cerca de 500 recursos e apliquei um algoritmo de seleção de recursos para selecionar um conjunto de recursos, depois apliquei o SVM para classificação. Nesse caso, como posso obter uma curva ROC? Devo alterar os valores limite do meu algoritmo de seleção de recursos e obter sensibilidade e especificidade da saída para desenhar uma curva ROC?

No meu caso, qual é o objetivo de criar uma curva ROC?

user570593
fonte
2
"Uma introdução à análise ROC" de Tom Fawcett me ajudou a entender melhor as curvas ROC. Você pode gostar se estiver procurando literatura adicional sobre o assunto.
1818 Alexander Alexander
Ok, mas o que você faria para comparar dois classificadores? Se eles usam limiares para que nenhuma especificidade nem sensibilidade correspondam muito de perto, não acho que seja fácil comparar sem olhar para mais poitns no ROC.
Michael R. Chernick
Raramente é apropriado desenvolver classificadores, e o erro de classificação é uma regra de pontuação inadequada. Existem muitos métodos de alta potência para comparar a qualidade de previsões verdadeiras e são mais intuitivos que as curvas ROC. Veja, por exemplo, isso .
Frank Harrell

Respostas:

13

Muitos algoritmos de classificação binária calculam um tipo de pontuação de classificação (às vezes, mas nem sempre, é uma probabilidade de estar no estado-alvo) e são classificados com base no fato de a pontuação estar ou não acima de um determinado limite. A visualização da curva ROC permite ver a troca entre sensibilidade e especificidade para todos os limites possíveis, e não apenas aquele que foi escolhido pela técnica de modelagem. Objetivos de classificação diferentes podem tornar um ponto da curva mais adequado para uma tarefa e outro mais adequado para uma tarefa diferente; portanto, observar a curva ROC é uma maneira de avaliar o modelo independentemente da escolha de um limiar.

Michael McGowan
fonte
Obrigado pela resposta. Isso é realmente útil. Com base na curva ROC, existe uma maneira de determinar o limite? E no meu caso, como posso obter um ponto no espaço ROC para sensibilidade = 100% ou especificidade = 100%. porque estou alterando o limite do algoritmo de seleção de recursos.
User570593
1
A curva ROC mostra sensibilidade e especificidade em todos os limites possíveis; portanto, se você encontrar um ponto que representa a troca certa, poderá escolher o limite que acompanha esse ponto na curva.
Michael McGowan
Existe alguma maneira automática de selecionar a troca certa ou devo selecionar a troca sozinho? E no meu caso, como posso obter um ponto no espaço ROC para sensibilidade = 100% ou especificidade = 100%. porque estou alterando o limite do algoritmo de seleção de recursos.
User570593
2
Se você tiver um critério bem definido (por exemplo, maximizando a precisão), isso poderá ser automatizado. Mas uma boa troca por um problema pode ser ruim para outro.
Michael McGowan
2
Sensibilidade ou especificidade de 100% podem ser obtidas trivialmente, definindo seu limite no valor mínimo ou máximo ... é isso mesmo que você deseja?
Michael McGowan
11

As curvas ROC não são informativas em 99% dos casos que eu vi nos últimos anos. Eles parecem ser considerados obrigatórios por muitos estatísticos e ainda mais praticantes de aprendizado de máquina. E verifique se o seu problema é realmente um problema de classificação e não um problema de estimativa de risco. O cerne dos problemas com as curvas ROC é que eles convidam os usuários a usar pontos de corte para variáveis ​​contínuas e usam probabilidades reversas, ou seja, probabilidades de eventos que estão em ordem inversa do tempo (sensibilidade e especificidade). As curvas ROC não podem ser usadas para encontrar trocas ótimas, exceto em casos muito especiais em que os usuários de uma regra de decisão abdicam da função de perda (custo; utilidade) para o analista.

Frank Harrell
fonte
Eu não concordo completamente com Frank. Eu acho que usar a AUC do ROC é frequentemente um problema. Mas, qualitativamente, acho que pode ser útil comparar algoritmos. Analisar a especificidade e a sensibilidade em um único ponto não é tão informativo. Também não tenho certeza de que a resposta dele realmente responda à questão, porque o OP realmente quer saber no caso dele por que se enquadra nos casos não informativos de 99% ou nos 1% que são inforamtive.
Michael R. Chernick
Oi Michael - Vou apenas acrescentar que eu gosto de usar regras de pontuação adequada, incluindo generalizadas medidas, pontuação Brier (como erro quadrático médio). O que realmente gosto de fazer é mostrar que as previsões são precisas. R2
31812 Frank Harrell
@FrankHarrell Eu estaria interessado no que você quer dizer com "99% não foi informativo"? Que tipo de casos foram e quando o ROCC estaria correto? Também como são generalizadas medidas melhores para problemas binários? Estou curioso, porque parece que você tem um forte sentimento contra o ROCC e me pergunto qual é o pano de fundo. R2
Momo
1
@FrankHarrell Mas como você compara dois algoritmos quando eles não correspondem muito de perto quanto à especificidade e à sensibilidade?
Michael R. Chernick
7
R2χ2R2
1

Após criar uma curva ROC, a AUC (área sob a curva) pode ser calculada. A AUC é a precisão do teste em muitos limites. AUC = 1 significa que o teste é perfeito. AUC = 0,5 significa desempenho por acaso para classificação binária.

Se houver vários modelos, a AUC fornece uma única medida para comparar entre diferentes modelos. Sempre há trocas com uma única medida, mas a AUC é um bom ponto de partida.

Brian Spiering
fonte
1
YcDxy
0

A AUC não compara as classes reais versus as previstas entre si. Não está olhando para a classe prevista, mas a pontuação ou a probabilidade. Você pode fazer a previsão da classe aplicando um ponto de corte a essa pontuação, digamos, toda amostra que obteve uma pontuação abaixo de 0,5 é classificada como negativa. Mas o ROC vem antes que isso aconteça. Está trabalhando com as pontuações / probabilidades de classe.

Ele pega essas pontuações e classifica todas as amostras de acordo com essa pontuação. Agora, sempre que você encontrar uma amostra positiva, a curva ROC dá um passo à frente (ao longo do eixo y). Sempre que encontrar uma amostra negativa, você se move para a direita (ao longo do eixo x). Se essa pontuação for diferente para as duas classes, as amostras positivas serão as primeiras (geralmente). Isso significa que você faz mais etapas do que para a direita. Mais abaixo na lista, as amostras negativas aparecerão, então você se move para a esquerda. Quando você percorre toda a lista de amostras, chega à coordenada (1,1), que corresponde a 100% das amostras positivas e 100% das amostras negativas.

Se a pontuação separar perfeitamente o positivo das amostras negativas, você se moverá de (x = 0, y = 0) para (1,0) e depois de lá para (1, 1). Portanto, a área abaixo da curva é 1.

Se sua pontuação tiver a mesma distribuição para amostras positivas e negativas, as probabilidades de encontrar uma amostra positiva ou negativa na lista classificada são iguais e, portanto, as probabilidades de se mover para cima ou para a esquerda na curva ROC são iguais. É por isso que você se move na diagonal, porque você se move essencialmente para cima e para a esquerda, para cima e para a esquerda, e assim por diante ... o que fornece um valor de AROC de cerca de 0,5.

No caso de um conjunto de dados desequilibrado, o tamanho da etapa é diferente. Então, você dá passos menores para a esquerda (se tiver mais amostras negativas). É por isso que a pontuação é mais ou menos independente do desequilíbrio.

Portanto, com a curva ROC, você pode visualizar como suas amostras são separadas e a área sob a curva pode ser uma métrica muito boa para medir o desempenho de um algoritmo de classificação binária ou de qualquer variável que possa ser usada para separar classes.

insira a descrição da imagem aqui

A figura mostra as mesmas distribuições com diferentes tamanhos de amostra. A área preta mostra onde seriam esperadas curvas ROC de misturas aleatórias de amostras positivas e negativas.

Sören
fonte
Esses gráficos não fornecem informações e têm uma taxa de tinta: informação IMHO excepcionalmente alta. Vara com dezenas de precisão adequados: fharrell.com/post/class-damage fharrell.com/post/addvalue
Frank Harrell
Há muito mais informações nesses gráficos do que em uma única pontuação de precisão unidimensional. A mesma pontuação pode vir de muitas distribuições diferentes. Você tem reconhecimento precoce? Você tem várias classes de amostras positivas que se comportam de maneira diferente? O seu resultado é estatisticamente significativo? Todas essas perguntas podem ser óbvias para responder olhando para esses gráficos e impossíveis de resolver com uma única pontuação de precisão.
Sören
Eu questiono seriamente que consumidores e analistas podem obter informações dessas curvas que são quase tão intuitivas quanto mostrar uma curva de calibração sobreposta com um histograma de alta resolução mostrando os valores previstos. E cada ponto na curva ROC é um escore de precisão inadequado.
Frank Harrell
Os iniciantes costumam ter dificuldade em entender essas curvas. Portanto, eu não recomendaria necessariamente mostrá-lo aos consumidores para anunciar seu produto. Eu acho que você quer algo mais simplista. A curva é mais do que os pontos individuais.
Sören