class: inverse, middle ## Análise discriminante .large[#### Agatha Rodrigues ] --- class: middle, inverse <style type="text/css"> pre { max-height: 300px; overflow-y: auto; background-color: inherit; } </style> # Contexto --- class: middle # Contexto - Considere que o interesse consiste em classificar uma observação em uma de `\(K\)` classes, com `\(K\geq 2\)`. - Seja `\(\pi_k\)` a probabilidade de classificar uma observação na categoria `\(k\)` antes do conhecimento das covariáveis `\(X\)`. - Seja `\(f_k(X)=P(X|Y=k)\)` a função densidade (ou de probabilidade) de `\(X\)` para uma observação que vem da `\(k\)`-ésima classe. Em outras palavras, `\(f_k(x)\)` é grande for alta a probabilidade de uma observação na `\(k\)`-ésima classe tem `\(X\approx x\)` e `\(f_k(x)\)` é pequena se for improvável que a observação na `\(k\)`-ésima classe tem `\(X\approx x\)`. - Pelo Teorema de Bayes: `\begin{align*} p_k(x) = P(Y=k\mid X=x) = \frac{\pi_kf_k(x)}{\sum_{l=1}^{K} \pi_l f_l(x)}. \end{align*}` - Em geral, estimamos `\(\pi_k\)` com a proporção das observações do conjunto treinamento que pertencem à `\(k\)`-ésima categoria. - E como estimar `\(f_k(x)\)`, para todo `\(k=1,\ldots,K\)`? --- class: middle, inverse # Análise Discriminante Linear (LDA) --- class: middle # Análise Discriminante Linear (LDA) - Considere inicialmente `\(p=1\)`. - Queremos classificar uma observação à classe para a qual `\(p_k(x)\)` é a maior. - Assumimos que `\(X\mid Y=k \sim Normal(\mu_k, \sigma^2)\)`. Assim, temos que: `\begin{align*} p_k(x) = P(Y=k\mid X=x) = \frac{\pi_k\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left[-(2\sigma^2)^{-1}(x-\mu_k)^2\right]}{\sum_{l=1}^{K} \pi_l\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left[-(2\sigma^2)^{-1}(x-\mu_l]^2\right)}. \end{align*}` - Ao aplicar log em `\(p_k(x)\)` acima e rearranjar os termos, atribuÃmos a observação à classe para a qual `\begin{align*} \delta_k(x) = x\frac{\mu_k}{\sigma^2} - \frac{\mu_k^2}{2\sigma^2} + \log(\pi_k) \end{align*}` é a maior. --- class: middle # LDA - Se `\(K=2\)` e `\(\pi_1=\pi_2\)`, atribuÃmos uma observação à classe 1 se `\(2x(\mu_1-\mu_2) > \mu_1^2 - \mu_2^2\)` e à classe 2, caso contário. - O valor de `\(x\)` de fronteira é o valor de `\(x\)`, em que `\(\delta_1(x)=\delta_2(x)\)` e temos que esse valor é dado por: `\begin{align*} x = \frac{\mu_1^2-\mu_2^2}{2(\mu_1-\mu_2)} = \frac{\mu_1+\mu_2}{2}. \end{align*}` <img src="img/grafico_lda_p1.png" width="45%" style="display: block; margin: auto;" /> --- class: middle # Análise Discriminante Linear (LDA) - Estimação - Estimamos `\(\mu_k\)`, `\(\sigma^2\)` e `\(\pi_k\)`, respectivamente, por: `\begin{align*} \widehat{\mu}_k = \frac{1}{n_k}\sum_{i:y_i=k}x_i \\ \widehat{\sigma}^2 = \frac{1}{n-K}\sum_{k=1}^K\sum_{i:y_i=k}(x_i-\widehat{\mu}_k)^2 \\ \widehat{\pi}_k = \frac{n_k}{n}. \end{align*}` - Estimamos `\(\delta_k(x)\)` por: `\begin{align*} \widehat{\delta}_k(x) = x\frac{\widehat{\mu}_k}{\widehat{\sigma}^2} - \frac{\widehat{\mu}_k^2}{2\widehat{\sigma}^2} + \log(\widehat{\pi}_k) \end{align*}` E, na prática, alocamos a observação à classe que `\(\widehat{\delta}_k(x)\)` seja a maior. --- class: middle # Análise Discriminante Linear (LDA) - `\(p> 1\)` - Assumimos que `\(X=(X_1,\ldots,X_p) \sim N_p(\mu, \Sigma)\)`, em que `\(\mu = (\mu_1,\ldots,\mu_p)\)` e `\(\Sigma\)` é a matriz de covariâncias de dimensão `\(p\times p\)`. - Para a `\(k\)`-ésima classe, temos que `\(X\sim N_p(\mu_k,\Sigma)\)`, em que `\(\Sigma\)` é comum para todas as `\(K\)` classes. Ao substituir `\(f_k(x)\)` (função densidade da normal multivariada) em `\(p_k(x)\)` e realizar algumas álgebras, temos que `\begin{align*} \delta_k(x) = x^{\top}\Sigma^{-1}\mu_k - \frac{1}{2}\mu_k^{\top}\Sigma^{-1}\mu_k + \log(\pi_k) \end{align*}` - As fronteiras de Bayes (valores de `\(x\)` para os quais `\(\delta_k(x)=\delta_l(x)\)`) são obtidas como soluções de `\begin{align*} x^{\top}\Sigma^{-1}\mu_k - \frac{1}{2}\mu_k^{\top}\Sigma^{-1}\mu_k + \log(\pi_k)= x^{\top}\Sigma^{-1}\mu_l - \frac{1}{2}\mu_l^{\top}\Sigma^{-1}\mu_l + \log(\pi_l), \end{align*}` para `\(k=l\)`. --- class: middle # Análise Discriminante Linear (LDA) - `\(p> 1\)` - Precisamos estimar `\(\mu_1,\ldots,\mu_K\)`, `\(\Sigma\)` e `\(\pi_1,\ldots,\pi_K\)` de forma análoga ao que fizemos no caso `\(p=1\)`. Substituimos as estimativas dos parâmetros em `\(\delta_k(x)\)`, obtendo `\(\widehat{\delta}_k(x)\)`, para cada `\(k=1,\ldots,K\)`, e assim, podemos atribuir uma nova observação `\(X=x\)` para o maior valor de `\(\widehat{\delta}_k(x)\)`. - No caso de `\(K=2\)`, os parâmetros `\(\mu_1\)`, `\(\mu_2\)` e `\(\Sigma\)` podem ser estimados por `\(\bar{x}_1\)`, `\(\bar{x}_2\)`, `\(S_1\)` e `\(S_2\)`, que são as médias e matrizes de covariâncias amostrais. Uma estimativa não viciada da matriz de covariâncias comum `\(\Sigma\)` é `\begin{align*} S= \frac{(n_1-1)S_1+(n_2-1)S_2}{n_1+n_2-2}. \end{align*}` --- class: middle # Análise Discriminante Linear (LDA) - `\(p> 1\)` Quando `\(\pi_1=\pi_2\)`, elementos com valor das variáveis preditoras igual a `\(x\)` são classificados na classe 1 se `\begin{align*} \widehat{d}^{\top}x=(\bar{x}_1-\bar{x}_2)^{\top}S^{-1}x\geq\frac{1}{2}(\bar{x}_1-\bar{x}_2)^{\top}S^{-1}(\bar{x}_1+\bar{x}_2), \end{align*}` com `\(\widehat{d} = S^{-1}(\bar{x}_1-\bar{x}_2)\)` sendo os coeficientes da função discriminante. Nesse contexto, a equação acima é denominada **regra de classificação linear de Fisher**. **Observações:** 1) Quando as covariáveis são medidas em escalas com magnitudes muito diferentes, convém realizar padronização das variáveis de forma que tenham média zero e variância unitária. Em caso contrário, a classificação poderá ser muito influenciada pela variável com maiores valores. 2) Note que `\(\delta_k(x)\)` é uma função linear de `\(x\)`. Por isso o nome linear em LDA. --- class: middle # Exemplo 9.4 p. 255 do livro Singer e Morettin --- class: middle, inverse # Análise Discriminante Quadrática (QDA) --- class: middle # Análise Discriminante Quadrática (QDA) - LDA assume que a matriz de covariâncias é comum a todas as `\(K\)` classes. - QDA assume que cada classe tem sua própria matriz de covariâncias, ou seja, `\(X\sim N_p(\mu_k, \Sigma_k)\)`, em que `\(\Sigma_k\)` é a matriz de covariâncias da `\(k\)`-éssima classe. - Assim, o classificador de Bayes atribui a observação `\(X=x\)` a classe `\(k\)` tal que `\begin{align*} \delta_k(x) &=& -\frac{1}{2}(x-\mu_k)^{\top}\Sigma_k^{-1}(x-\mu_k) - \frac{1}{2}\log|\Sigma_k| + \log \pi_k \\ &=& -\frac{1}{2}x^{\top}\Sigma_k^{-1}x + x^{\top}\Sigma_k^{-1}\mu_k-\frac{1}{2}\mu_k^{\top}\Sigma_k^{-1}\mu_k - \frac{1}{2}\log|\Sigma_k| + \log \pi_k \end{align*}` que seja o maior valor para todo `\(k=1,\ldots,K\)`. - Podemos obter uma estimativa para `\(\delta_k(x)\)` de forma análoga ao discutida em LD. - A quantidade `\(x\)` aparece como uma função quadrática em `\(\delta_k(x)\)` e por isso QDA tem esse nome. --- class: middle, inverse # Naive Bayes --- class: middle # Naives Bayes - O método Naive Bayes tem um caminho diferente para estimar `\(f_1(x), \ldots, f_k(x)\)`. Ao invés de assumir uma particular famÃlia de distribuições (como a normal multivariada nos casos de LDA e QDA), é feita a seguinte suposição: Dentro da `\(k\)`-ésima classe, as `\(p\)` covariáveis são independentes. - Matematicamente, temos que: `\begin{align*} f_k(x) = f_{k1}(x_1)\times f_{k2}(x_2) \times \ldots \times f_{kp}(x_p), \end{align*}` em que `\(f_{kj}\)` é a função densidade (ou de probabilidade) da `\(j\)`-ésima covariável dentro da `\(k\)`-ésima classe, para `\(k=1,\ldots,K\)`. - A probabilidade a posteriori é dada por: `\begin{align*} p_k(x) = P(Y=k\mid X=x) = \frac{\pi_k \times f_{k1}(x_1) \times \ldots \times f_{kp}(x_p)}{\sum_{l=1}^K \pi_l \times f_{l1}(x_1) \times \ldots \times f_{lp}(x_p)}, \end{align*}` para `\(k=1,\ldots,K\)`. --- class: middle Leia 4.5.2 An Empirical Comparison, página 161, do livro ISR.