ANÁLISE DISCRIMINANTE LIG, 18 de novembro de 2008 Exemplo para gerar amostras de treinamento e de validação: predição, estimação do valor esperado da taxa de erro real Voltemos aos dados trabalhados na aula anterior, gerados de duas normais bivariadas com covariâncias desiguais. São 100 observações, sendo 50 de cada população “A” ou “B”. Nesse primeiro caso, vamos selecionar uma amostra de tamanho 80 dessas sem observações para gerar a regra de classificação e, depois, Vamos validá-la com a amostra restante, que será a amostra de validação. Comandos tr=sample(1:100,80) Esse comando faz com que tr receba 80 índices escolhidos de forma aleatória entre os índices de 1 a 100 (sem repetição). Faça então: train=dadoq[tr,] e test=dadoq[-tr,] Esses comandos fazem com que train receba os dados da base dadoq correspondentes aos índices em tr e que test receba o os dados da base dadoq complementares aos índices em tr. Classificação fit=qda(train[1:2,],train$grupo) pred=predict(fit,test[1:2,]) table(test$grupo,pred$class) Real A B Total Aloc. A 11 6 17 Aloc.B 7 16 23 Total 18 22 40 Nesse caso temos uma estimativa da taxa de erro dada por 11/40=27,5% Classificação em uma de várias populações Suponha agora que cada observação pode se proveniente de uma e somente uma de g populações: 1, 2 ,, g Sejam f1 ( x), f 2 ( x), , f g ( x) as densidades associadas às g populações 1 , 2 ,, g as probabilidades de incidênciaa prioriassociadasàs g populações C ji , i, j 1,2,..., g ; os custosde classificação de uma observaçãode i em j (Cii 0) R1 , R2 ,, Rg as regiõesde classificação associadas às g populações. Classificação em uma de várias populações Nesse caso, a probabilidade de classificar uma observação de i em j, pji, é dada por: p ji f ( x)d x, j 1,2,...,g talque i Rj pii 1 - g p j1, j i ji é a probabilidade de classificar corretamente uma observaçãoproveniente da i - ésima população. • Portanto, o custo esperado de classificação incorreta de uma observação de 1 é dado por: g CECI(1) p j1C j1. j 2 Classificação em uma de várias populações De modo análogo, os custos esperados condicionais as demais populações são dados por: CECI(i ) g p j 1, j i ji C ji , i 1,2,...,g. • Como i é a probabilidade de incidência a priori de que uma observação seja proveniente de i segue que o custo esperado de classificação incorreta é dado por: g CECI i p jiC ji i 1 j 1, j i g Classificação em uma de várias populações A determinação de um procedimento de classificação ótimo leva em conta a escolha das regiões de classificação, R1, R2, ..., Rg, mutuamente exclusivas e exaustivas tal que o custo esperado de classificação incorreta seja minimizado. RESULTADO: As regiões de classificação Ri , i=1,2,...,g, que minimizam o custo esperado de classificação incorreta (CECI) são dadas por: g Ri : x | j 1, j i j f j ( x)Cij seja um mínimo. Se ocorreum empate,x, pode ser designado a qualque uma das populaçõescorrespondentesao empate. Classificação em uma de várias populações Em outras palavras, dada uma nova observação x, calcula-se para cada i=1,2,...,g: c(i, x) g j 1, j i j f j ( x)Cij A observação x será designada à população r tal que c(r,x)=min{c(1,x), c(2,x),...,c(g,x)}. Classificação em uma de várias populações Suponha que todos os custos de classificação incorreta sejam iguais a 1. Nesse caso, uma nova observação será alocada à população r , r=1,2,...,g se c( r , x) g j 1, j r j f j ( x) é um mínimo,ou seja, se c(r , x) min{c(1, x), c(2, x),....,c( g , x)}. Observe que o mínimo será atingido quando o termo rfr(x) for um máximo. Conseqüentemente, quando os custos de classificação incorreta são iguais, A regra do CECI mínimo apresenta a seguinte forma, mais simples, Rr : x | pr f r ( x) p j f j ( x), j r , ou equivalentemente, Rr : x | ln pr f r ( x) ln p j f j ( x) , j r. Comentários É interessante observar que a regra obtida aqui é equivalente à regra obtida pela maximização da probabilidade a posteriori de classificação obtida anteriormente para o caso de duas populações. No contexto de várias populações temos: P( r | x) r f r ( x) g j 1 j f j ( x) , r 1,2,..., g. Probabilidade a posteriori de classificação incorreta no caso de duas populações (revisitando) 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 ). Regra do CECI mínimo 1. 2. 3. Observe que a regra obtida tem três componentes: probabilidades de incidência a priori; custos de classificação incorreta; funções de densidade. Essas quantidades devem ser especificadas (ou estimadas) para poder implementar a regra. Exemplo Suponha um caso simples no qual g=3, 1=0,05, 2=0,60 e 3=0,35, com a seguinte tabela de custos de classificação incorreta: Situação real Obs. alocada em 1 Obs. alocada em 12 Obs. alocada em 3 Observação de 1 0 500 100 Observação de 2 10 0 50 Observação de 3 50 200 0 Suponha também que os valores das respectivas densidade para a nova observação x0 são f1(x0)=0,01; f2(x0)=0,85 e f3(x0)=2,0. Exemplo (continuação) 1. 2. 3. 1. 2. 3. Nesse caso, os valores de c(r,x0), r=1,2,3 são: 325,0 35,055 102,025 Como o menor valor ocorre para r=2, alocamos x0 à 2. Se todos os custos de classificação incorreta fossem iguais, os valores de rfr(x0), r=1,2,3 são: 0,0005 0,510 0,700 Portanto, nesse caso, alocaríamos x0 à 3. Exemplo (continuação) 1. 2. 3. Equivalentemente, calculando as probabilidades de classificação a posteriori temos: P(1|x0)=0,0004 P(2|x0)=0,421 P(3|x0)=0,578 Ou seja, no caso de custos de classificação incorreta iguais, x0 é alocado na população cuja probabilidade de classificação a posteriori é maior, como foi verificado anteriormente. Classificação em populações normais Suponha agora que as g populações sejam normais pvariadas com vetores de média μi e matrizes de covariância i , i=1,2,...g. Nesse caso, supondo custos de classificação incorreta iguais, a regra de classificação pode ser escrita como: Rr : x | d rQ, x é um máximo,r 1,2,..., g com 1 1 d rQ, x ln | r |1 ( x r )T r 1 ( x r ) ln ( r ). 2 2 •Na prática, os vetores de média e matrizes de covariância são desconhecidos e devem ser estimados. Classificação em populações normais A estimativa do escore quadrático de discriminação é dada por: Q 1 1 d j ( x) ln| S j | ( x x j )T S j 1 ( x x j ) ln j , j 1,2,..., g 2 2 Desse modo a regra estimada para populações normais com covariâncias desiguais é alocar x à população r se dˆrQ ( x) max{dˆ1Q ( x), dˆ2Q ( x),..., dˆgQ ( x)} Uma simplificação possível se dá no caso em que Σ1=Σ2=...=Σg= Σ. Classificação em populações normais Nesse caso, o escore discriminante torna-se: 1 1 1 d Qj ln| | xT 1 x T 1 x T 1 ln j . j j 2 2 2 j • Observe que os dois primeiros termos são comuns a qualquer população e, conseqüentemente, podem ser ignorados para propósitos de alocação. • Os termos restantes consistem de uma constante 1 T 1 c j ln j j 2 j e uma combinação linear das componentes de x. Classificação em populações normais Nesse caso, podemos definir o 1 escore discriminante d j ( x) T 1 x T 1 ln j j j 2 j Uma estimativa do escore acima é acima é baseada na Estimativa combinada de Σ dada por: S (n1 1) S1 (n2 1) S 2 ... (n g 1) S g n1 n2 ... n g g Nesse caso, 1 T 1 T 1 ˆ d j ( x) x j S x x j S x j ln j . 2 . Classificação em populações normais Desse modo a regra estimada para populações normais com covariâncias iguais é alocar x à população r se dˆr ( x) max{ dˆ1 ( x), dˆ2 ( x),..., dˆ g ( x)} Exemplo no R Use a base de dados CRABS e construa um fator de quatro níveis correspondendo a interação de espécie e gênero para usar como atributo de classificação.