Introdução à análise discriminante quadrática


Quando temos um conjunto de variáveis preditoras e queremos classificar uma variável de resposta em uma de duas classes, geralmente usamos regressão logística .

No entanto, quando uma variável de resposta tem mais de duas classes possíveis, geralmente utilizamos a análise discriminante linear , muitas vezes chamada de LDA.

O LDA assume que (1) as observações em cada classe são normalmente distribuídas e (2) as observações em cada classe compartilham a mesma matriz de covariância. Usando essas suposições, o LDA encontra os seguintes valores:

  • μ k : A média de todas as observações de treinamento da k- ésima classe.
  • σ 2 : A média ponderada das variâncias amostrais para cada uma das k classes.
  • π k : A proporção de observações de treinamento que pertencem à k- ésima classe.

O LDA então insere esses números na seguinte fórmula e atribui cada observação X = x à classe para a qual a fórmula produz o maior valor:

d k (x) = x * (μ k2 ) – (μ k 2 /2σ 2 ) + log(π k )

LDA tem linear em seu nome porque o valor produzido pela função acima vem do resultado de funções lineares de x.

Uma extensão da análise discriminante linear é a análise discriminante quadrática , frequentemente chamada de QDA.

Este método é semelhante ao LDA e também assume que as observações de cada classe são normalmente distribuídas, mas não assume que cada classe compartilhe a mesma matriz de covariância. Em vez disso, o QDA assume que cada classe possui sua própria matriz de covariância.

Em outras palavras, assume que uma observação da k -ésima classe tem a forma X ~ N(μ k , Σ k ).

Usando essa suposição, o QDA encontra os seguintes valores:

  • μ k : A média de todas as observações de treinamento da k-ésima classe.
  • Σ k : A matriz de covariância da k-ésima classe.
  • π k : A proporção de observações de treinamento que pertencem à k- ésima classe.

O QDA então insere esses números na fórmula a seguir e atribui cada observação X = x à classe para a qual a fórmula produz o maior valor:

D k (x) = -1/2*(x-μ k ) T Σ k -1 (x-μ k ) – 1/2*log|Σ k | + log( πk )

Observe que QDA tem quadrático em seu nome porque o valor produzido pela função acima vem do resultado de funções quadráticas de x.

LDA vs QDA: quando usar um ou outro

A principal diferença entre LDA e QDA é que o LDA assume que cada classe compartilha uma matriz de covariância, tornando-o um classificador muito menos flexível que o QDA.

Isso significa inerentemente que ele tem baixa variância, ou seja, terá o mesmo desempenho em diferentes conjuntos de dados de treinamento. A desvantagem é que se a suposição de que as classes K têm a mesma covariância for falsa, então o LDA pode sofrer de alto viés .

QDA é geralmente preferido ao LDA nas seguintes situações:

(1) O conjunto de treinamento é grande.

(2) É improvável que as classes K compartilhem uma matriz de covariância comum.

Quando essas condições são atendidas, o QDA tende a ter melhor desempenho porque é mais flexível e pode se adaptar melhor aos dados.

Como preparar dados para QDA

Certifique-se de que seus dados atendam aos seguintes requisitos antes de aplicar um modelo QDA a eles:

1. A variável de resposta é categórica . Os modelos QDA são projetados para serem utilizados em problemas de classificação , ou seja, quando a variável resposta pode ser colocada em classes ou categorias.

2. As observações em cada aula seguem uma distribuição normal . Primeiro, verifique se a distribuição dos valores em cada classe tem distribuição aproximadamente normal. Caso contrário, você pode optar por primeiro transformar os dados para tornar a distribuição mais normal.

3. Considere valores discrepantes extremos. Certifique-se de verificar valores extremos no conjunto de dados antes de aplicar o LDA. Normalmente, você pode verificar visualmente valores discrepantes simplesmente usando gráficos de caixa ou gráficos de dispersão.

QDA em R e Python

Os tutoriais a seguir fornecem exemplos passo a passo sobre como realizar análise discriminante quadrática em R e Python:

Análise Discriminante Quadrática em R (passo a passo)
Análise discriminante quadrática em Python (passo a passo)

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *