Estou analisando várias medidas de desempenho para modelos preditivos. Muito foi escrito sobre problemas no uso da precisão, em vez de algo mais contínuo para avaliar o desempenho do modelo. Frank Harrell http://www.fharrell.com/post/class-damage/ fornece um exemplo ao adicionar uma variável informativa a um modelo, levando a uma queda na precisão, claramente contra-intuitiva e conclusão errada.
No entanto, neste caso, isso parece ser causado por ter classes desequilibradas e, portanto, pode ser resolvido apenas com a precisão equilibrada ((sens + spec) / 2). Existe algum exemplo em que o uso da precisão em um conjunto de dados equilibrado levará a algumas conclusões claramente erradas ou contra-intuitivas?
Editar
Estou procurando algo em que a precisão caia mesmo quando o modelo é claramente melhor ou que o uso da precisão levará a uma seleção positiva falsa de alguns recursos. É fácil criar exemplos de falsos negativos, em que a precisão é a mesma para dois modelos em que um é claramente melhor usando outros critérios.
Respostas:
Vou trapacear.
Especificamente, argumentei com frequência (por exemplo, aqui ) que a parte estatística da modelagem e previsão se estende apenas a fazer previsões probabilísticas para associações de classe (ou fornecer densidades preditivas, no caso de previsão numérica). Tratar uma instância específica como se pertencesse a uma classe específica (ou previsões de pontos no caso numérico) não é mais uma estatística adequada. Faz parte do aspecto teórico da decisão .
E as decisões não devem ser baseadas apenas na previsão probabilística, mas também nos custos de classificações incorretas e em uma série de outras ações possíveis . Por exemplo, mesmo se você tiver apenas duas classes possíveis, "doente" vs. "saudável", poderá realizar uma grande variedade de ações possíveis, dependendo da probabilidade de um paciente sofrer da doença, de enviá-lo para casa porque é quase certamente saudável, dar a ele duas aspirinas, executar testes adicionais, chamar imediatamente uma ambulância e colocá-lo em suporte de vida.
A avaliação da precisão pressupõe essa decisão. A precisão como métrica de avaliação para classificação é um erro de categoria .
Portanto, para responder sua pergunta, seguirei o caminho de apenas um erro de categoria. Consideraremos um cenário simples com classes equilibradas em que a classificação sem levar em consideração os custos da classificação incorreta realmente nos enganará.
Suponha que uma epidemia de Gutrot Maligno ocorra galopante na população. Felizmente, podemos rastrear todos facilmente alguma característicat ( 0≤t≤1 ), e sabemos que a probabilidade de desenvolver MG depende linearmente de t , p=γt para algum parâmetro γ ( 0≤γ≤1 ). O traço t é uniformemente distribuído na população.
Felizmente, existe uma vacina. Infelizmente, é caro, e os efeitos colaterais são muito desconfortáveis. (Vou deixar sua imaginação fornecer os detalhes.) No entanto, eles são melhores do que sofrer de MG.
No interesse da abstração, afirmo que, de fato, existem apenas dois cursos de ação possíveis para um determinado paciente, dado o seu valor de característicat : vacinar ou não.
Assim, a pergunta é: como devemos decidir quem deve ser vacinado e quem não deve, dadot ? Seremos utilitários sobre isso e pretendemos ter os menores custos totais esperados. É óbvio que isso se resume em escolher um limiar θ e vacinar todos com t≥θ .
O modelo e a decisão 1 são orientados pela precisão. Encaixe um modelo. Felizmente, já conhecemos o modelo. Escolha o limiarθ que maximiza a precisão ao classificar os pacientes e vacine todos com t≥θ . Vemos facilmente que θ=12γ é o número mágico - todos comt≥θ têm uma chance maior de contrair MG do que não e vice-versa, portanto esselimite de probabilidade de classificaçãomaximizará a precisão. Supondo classes equilibradas,γ=1 , vacinaremos metade da população. Curiosamente, seγ<12 , não vamos vacinarninguém. (Estamos principalmente interessados em aulas equilibradas, então vamos desconsiderar que deixamos parte da população morrer por uma morte dolorosa horrível.)
Escusado será dizer que isso não leva em consideração os custos diferenciais da classificação incorreta.
Modelo-and-decisão 2 alavancagem tanto a nossa previsão probabilística ( "dada a sua característicat , sua probabilidade de contrair MG é γt ") e a estrutura de custos.
Primeiro, aqui está um pequeno gráfico. O eixo horizontal fornece a característica, o eixo vertical a probabilidade MG. O triângulo sombreado indica a proporção da população que contrairá MG. A linha vertical fornece algumθ particular . A linha tracejada horizontal em γθ tornará os cálculos abaixo um pouco mais fáceis de seguir. Assumimos γ>12 , apenas para facilitar a vida.
Vamos dar nomes aos nossos custos e calcular suas contribuições para os custos totais esperados, dadosθ e γ (e o fato de que a característica é distribuída uniformemente na população).
(Em cada trapézio, primeiro calculo a área do retângulo e depois adiciono a área do triângulo.)
Os custos totais esperados sãoc++((1−θ)γθ+12(1−θ)(γ−γθ))+c−+((1−θ)(1−γ)+12(1−θ)(γ−γθ))+c−−(θ(1−γθ)+12θγθ)+c+−12θγθ.
Diferenciando e definindo a derivada como zero, obtemos que os custos esperados são minimizados porθ∗=c−+−c−−γ(c+−+c−+−c++−c−−).
Isso é apenas igual ao valor maximizador da precisão deθ para uma estrutura de custos muito específica, ou seja, se e somente se
12γ=c−+−c−−γ(c+−+c−+−c++−c−−),
ou
12=c−+−c−−c+−+c−+−c++−c−−.
Como exemplo, suponha queγ=1 para classes equilibradas e que os custos sejam
c++=1,c−+=2,c+−=10,c−−=0.
Então a precisão maximizandoθ=12 produzirá custos esperados de1.875 , enquanto o custo que minimizaθ=211 trará custos esperados de1.318 .
Neste exemplo, basear nossas decisões em classificações não probabilísticas que maximizavam a precisão levavam a mais vacinas e custos mais altos do que o uso de uma regra de decisão que explicitamente usava as estruturas de custos diferenciais no contexto de uma previsão probabilística.
Conclusão: a precisão é apenas um critério de decisão válido se
No caso geral, avaliar a precisão faz uma pergunta errada e maximizar a precisão é o chamado erro do tipo III: fornecer a resposta correta para a pergunta errada.
Código R:
fonte
levelplot( thetastar ~ cdminus + cdplus, data = data.table( expand.grid( cdminus = seq( 0, 10, 0.01 ), cdplus = seq( 0, 10, 0.01 ) ) )[ , .( cdminus, cdplus, thetastar = cdminus/(cdminus + cdplus) ) ] )
Talvez valha a pena acrescentar outro exemplo, talvez mais direto, à excelente resposta de Stephen.
Abordagem baseada em precisão
Observe que isso - é claro - não depende dos custos.
Se as aulas são equilibradas, o ideal é a média dos valores médios dos testes em pessoas doentes e saudáveis, caso contrário, ela é deslocada com base no desequilíbrio.
Abordagem baseada em custos
Usando a notação de Stephen, o custo total esperado éc++p ( 1 - Φ+( b ) ) + c-+( 1 -p ) ( 1 - Φ-(b ) ) + c+-p Φ+( b) + c--( 1 - p) Φ-( B ) . Tome seu derivado wrt b e defina-o como zero: - c++p φ+( B ) - C-+( 1 - p ) φ-( b ) + c+-p φ+( b ) + c--( 1 - p ) φ-( B ) == φ+( B ) p ( c+-- c++) + φ-(b)(1−p)(c−−−c−+)==φ+(b)pc+d−φ−(b)(1−p)c−d=0, using the notation I introduced in my comments below Stephen's answer, i.e., c+d=c+−−c++ and c−d=c−+−c−− .
The optimal threshold is therefore given by the solution of the equationφ+(b)φ−(b)=(1−p)c−dp c+d. Duas coisas devem ser observadas aqui:
Eu ficaria realmente interessado em ver se esta equação tem uma solução genérica parab (parametrizado pelo φ s), mas eu ficaria surpreso.
No entanto, podemos resolver isso normalmente!2 πσ2----√ s cancelar no lado esquerdo, por isso temos e- 12( ( b - μ+)2σ2- ( b - μ-)2σ2)= ( 1 - p ) c-dp c+d( b - μ-)2- ( b - μ+)2= 2 σ2registro( 1 - p ) c-dp c+d2 b ( μ+- μ-) + ( μ2-- μ2+) =2 σ2registro( 1 - p ) c-dp c+d portanto, a solução é b∗= ( μ2+- μ2-) +2 σ2registro( 1 - p ) c-dp c+d2 ( μ+- μ-)= μ++ μ-2+ σ2μ+- μ-registro( 1 - p ) c-dp c+d.
(Compare com o resultado anterior! Vemos que eles são iguais se e somente sec-d= c+d , ou seja, as diferenças no custo da classificação incorreta em comparação com o custo da classificação correta são as mesmas em pessoas doentes e saudáveis.)
Uma breve demonstração
Digamosc--= 0 (é bastante natural em termos médicos), e que c++= 1 (sempre podemos obtê-lo dividindo os custos com c++ , medindo todos os custos em c++ unidades). Digamos que a prevalência ép = 0,2 . Além disso, digamos queμ-= 9,5 , μ+= 10,5 e σ= 1 .
Nesse caso:
O resultado é (os pontos representam o custo mínimo e a linha vertical mostra o limite ideal com a abordagem baseada na precisão):
Podemos ver muito bem como o ótimo baseado em custo pode ser diferente do ideal baseado em precisão. É instrutivo pensar no porquê: se é mais caro classificar pessoas doentes erroneamente saudáveis do que o contrário (c+- é alto, c-+ é baixo) do que o limiar diminui, pois preferimos classificar mais facilmente na categoria doente, por outro lado, se for mais caro classificar pessoas saudáveis erroneamente doentes do que o contrário (c+- é baixo, c-+ é alto) do que o limite aumenta, pois preferimos classificar mais facilmente na categoria saudável. (Verifique estes na figura!)
Um exemplo da vida real
Vamos dar uma olhada em um exemplo empírico, em vez de uma derivação teórica. Este exemplo será diferente basicamente de dois aspectos:
O conjunto de dados (
acath
do pacoteHmisc
) é do Banco de Dados de Doenças Cardiovasculares da Universidade de Duke e contém se o paciente teve doença coronariana significativa, avaliada por cateterismo cardíaco, este será nosso padrão ouro, ou seja, o verdadeiro status da doença e o "teste "será a combinação da idade, sexo, nível de colesterol e duração dos sintomas do sujeito:Vale a pena traçar os riscos previstos em escala logit, para ver como eles são normais (essencialmente, foi o que assumimos anteriormente, com um único teste!):
Bem, eles não são normais ...
Vamos continuar e calcular o custo total esperado:
E vamos plotá-lo para todos os custos possíveis (uma observação computacional: não precisamos iterar irremediavelmente através de números de 0 a 1, podemos reconstruir perfeitamente a curva calculando-a para todos os valores exclusivos de probabilidades previstas):
Podemos ver muito bem onde devemos colocar o limite para otimizar o custo geral esperado (sem usar sensibilidade, especificidade ou valores preditivos em qualquer lugar!). Essa é a abordagem correta.
É especialmente instrutivo contrastar essas métricas:
Agora, podemos analisar as métricas que às vezes são anunciadas especificamente como capazes de criar um ponto de corte ideal sem custos, e contrastá-lo com nossa abordagem baseada em custos! Vamos usar as três métricas mais usadas:
(Por uma questão de simplicidade, subtrairemos os valores acima de 1 para a regra de Youden e de Precisão, para que tenhamos um problema de minimização em todos os lugares.)
Vamos ver os resultados:
Obviamente, isso se refere a uma estrutura de custos específica,c--= 0 , c++= 1 , c-+= 2 , c+-= 4 (isso obviamente é importante apenas para a decisão de custo ideal). Para investigar o efeito da estrutura de custos, escolha apenas o limite ideal (em vez de rastrear toda a curva), mas plote-o em função dos custos. Mais especificamente, como já vimos, o limite ideal depende dos quatro custos apenas através doc-d/ c+d , vamos traçar o ponto de corte ideal em função disso, juntamente com as métricas normalmente usadas que não usam custos:
Linhas horizontais indicam as abordagens que não usam custos (e, portanto, são constantes).
Novamente, vemos bem que, à medida que o custo adicional da classificação incorreta no grupo saudável aumenta em comparação com o grupo doente, o limiar ideal aumenta: se realmente não queremos que as pessoas saudáveis sejam classificadas como doentes, usaremos pontos de corte mais altos (e o contrário, é claro!).
E, finalmente, mais uma vez vemos por que os métodos que não usam custos nem sempre são ( e não podem! ) Ser sempre ótimos.
fonte