Sei sulla pagina 1di 7

Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

Csar Souza

Anlise de Poder Discriminativo Atravs de Curvas


ROC
JULY 13, 2009 / CESARSOUZA / LEAVE A COMMENT

Quando desenvolvemos sistemas, mtodos ou testes que envolvem a deteco, diagnsticos ou previso de
resultados, importante validar seus resultados de forma a quantificar seu poder discriminativo e identificar um
procedimento ou mtodo como bom ou no para determinada anlise. No entanto, devemos levar em conta que a
simples quantificao de acertos num grupo de teste no necessariamente reflete o quo eficiente um sistema , pois
essa quantificacao depender fundamentalmente da qualidade e distribuio dos dados neste grupo de teste.

Para exemplificar, tomemos o exemplo de um sistema para deteco de diabetes em pacientes, cuja sada 1 ou 0
indicando se o paciente possui a condio ou no. Agora, suponha que ao aplicamos este sistema num grupo de
teste contendo 100 pacientes, dos quais j sabemos quais tem diabetes ou no, o sistema acerta 90% dos
diagnsticos. Parece muito bom, no?

No exatamente. O que no levamos em conta foi a distribuio da condio no grupo de teste. Revelamos agora

1 of 7 03/04/2017 08:28
Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

que, no grupo de teste, 90% dos pacientes, na verdade, tinham a condio. O sistema, portanto, poderia
simplesmente ter dito 1 a qualquer entrada apresentada, e mesmo assim, ainda conseguiria 90% de acerto j que
os restantes 10% eram saudveis. A esta altura, j no podemos ter a certeza de que o tal sistema seria to bom
assim.

Tabela de Contingncia (matriz de confuso)

Para casos como este, outras medidas foram criadas a fim de desconsiderar eventuais desbalanceamentos nos
grupos de teste. Antes de entrar nestas medidas, apresento-lhe a chamada tabela de contingncia (ou matriz de
confuso), que servir de base para as demais medidas apresentadas. Seu funcionamento simples: consideramos
valores positivos que o sistema julgou positivos como verdadeiros positivos (acerto), valores positivos que o sistema
julgou negativos como falso negativo (erro), valores negativos que o sistema julgou como negativos como
verdadeiros negativos (acerto), e valores negativos que o sistema julgou positivos como falso positivos (erro).

A seguir, apresentamos algumas medidas dela derivadas.

Acurcia

A proporo de predies corretas, sem levar em considerao o que positivo e o que negativo. Esta medida
altamente suscetivel a desbalanceamentos do conjunto de dados e pode facilmente induzir a uma concluso
errada sobre o desempenho do sistema.

ACC = TOTAL DE ACERTOS / TOTAL DE DADOS NO CONJUNTO

= (VP + VN) / (P + N)

Sensibilidade

A proporo de verdadeiros positivos: a capacidade do sistema em predizer corretamente a condio para casos
que realmente a tm.

2 of 7 03/04/2017 08:28
Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

SENS = ACERTOS POSITIVOS / TOTAL DE POSITIVOS

= VP / (VP + FN)

Especificidade

A proporo de verdadeiros negativos: a capacidade do sistema em predizer corretamente a ausncia da


condio para casos que realmente no a tm.

SPEC = ACERTOS NEGATIVOS / TOTAL DE NEGATIVOS

= VN / (VN + FP)

Eficincia

A mdia aritmtica da Sensibilidade e Especificidade. Na prtica, a sensibilidade e a especificidade variam em


direes opostas. Isto , geralmente, quando um mtodo muito sensvel a positivos, tende a gerar muitos falso-
positivos, e vice-versa. Assim, um mtodo de deciso perfeito (100 % de sensibilidade e 100% especificidade)
raramente alcanado, e um balano entre ambos deve ser atingido.

EFF = (SENS + ESPEC) / 2

Preditividade Positiva

A proporo de verdadeiros positivos em relao a todas as predies positivas. Esta medida altamente
suscetivel a desbalanceamentos do conjunto de dados e pode facilmente induzir a uma concluso errada sobre
o desempenho do sistema.

PPV = ACERTOS POSITIVOS / TOTAL DE PREDIES POSITIVAS

= VP / (VP + FP)

Preditividade Negativa

A proporo de verdadeiros negativos em relao a todas as predies negativas. Esta medida altamente
suscetivel a desbalanceamentos do conjunto de dados e pode facilmente induzir a uma concluso errada sobre
o desempenho do sistema.

NPV = ACERTOS NEGATIVOS / TOTAL DE PREDIES NEGATIVAS

= VN / (VN + FN)

3 of 7 03/04/2017 08:28
Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

Coeficiente de Correlao de Matthews ou Coeficiente (phi)

O coeficiente de correlao de Matthews uma medida de qualidade de duas classificaes binrias que pode
ser usada mesmo se as classes possuem tamanhos bastante diferentes. Retorna um valor entre 1 e +1, em que
um coeficiente de +1 representa uma predicao perfeita, 0 uma predicao aleatoria media, e 1 uma predicao
inversa. Esta estatistica equivalente ao coeficiente phi, e tenta, assim como a eficincia, resumir a qualidade da
tabela de contingncia em um nico valor numrico passivel de ser comparado.

MCC = = (VP*VN FP*FN) / sqrt((VP + FP)*(VP + FN)*(VN + FP)*(VN + FN))

Note que, se qualquer uma das somas no denominador for igual a zero, o denominador pode ser considerado 1,
resutando num MCC igual a 0 que seria o limite correto para esta situao.

A Curva de Receiver Operating Characteristic (ROC)


A curva ROC (ou curva de ROC) foi desenvolvida por engenheiros eltricos e engenheiros de sistemas de radar
durante a Segunda Guerra Mundial para detecter objetos inimigos em campos de batalha, tambem conhecida como
teoria de deteco de sinais. A anlise ROC tem sido utilizada em medicina, radiologia, psicologia e outras areas por
muitas dcadas e, mais recentemente, foi introduzida reas como aprendizado de mquina e mineracao de
dados.

Curvas ROC de diferentes classificadores

Como o resultado de sistemas de classificao em classes geralmente so contnuos, ou seja, produzem um valor

4 of 7 03/04/2017 08:28
Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

situado dentro de um determinado intervalo contnuo, como [0;1], necessrio definir um ponto de corte, ou um
limiar de deciso, para se classificar e contabilizar o nmero de predies positivas e negativas (como diagnsticos
verdadeiros e falsos no caso de ocorrncia de uma patologia). Como este limiar pode ser selecionado
arbitrariamente, a melhor prtica para se comparar o desempenho de diversos sistemas estudar o efeito de seleo
de diversos limiares sobre a sada dos dados.

Para cada ponto de corte so calculados valores de sensibilidade e especificidade, que podem ento serem dispostos
em um grfico denominado curva ROC, que apresenta no eixo das ordenadas os valores de sensibilidade e nas
abscissas o complemento da especificidade, ou seja, o valor (1-especificidade).

Um classificador perfeito corresponderia a uma linha horizontal no topo do grfico, porm esta dificilmente ser
alcanada. Na prtica, curvas consideradas boas estaro entre a linha diagonal e a linha perfeita, onde quanto maior
a distncia da linha diagonal, melhor o sistema. A linha diagonal indica uma classificao aleatria, ou seja, um
sistema que aleatoriamente seleciona sadas como positivas ou negativas, como jogar uma moeda para cima e
esperar cara ou coroa. Definitivamente, no o tipo de sistema mais confivel possvel. No entanto, um sistema cuja
curva ROC esteja localizada abaixo da diagonal ainda pode ser convertido num bom sistema basta inverter suas
sadas e ento sua curva tambm ser invertida.

Uma medida padro para a comparacao de sistemas a rea sob a curva (AUC), que pode ser obtida por mtodos de
integrao numrica, como por exemplo, o mtodo dos trapzios. Teoricamente, quanto maior a AUC, melhor o
sistema.

Exemplo de como fazer uma curva ROC no Excel.

Calculando a rea de uma curva ROC no Microsoft Excel

Coloque os pares sensibilidade e (1-especificidade) nas colunas A e B, respectivamente. Caso sejam 10 pontos
(de A1 a B10), utilize a seguinte frmula:

=SUMPRODUCT((A6:A15+A5:A14)*(B5:B14-B6:B15))*0,5

Determinando o melhor ponto de corte

Finalmente, a partir de uma curva ROC, devemos poder selecionar o melhor limiar de corte para obtermos o melhor
desempenho possvel. Para isto, podemos utilizar como parmetro de comparao a medida de eficincia
apresentada acima ou o valor (phi). Assim, podemos obter o limiar que apresente a melhor combinao de valores
de especificidade e sensibilidade para o sistema.

5 of 7 03/04/2017 08:28
Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

Determinando o erro padro no clculo da rea

O erro padro de uma curva ROC se refere ao desvio padro assumido ao aplicarmos nosso sistema a uma amostra
da populao do que se aplicssemos a populao inteira. Esta medida parte do fato que, dependendo de quais
amostras de uma populao tomemos os valores para produzir nossa anlise ROC, a rea sob a curva poder variar
de acordo com a distribuio particular desta amostra.

O calculo do erro , em certo ponto, simples, pois parte de apenas trs valores conhecidos: a rea A sob a curva ROC,
o nmero Na de casos da amostra que apresentam a condio investigada (por exemplo, com diabetes) e o nmero
Nn de casos que no a apresentam (sem).

ERRO = sqrt((A*(1 A) + (Na 1)*(Q1 A)+(Nn 1)(Q2 A))/(Na * Nn))

em que:

Q1 = A/(2 A)
Q2 = 2*A/(1 + A)

Cdigo
Na segunda parte da verso em ingls deste artigo est disponvel uma implementao de curvas ROC em C#,
incluindo cdigo-fonte e aplicativos de demonstrao.

Guias Recomendados
Receiver Operating Curves: An Introduction Excelente pgina sobre curvas ROC e suas aplicaes. Inclui excelentes
applets que permitem brincar com as curvas, compreender melhor seu funcionamento e seu significado. Direcionado
tanto a quem busca uma rpida introduo ao tema quanto a pesquisadores j familiarizados com a rea.

Referncias
WIKIPEDIA, The Free Encyclopedia, Receiver Operating Characteristic, Disponvel em: <http://en.wikipedia.org
/wiki/Receiver_operating_characteristic> Acesso em: 07 jul. 2009.

6 of 7 03/04/2017 08:28
Anlise de Poder Discriminativo Atravs de Curv... http://crsouza.com/2009/07/13/analise-de-poder-...

SABATTINI, R. M. E.; Um Programa para o Clculo da Acurcia, Especificidade e Sensibilidade de Testes Mdicos;
Revista Informdica, 2 (12): 19-21, 1995. Disponvel em: <http://www.informaticamedica.org.br/informed/sensib.htm>
Acesso em: 07 jul. 2009.

ANAESTHESTIST.COM, Receiver Operating Curves: An Introduction, Disponvel em: <http://www.anaesthetist.com


/mnm/stats/roc/Findex.htm> Acesso em: 13 jul. 2009.

Notcias Interessantes
BBC NEWS MAGAZINE, A scanner to detect terrorists; Artigo muito interessante sobre como estatsticas so mal
interpretadas quando divulgadas pela mdia. To find one terrorist in 3000 people, using a screen that works 90% of
the time, youll end up detaining 300 people, one of whom might be your target. Escrito por Michael Blastland.

Articles, Computer Science, Guides, Programming, Science

Powered by WordPress | Theme by Themehaus

7 of 7 03/04/2017 08:28

Potrebbero piacerti anche