ANÁLISE DISCRIMINANTE LIG, 11 de novembro de 2008 Classificação em uma de duas populações Regras de classificação são geralmente desenvolvidas a partir de amostras de “aprendizado”, isto é amostras para as quais sabe-se de qual das duas populações provém o objeto. As medidas características dos objetos selecionados aleatoriamente são, então, examinadas pelas suas diferenças para os dois grupos. Na prática: o conjunto de todos os resultados amostrais R é dividido em duas regiões R1 e R2 tal que se uma nova observação cair em R1 ela será alocada na população 1 e, se cair em R2, ela será alocada na população 2. Classificação em uma de duas populações As regras de classificação geralmente não fornecem um método de designação livre de erro. Isto ocorre porque pode não existir uma distinção entre as medidas características das duas populações, isto é, os grupos podem de alguma forma sobrepor-se. Um bom procedimento de classificação deveria resultar em poucas classificações incorretas. Outro aspecto da classificação: custo que pode-se estar sujeito, devido a uma classificação incorreta. Suponha que classificar um objeto de 1 em 2 represente um erro mais sério do que classificar um objeto de 2 em 1. Um procedimento de classificação ótimo deve sempre que possível levar em conta os custos associados à classificação incorreta. Custo de classificação incorreta Sejam f1(x) e f2(x), as densidades de probabilidade associadas às populações 1 e 2. Seja R a coleção de todas as possíveis observações x. Sejam R1 o conjunto de valores no espaço amostral para os quais classificamos o objeto em 1 e, R2 o conjunto dos valores restantes para os quais classificamos o objeto em 2. Como todo objeto deve ser classificado em uma, e somente uma, das duas populações segue que os conjuntos R1 e R2 devem ser mutuamente exclusivos e exaustivos tal que R1 R2= e R1 UR2=R. A probabilidade condicional, p21, de classificar um objeto de 1 em 2 é: p 21 f ( x)d x 1 R2 Custo de classificação incorreta Similarmente, a probabilidade condicional, p12, de classificar um objeto de 2 em 1 é: p12 f 2 ( x)d x R1 Sejam 1 a probabilidade a priori de um objeto pertencer a 1 e, 2 a probabilidade a priori de um objeto pertencer a 2. A probabilidade total de classificação incorreta é então dada por: PTCI= 1 p21 + 2 p12 As regras de classificação são freqüentemente avaliadas em termos de suas probabilidades de classificação incorreta, mas este critério não leva em consideração os custos de classificação. Custo de classificação incorreta Observação proveniente de: Alocada em 1 Alocada em 2 1 0 C21 2 C12 0 Para qualquer regra de classificação, o custo esperado de classificação incorreta (CECI) é dado por: CECI=1 p21C21 +2 p12C12 Uma regra de classificação razoável deve ter um CECI tão pequeno quanto possível. Regras de alocação ótimas Sugere-se que uma regra de classificação adequada poderia ser determinada pela minimização do custo esperado de classificação incorreta (CECI). Em outras palavras, as regiões R1 e R2 devem ser escolhidas tal que o CECI seja minimizado Resultado: As regiões R1 e R2 que minimizam o CECI são definidas pelos valores de x para os quais as seguintes desigualdades valem: R1 : R2 : f1 ( x) C12 2 f 2 ( x) C211 f1 ( x) C12 2 f 2 ( x) C211 Observações Outros critérios diferentes do critério do CECI mínimo podem ser usados para derivar procedimentos ótimos de classificação. Por exemplo, pode-se ignorar os custos de classificação incorreta e escolher R1 e R2 que minimizam a probabilidade total de classificação incorreta (PTCI= 1 p21 + 2 p 12). Matematicamente, o problema aqui é equivalente ao problema de minimização do custo esperado de classificação (CECI) quando os custos C21 e C12 são iguais. Conseqüentemente, as regiões ótimas são R : f1 ( x) 2 1 f 2 ( x ) 1 f1 ( x ) 2 R2 : f 2 ( x ) 1 Probabilidade a posteriori de classificação incorreta Podemos também alocar uma nova observação x0 à população com maior probabilidade de incidência a posteriori P(i|x0) em que P( 1 | x 0 ) P( 2 | x 0 ) 1P(observar x 0 | 1 ) P(observar x 0 ) 2 P(observar x 0 | 2 ) P(observar x 0 ) f (x ) 1 f1 ( x10 )1 20f 2 ( x0 ) e f (x ) 1 f1 ( x20 )2 20f 2 ( x0 ) Classificamos x 0 em 1 se P(1 | x 0 ) P( 2 | x 0 ). Duas populações normais Suponha agora que f1(x) e f2(x), sejam densidades normais p-variadas com vetores de média μ1 e μ2 e matrizes de covariância 1 e 2. Caso 1: 1=2=. f1 ( x) 1 exp- ( x 1 )T 1 ( x 1 ) ( x 2 )T 1 ( x 2 ) f 2 ( x) 2 Populações normais, covariâncias iguais Nesse caso, as regiões de classificação são dadas por: R1 : R1 : f1 ( x) 1 C exp- ( x 1 )T 1 ( x 1 ) ( x 2 )T 1 ( x 2 ) 12 2 f 2 ( x) 2 C211 f1 ( x) 1 C exp- ( x 1 )T 1 ( x 1 ) ( x 2 )T 1 ( x 2 ) 12 2 f 2 ( x) 2 C211 Populações normais, covariâncias iguais Aplicando a função log na base e (ln), em ambos os lados da desigualdade obtida, chegase a seguinte regra de classificação simplificada: C12 2 1 T 1 . R1 : ( ) x 0 ( ) ( ) ln 1 2 1 2 1 2 2 C211 T aT x 0 1 m Comparando a regra do CECI mínimo e essa regra com o método de Fisher observe que os procedimentos serão equivalentes, se os custos e probabilidades de incidência a priori forem iguais. Estimação Na maioria das aplicações μ1, μ2 e são desconhecidos tal que a regra obtida deve ser modificada. Wald (1944) e Anderson (1984) sugeriram a substituição dos parâmetros populacionais pelas suas estimativas: x1 , x2 e S Neste caso, a regra modificada é alocar x0 à 1 se C 1 R1 : ( x1 x2 )T S 1 x 0 ( x1 x2 )T S 1 ( x1 x2 ) ln 12 2 . 2 C211 Alocar alocar x0 à 2 caso contrário. Comentários Uma vez que as estimativas dos parâmetros são inseridas no lugar das correspondentes quantidades populacionais desconhecidas, não há mais garantia de que a regra resultante minimize o CECI em uma particular aplicação. Isto ocorre porque a regra ótima foi obtida supondo-se as densidades populacionais completamente conhecidas. A expressão sugerida é, simplesmente, uma estimativa da regra ótima. Porém, parece razoável esperar que a regra estimada tenha uma performance boa para tamanhos amostrais suficientemente grandes. Comentários Para resumir, se os dados parecem ser normais multivariados a estatística de classificação 1 T 1 ˆ ˆ d S ( x 0 ), com d x1 x2 e ( x1 x2 ) 2 pode ser calculada para cada nova observação x0. Estas observações são classificadas comparando-se os valores de w com o valor de C ln 12 2 . C211 Função discriminante linear no R No R está disponível no pacote MASS a função lda (linear discriminant analysis). Exemplo no R: dados=read.table(“http://www.im.ufrj.br//~flavia/mad484/testelda.txt,header=T) plot(dados[1:30,1],dados[1:30,2],xlim=c(-3,5),ylim=c(-3,5),xlab=“x1”,ylab=“x2”) points(dados[31:60,1],dados[31:60,2],col=“red”) fit=lda(grupo~x1+x2,data=dados,method=“moment”) SAÍDA: Prior probabilities of groups: A B 0.5 0.5 Group means: x1 x2 A 0.0759519 0.08692872 B 1.7026247 1.25884088 Coefficients of linear discriminants: LD1 x1 0.6790879 x2 0.4150345 Obs.: Os coeficientes em LD1 são os coeficientes do vetor a após normalização adequada. Usando o R fit1=lda(grupo~x1+x2,data=dados,CV=T) Essa função gera um fator de classificação que pode ser usado para comparar os erros de classificação na amostra utilizada. table(dados$grupo,fit1$class) Alocada Alocada Total em 1 em 2 Obs. de 25 1 5 30 Obs. de 8 2 22 30 Total 27 60 32 Duas populações normais, covariâncias desiguais f1 ( x) 1 f 2 ( x) 2 -1/2 1 exp - ( x )T 11 ( x ) ( x )T 21 ( x ) 1 1 2 2 2 Tomando-se o logaritmo da expressão acima obtemos: C12 2 1 1 1 T 1 T 1 R1 : ln ( x 1 ) 1 ( x 1 ) ( x 2 ) 2 ( x 2 ) ln 2 2 2 C211 Covariâncias desiguais Rearrumando os termos da equação anterior, obtém-se: R1 : C 1 T 1 x 0 1 21 x 0 ( T 1-1 T -21 ) x 0 k ln 12 2 1 2 2 C 211 1 1 T -1 T -1 com k ln 1 2 1 1 2 2 2 2 Observe que quando Σ1= Σ2 , o termo quadrático na equação acima se anula e as regiões obtidas reduzem-se às regiões obtidas anteriormente. Covariâncias desiguais Na prática, a regra de classificação obtida é implementada substituindo-se os parâmetros populacionais pelas suas respectivas estimativas x1 , x2 , S1 e S 2 Assim, a regra de classificação quadrática estimada é alocar x0 à 1 se C12 2 1 T 1 1 T -1 T -1 ˆ R1 : x 0 S1 S 2 x 0 ( x1 S1 x2 S 2 ) x 0 k ln 2 C211 1 S1 T -1 T -1 ˆ com k ln x1 1 x1 x2 2 x2 2 S 2 Comentários 1. 2. A classificação com funções quadráticas é bastante complicada em mais de duas dimensões, e pode levar a alguns resultados estranhos. Isto é particularmente verdadeiro quando a suposição de normalidade multivariada é violada. Se os dados não são normais multivariados, duas alternativas para contornar este fato são dadas a seguir. transformar os dados para dados aproximadamente normais e realizar um teste para verificar a igualdade ou não das estruturas de covariância; usar uma regra de classificação linear (ou quadrática) sem se preocupar com a forma da distribuição populacional e esperar que elas funcionem razoavelmente bem. O procedimento de Fisher, por exemplo, não depende da forma das populações, exceto pela suposição de covariâncias iguais. Comentários Krzanowski (1977) e Lachenbruch (1975) mostraram que existem casos não-normais para os quais a função discriminante linear de Fisher tem uma performance ruim, apesar das matrizes de covariância populacionais serem idênticas. O conselho deixado aqui é sempre verificar a performance de qualquer procedimento de classificação. Isto deve ser feito pelo menos com os conjuntos de dados usados para construir o procedimento. O ideal é que exista uma disponibilidade de dados suficiente, de forma a fornecer amostras de treinamento (aprendizagem) e amostras de validação. As primeiras são usadas para construir a função de classificação e as outras, para avaliar a performance da função de classificação. Exemplo no R dados=read.table(“http://www.im.ufrj.br//~flavia/mad484/testeqda.txt,header=T) plot(dados[1:30,1],dados[1:30,2],xlim=c(-3,5),ylim=c(-3,5),xlab=“x1”,ylab=“x2”) points(dados[31:60,1],dados[31:60,2],col=“red”) Exemplo: continuação Resultado das classificações sob qda. Alocada Alocada Total em 1 em 2 Obs. de 31 1 19 50 Obs. de 8 2 42 50 Total 61 100 39 Exemplo: continuação Comparando com o resultado via lda. Alocada Alocada Total em 1 em 2 Obs. de 32 1 18 50 Obs. de 11 2 39 50 Total 57 100 43 Avaliação das funções de classificação Uma forma de julgar a performance de qualquer procedimento é calcular suas “taxas de erro”, ou probabilidades de classificação incorreta. Quando as formas das distribuições populacionais são conhecidas, as probabilidades de classificação incorreta podem ser calculadas com certa facilidade. Como as formas de tais distribuições são raramente conhecidas, vamos nos concentrar nas taxas de erro associadas à função de classificação. Uma vez que a função de classificação é construída, uma medida de sua performance em amostras futuras será de interesse. Vimos que a probabilidade total de classificação incorreta é dada por PTCI= 1 p21 + 2 p 12 . O menor valor desta probabilidade, obtido por uma escolha criteriosa de R1 e R2 é chamado Taxa de Erro Ótima (TEO). TEO min{R1 , R2 } 1 f1 ( x)d x 2 f 2 ( x)d x R1 R2 Exemplo: Suponha num dado problema de classificação que as duas populações sejam normais com covariâncias iguais e médias μ1 e μ2. Além disso, suponha probabilidades de incidência a priori iguais e custos de classificação incorreta iguais. Neste caso, a regra da PTCI mínima é alocar x0 à 1 se 1 R1 : ( )T 1 x 0 ( )T 1 ( ) 0. 1 2 2 1 2 2 1 Essa região pode ser expressa em termos da variável Y definida por Y ( 1 2 )T 1 X a X talque T 1 T R1 : Y a ( 1 2 ) 2 Exemplo: continuação Se, de fato, os dados são normais, teremos que Y | 1 ~ N 1Y , Y2 e Y | 2 ~ N 2Y , Y2 com 1Y aT 1 , 2Y aT 2 e Y2 aT a 2 Neste caso, PTCI=(p12+p21)/2. Mas, 1 p21 P Y ( 1 2 )T 1 ( 1 2 ) 2 1 ( 1 2 )T 1 ( 1 2 ) ( 1 2 )T 1 1 Y 1Y P 2 Y 1 2 P Z 2 2 Exemplo: continuação 1 p12 P Y ( 1 2 )T 1 ( 1 2 ) 2 1 ( 1 2 )T 1 ( 1 2 ) ( 1 2 )T 1 2 Y 2Y P 2 Y 1 2 P Z 2 1 2 2 Assim, temos, TEO=(-/2). 2=2,56, então TEO=0,2119. Ou seja, a regra de classificação alocará incorretamente a uma população ou outra cerca de 21% dos objetos, se a distância quadrada entre as duas populações for igual a 2,56. f1 ( y ) f 2 ( y) p12 2Y 2 2 p21 2 1Y 2 Comentários Em geral, os parâmetros μ1, μ2 e são desconhecidos e devem ser estimados. Neste caso a avaliação da taxa de erro não é imediata. A performance das funções de classificação amostrais pode, em princípio, ser avaliada calculando-se a Taxa de Erro Real (TER) definida por TER 1 f1 ( x)d x 2 f 2 ( x)d x Rˆ 2 Rˆ1 Os domínios de integração representam as regiões de classificação determinadas a partir das amostras de tamanhos n1 e n2. Comentários A “TER” indica como a função de classificação se comportará em amostras futuras. Assim como a “TEO”, ela não pode, em geral, ser calculada, pois depende das densidades desconhecidas. Porém, uma estimativa de uma quantidade relacionada à “TER” pode ser calculada, e esta estimativa será apresentada adiante. Uma medida de performance que não depende da forma das distribuições populacionais e que pode ser calculada para qualquer procedimento de classificação é chamada de taxa de erro aparente (TEA), e é definida como a fração das observações na amostra de treinamento que são incorretamente classificadas pela função de classificação amostral. Comentários Sendo n1 e n2 e os tamanhos das duas amostras, sejam n1c o número de objetos de 1 classificados corretamente e n1m = n1 - n1c o número de objetos de 1 classificados incorretamente e, sejam n2c o número de objetos de 2 classificados corretamente e n2m = n2 - n2c o número de objetos de 2 classificados incorretamente. TEA n1m n2 m n1 n2 Comentários A TEA é uma medida intuitiva e fácil de calcular. Porém, ela tende a subestimar a “TER” e este problema persiste a não ser que n1 e n2 e sejam muito grandes. Essencialmente, esta estimativa otimista ocorre porque os dados usados para construir a função de classificação são também usados para avaliá-la. Estimativas de taxas de erro melhores que a TEA podem ser construídas mantendo-se uma relativa facilidade de cálculo e não exigindo suposições sobre a forma das distribuições populacionais. Comentários 1. 2. Um procedimento é dividir a amostra total em uma amostra de treinamento e uma amostra de validação. A taxa de erro é determinada pela proporção de itens classificados incorretamente na amostra de validação. Apesar deste método superar o problema do viés de estimação por não usar os mesmos dados usados na construção da função de classificação ele apresenta duas desvantagens, a saber, requer grandes amostras; a função avaliada não é a função de interesse. (No final, quase toda observação deve ser usada para construir a função de classificação. Caso contrário, pode-se estar perdendo informação.) Outra abordagem 1. 2. 3. 4. Uma segunda abordagem que parece funcionar bem é chamada procedimento “holdout” (deixar de fora) de Lachenbruch (1968) que equivale a um tipo de validação cruzada: Comece com as observações de 1. Omita uma observação deste grupo e desenvolva uma função de classificação baseada nas n1 + n2 -1 observações restantes. Classifique a observação deixada de fora usando a função obtida em 1. Repita os passos 1 e 2 até que todas as observações de 1 sejam classificadas. Repita os passos 1, 2 e 3 para as observações 2. Outra abordagem Sejam n1M(H) - o número de observações deixadas de fora em 1 classificadas incorretamente, e n2M(H) - o número de observações deixadas de fora em 2 classificadas incorretamente. As estimativas das probabilidades de classificação incorreta são dadas por: n1(MH ) n2( HM) pˆ 21 e pˆ 12 e a proporçãode classificação incorretaé n1 n2 n1(MH ) n2( HM) é para amostrasmoderadasuma estimativanão tendenciosa da taxa n1 n2 de erro real esperada. Comentário Para terminar, deve ser intuitivamente claro que uma regra de classificação boa (baixas taxas de erro) dependerá da “separação” entre as populações. Quanto mais separadas, mais provavelmente uma classificação útil será obtida.