Por que a AUC é mais alta para um classificador menos preciso do que para um que é mais preciso?

29

Eu tenho dois classificadores

  • A: rede bayesiana ingênua
  • B: rede bayesiana em árvore (conectada individualmente)

Em termos de precisão e outras medidas, A tem um desempenho comparativamente pior que B. No entanto, quando eu uso os pacotes R ROCR e AUC para realizar análises ROC, verifica-se que a AUC para A é maior que a AUC para B. Por que isso acontecendo?

O positivo verdadeiro (tp), falso positivo (fp), falso negativo (fn), negativo verdadeiro (tn), sensibilidade (sen), especificidade (especificação), valor preditivo positivo (ppv), valor preditivo negativo (npv) e precisão (acc) para A e B são os seguintes.

+------+---------+---------+
|      |    A    |    B    |
+------+---------+---------+
| tp   | 3601    | 769     |
| fp   | 0       | 0       |
| fn   | 6569    | 5918    |
| tn   | 15655   | 19138   |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv  | 1.00000 | 1.00000 |
| npv  | 0.70442 | 0.76381 |
| acc  | 0.74563 | 0.77084 |
+------+---------+---------+

Com exceção dos sens e laços (spec e ppv) nos marginais (excluindo tp, fn, fn e tn), B parece ter um desempenho melhor que A.

Quando eu calculo a AUC para sens (eixo y) vs 1 especificação (eixo x)

aucroc <- auc(roc(data$prediction,data$labels));

aqui está a comparação da AUC.

+----------------+---------+---------+
|                |    A    |    B    |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec   | 0.70770 | 0.61000 |
+----------------+---------+---------+

Então, aqui estão as minhas questões:

  • Por que a AUC para A é melhor que B, quando B "parece" superar A em relação à precisão?
  • Então, como eu realmente julgo / comparo os desempenhos de classificação de A e B? Quero dizer, eu uso o valor da AUC? Uso o valor acc e, se sim, por quê?
  • Além disso, quando aplico regras de pontuação adequadas a A e B, B supera A em termos de perda de log, perda quadrática e perda esférica (p <0,001). Como eles avaliam o desempenho da classificação em relação à AUC?
  • O gráfico ROC para A parece muito suave (é um arco curvo), mas o gráfico ROC para B se parece com um conjunto de linhas conectadas. Por que é isso?

Conforme solicitado, aqui estão os gráficos para o modelo A.

modelo A ingênuo bayes net

Aqui estão os gráficos para o modelo B.

rede regular de bayes modelo B

Aqui estão os gráficos de histograma da distribuição das probabilidades para A e B. (as quebras são definidas como 20).

gráfico de histograma

Aqui está o gráfico de dispersão das probabilidades de B vs A.

gráfico de dispersão

Jane Wayne
fonte
11
Suas tabelas não fazem sentido: como você escolheu o ponto em que calcula esses valores de desempenho?
Calimo 20/03
3
Lembre-se de que a AUC mede o desempenho em todos os limites possíveis . Ajudaria (você também) se pudesse mostrar as curvas (idealmente no mesmo gráfico).
Calimo 20/03
@ Calimo desculpe, esqueci de incluir essa informação, mas o limite usado para criar essa matriz de confusão era de 50%.
Jane Wayne
Você quer dizer 0,5? Os valores previstos de A e B olhar claramente diferentes, e se você não tem a dica, no entanto, você deve definitivamente traçar o lado a lado histogramas ...
Calimo
@Calimo, você poderia esclarecer os histogramas de que lado a lado?
Jane Wayne

Respostas:

27

cDxy

Frank Harrell
fonte
6
cc
11
@alto, 0.5 é extremamente arbitrário, coincidindo com uma função de utilidade / perda / custo mais incomum, na qual dois tipos de erros são igualmente ruins. Este raramente é o caso. Pensando probabilisticamente, que é o modo como acredito que funciona da natureza, não existe um "erro", mas um grau de maldade de uma previsão de risco. Por exemplo, prever uma probabilidade de 0,6 e depois observar um evento é pior do que prever uma probabilidade de 0,9 e depois observar um evento. Mas nenhuma das previsões está "errada". Você pode usar pontuações de precisão de probabilidade que não exigem limites.
Frank Harrell
3
Um modelo ilimitado, como a logística, não leva a mais adequação do que qualquer outra abordagem. A transformação logística garante que as estimativas de probabilidade sejam bem comportadas. A única desvantagem de uma regra de pontuação logarítmica é se você prever uma probabilidade extremamente próxima de 0 ou 1 e estiver "errado". É verdade que, em última análise, alguém toma uma decisão, mas isso não significa que o analista deve tomar uma decisão usando um limite. A decisão deve ser adiada para o tomador de decisão. O livro de Nate Silver, Signal and Noise, documenta grandes benefícios do pensamento probabilístico.
Frank Harrell
11
@FrankHarrell, é frustrante que você continue interpretando mal minha opinião. Eu nunca defendi uma abordagem de caixa preta. Simplesmente acho que sua afirmação "x é inútil, use apenas y" é muito forte.
alto
4
@alto que é perceptivo. Eu acho que o reconhecimento de padrões em tempo real não tem tempo para utilitários. Este não é o mundo em que trabalho. Mas ainda existem casos em tempo real em que você prefere que uma caixa preta lhe diga "incerta" do que forçar uma escolha entre "que é um tanque vindo em sua direção" vs. "que é um carro de passageiro ".
24714 Frank Harrell
16
  1. Por que a AUC para A é melhor que B, quando B "parece" superar A em relação à precisão?

    A precisão é calculada no valor limite de 0,5. Enquanto a AUC é calculada adicionando todas as "precisões" calculadas para todos os valores limite possíveis. O ROC pode ser visto como uma média (valor esperado) dessas precisões quando são calculados para todos os valores limite.

  2. Então, como eu realmente julgo / comparo os desempenhos de classificação de A e B? Quero dizer, eu uso o valor da AUC? eu uso o valor acc? e porque?

    Depende. As curvas ROC informam sobre o quão bem o seu modelo separa as duas classes, não importa onde esteja o valor limite. A precisão é uma medida que funciona bem normalmente quando as classes mantêm o mesmo equilíbrio nos conjuntos de trens e testes e quando as pontuações são realmente probabilidades. O ROC fornece mais dicas sobre como o modelo se comportará se essa suposição for violada (no entanto, é apenas uma ideia).

  3. além disso, quando aplico regras de pontuação adequadas a A e B, B supera A em termos de perda de log, perda quadrática e perda esférica (p <0,001). como eles avaliam o desempenho da classificação em relação à AUC?

    Eu não sei. Você precisa entender melhor sobre o que são seus dados. O que cada modelo é capaz de entender com seus dados. E decida depois qual é o melhor compromisso. A razão pela qual isso acontece é que não há métrica universal sobre o desempenho de um classificador.

  4. O gráfico ROC para A parece muito suave (é um arco curvo), mas o gráfico ROC para B se parece com um conjunto de linhas conectadas. por que é isso?

    Isso provavelmente ocorre porque o modelo bayesiano oferece transições suaves entre essas duas classes. Isso é traduzido em muitos valores limite. O que significa muitos pontos na curva ROC. O segundo modelo provavelmente produz menos valores devido à previsão com o mesmo valor em regiões maiores do espaço de entrada. Basicamente, também a primeira curva ROC é feita por linhas, a única diferença é que existem tantas pequenas linhas adjacentes que você a vê como uma curva.

rapaio
fonte
11
A precisão pode ser calculada em valores de limite diferentes de 0,5.
Calimo 20/03
Claro que voce esta certo. Foi por isso que usei "precisões" na próxima proposição. No entanto, quando se fala em precisão, sem outras informações de contexto, a melhor estimativa para o valor limite é 0,5.
rapaio 20/03
2
É fácil ver quão arbitrário é esse processo. Poucos estimadores em estatísticas que exigem opções binárias ou arbitrárias sobreviveram sem críticas pesadas. E eu nunca chamaria proporção classificada correta como "precisão".
Frank Harrell
@unreasonablelearner, você está certo em sua suposição .. a matriz de confusão acima foi calculada no limite 0,5. existe alguma vantagem em um limiar diferente?
Jane Wayne
11
@ JaneWayne A fórmula é de fato para a proporção de classificados correta. Precisão é o termo mais usado para isso. No entanto, precisão significa muito mais e, à luz do que Frank Harrell disse, acho que agora a precisão não é de longe o melhor termo para isso. Agora acho que seu uso pode prejudicar, mesmo que seja popular. Foi assim que eu estava errado.
Rapaio
4

Por que a AUC para A é melhor que B, quando B "parece" superar A em relação à precisão?

Primeiro, embora o ponto de corte (0,5) seja o mesmo, ele não é comparável entre A e B. De fato, parece bem diferente dos seus histogramas! Veja B: todas as suas previsões são <0,5.

Segundo, por que B é tão preciso? Por causa do desequilíbrio de classe. No teste B, você tem 19138 exemplos negativos e 6687 positivos (por que os números são diferentes em A não é claro para mim: valores ausentes talvez?). Isso significa que, simplesmente dizendo que tudo é negativo, já posso obter uma precisão muito boa: precisamente 19138 / (19138 + 6687) = 74%. Observe que isso não exige absolutamente nenhum conhecimento além do fato de que há um desequilíbrio entre as classes: até o modelo mais estúpido pode fazer isso!

E é exatamente isso que o teste B faz no limite 0,5 ... você obtém (quase) apenas previsões negativas.

A é mais um saco misturado com. Embora tenha uma precisão um pouco menor, observe que sua sensibilidade é muito maior neste ponto de corte ...

Finalmente, você não pode comparar a precisão (um desempenho em um limite) com a AUC (um desempenho médio em todos os limites possíveis). Como essas métricas medem coisas diferentes, não é de surpreender que sejam diferentes.

Então, como eu realmente julgo / comparo os desempenhos de classificação de A e B? Quero dizer, eu uso o valor da AUC? eu uso o valor acc? e porque?

Além disso, quando aplico regras de pontuação adequadas a A e B, B supera A em termos de perda de log, perda quadrática e perda esférica (p <0,001). Como eles avaliam o desempenho da classificação em relação à AUC?

Você tem que pensar: o que você realmente quer fazer? O que é importante? Por fim, somente você pode responder a essa pergunta com base no seu conhecimento. Talvez a AUC faça sentido (raramente faz realmente quando você pensa sobre isso, exceto quando você não quer tomar uma decisão, mas deixa que outras pessoas o façam - isso é mais provável se você estiver fazendo uma ferramenta para que outras pessoas usem), talvez a precisão (se você precisar de uma resposta binária, vai-não-vai), mas talvez em limites diferentes, talvez algumas outras medidas mais contínuas, talvez uma das medidas sugeridas por Frank Harrell ... como já foi dito, não há uma pergunta universal Aqui.

O gráfico ROC para A parece muito suave (é um arco curvo), mas o gráfico ROC para B se parece com um conjunto de linhas conectadas. Por que é isso?

Volte para as previsões que você mostrou nos histogramas. A fornece uma previsão contínua ou quase contínua. Pelo contrário, B retorna principalmente apenas alguns valores diferentes (como você pode ver no histograma "pontudo").

Em uma curva ROC, cada ponto corresponde a um limite. Em A, você tem muitos limites (porque as previsões são contínuas), portanto a curva é suave. Em B, você tem apenas alguns limites, portanto a curva parece "saltar" de um SN / SP para outro.

Você vê saltos verticais quando a sensibilidade muda apenas (o limiar faz diferença apenas para casos positivos), saltos horizontais quando a especificidade muda (o limiar faz diferenças apenas para exemplos negativos) e saltos diagonais quando a alteração do limiar afeta as duas classes.

Calimo
fonte
+1, no entanto, não é o caso de a AUC ser apenas para "quando você não quiser tomar uma decisão, mas deixar que outros o façam". Consulte: Como calcular a área sob a curva (AUC), ou a estatística c, manualmente .
gung - Restabelece Monica