Está en la página 1de 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Modelos de Clasicacin No Lineal


EP7144 - Tcnicas de Minera de Datos Mag. Enver Gerald Tarazona Vargas
etarazona@lamolina.edu.pe envertv@gmail.com

Escuela de Post-Grado
Universidad Nacional Agraria La Molina (UNALM)

Maestra en Estadstica Aplicada

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

1 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Aspectos Generales I
El anlisis discriminante lineal (LDA) puede ser formulado de

tal forma que se minimice la probabilidad total de una mala clasicacin en el modelo de entrenamiento.
La consecuencia de la asuncin de que los predictores en cada

clase comparten una estructura de covarianzas comnes fue que las fronteras entre las clases son funciones lineales de los predictores.
En los modelos discriminantes cuadrticos, esta asuncin es

relajada de modo que estructura de covarianzas para una clase especca puede ser acomodada.
La primera consecuencia de este cambio es que las fronteras de

decisin son ahora cuadrticas en el espacio de los predictores.

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

2 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Aspectos Generales II
El incremento en la complejidad de la funcin discriminante

puede mejorar la performance del modelo para algunos problemas.


Por otro lado, otra repercusin de esta generalizacin es que

los requerimientos de los datos se vuelven ms rigurosos.


Dado que se usan matrices de covarianzas especcas para

cada clase, la inversa de esas matrices deben de existir.


Esto implica que el nmero de predictores debe ser menor que

el nmero de casos dentro de cada clase.


Adems, los predictores dentro de cada clase no deberan de

tener niveles graves de colinealidad.


Por otro lado, si la mayora de los predictores en el conjunto de

datos son categricos, el QDA slo ser capaz de modelarlas como funciones lineales, limitando la efectividad del modelo.
Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 3 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Aspectos Generales III

En trminos de optimizacin, LDA y QDA minimizan la

probabilidad total de mala clasicacin asumiendo que los datos pueden ser separados por hiperplanos o por supercies cuadrticas.
La realidad puede ser, sin embargo, que los datos estn mejor

separados por estructuras intermedias entre los lmites de clase lineales y cuadrticos

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

4 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Deniciones I

Denicin del Modelo: Recordar que


k = P (Y = k ) para k = 1, . . . , K gk (x) es la densidad condicional de X en la clase k .

Supuestos del Modelo QDA:


Asume que la densidad de cada clase tiene una distribucin

normal multivariada X|Y = k N (k , k ) , k = 1, . . . , K


Permite covarianzas distintas a lo largo de las clases.

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

5 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Distribucin Normal Multivariada I


si X = (X1 , . . . , Xd ) Nd (, ), entonces su funcin de densidad f (x|, ) = (2 )d/2 ||1/2 exp (x )T 1 (x ) /2 donde es la media y es la matriz de covarianzas
Los contornos de densidad para Nd (, ) son elipsoides

denidas para x tal que (x )T 1 (x ) = c2


Estas elipsoides estn centradas en y tienen ejes c

j ej ,

donde ej = j ej , j = 1, . . . , d Considerando (j , ej ), j = 1, . . . , d pares de autovalores y autovectores de


Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 6 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Propiedades de la Distribucin Normal Multivariada I


Asumiendo que X Nd (, ). Entonces
Sea 2 d la distribucin chi-cuadrado con d grados de libertad

(x )T 1 (x ) 2 d
Entonces la distribucin Nd (, ) asigna una probabilidad de

(1 ) al elipsoide slido x : (x )T 1 (x ) 2 d () donde 2 d () Considerando (j , ej ), j = 1, . . . , d pares de autovalores y autovectores de denota el percentil (100%) de la distribucin 2 d

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

7 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Reglas de Decisin en el QDA I


Bajo asuncin de normalidad, el log-ratio para la clase k y la clase l ser: log k (x; k , k ) Pr (Y = k |X = x) = log Pr (Y = l|X = x) l (x; l , l ) = fk (x) fl (x) ,

donde la funcin discriminante (score) fk est dada por 1 1 1 fk (x) = log |k | (x k )T k (x k )+log k , k = 1, . . . , K 2 2 Las frontera de decisin entre cada par de clases k y l ser {x : fk (x) = fl (x)} La regla de decisin es f (x) = argmaxk=1,...,K fk (x)
Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 8 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Fronteras de Decisin en QDA I


Las funciones de discriminacin son cuadrticas en x,
T fk (x) = xT Wk x + 1k x + 0k , k = 1, . . . , K

La frontera de decisin entre la clase k y la clase l es tambin cuadrtica x : xT (Wk Wl ) x + (1k 1l )T x + (0k ol ) = 0

QDA necesita estimar ms parmetros que el LDA, y la

diferencia es mayor cuando d es grande.


Para ajustar un LDA se necesita estimar (K 1) (d + 1)

parmetros.
Para ajustar un QDA se necesita estimar

(K 1) (d(d + 3)/2 + 1) parmetros


Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 9 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Fronteras de Decisin en QDA I

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

10 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Interpretacin del QDA I

La funcin discriminante fk depende de tres factores:


La varianza generalizada || La probabilidad a priori k El cuadrado de la distancia de Mahalanobis de x a la media

poblacional k Aqu, una funcin de distancia diferente, con una diferente orientacin y tamao de la constante de distancia de la elipsoide, se utiliza para cada clase.

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

11 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Estimacin de parmetros en QDA I


En la prctica, se estiman los parmetros en la data de entrenamiento
k = nk /n, donde nk es el nmero de observaciones en la

clase k para k = 1, . . . , K .
k = Yi =k xi /nk para k = 1, . . . , K . La covarianza muestral dentro de una clase

k =

1 nk 1

(xi k ) (xi k )T
Yi =k

La implementacin del QDA es computacionalmente intensiva, dado que


Necesitamos realizar inversin de matrices mltiples veces:

k para k = 1, . . . , K . Calcular
Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 12 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Cdigo en R para el ajuste de QDA (I)


Hay dos formas para llamar a la funcin qda. La primera forma es la de usar una frmula y un data frame opcional library(MASS) qda(formula, data, subset) Argumentos: formula: de la forma grupo x1 + x2 + . . ., donde la respuesta es el factor con los grupos y en el lado derecho de la expresin se especican los discriminantes (no factores) data: data frame al cual pertenencen las variables subset: Un vector de indicadores especicando los casos que sern usados en el conjunto de entrenamiento. Salida: Un objeto de la clase qda con mltiples componentes.
Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 13 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Cdigo en R para el ajuste de QDA (II)


La segunda forma es usar una matriz y un factor de grupo como los dos primeros argumentos library(MASS) qda(x, grouping, prior = proportions, CV = FALSE) Argumentos: x: Matriz o data frame. grouping: Factor que especica la clase de cada observacin prior: Las probabilidades a priori de pertenecer a una clase. Si no se especica, las proporciones de clase en el conjunto de datos son usadas. Salida: si CV = TRUE, es valor de retorno es una lista con componentes de clase (la clasicacin MAP, un factor) y posterior (probabilidades a posteriori para las clases).
Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 14 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Cdigo en R para la prediccin


Se usan las funciones predict o predict.qda para realizar la clasicacin de observaciones multivariadas con qda. predict(object, newdata, ...) Argumentos:
object: objeto de la clase qda newdata: data frame con los casos a ser clasicados o si

object tiene una frmula, un data frame con columnas con los mismos nombres de las variables usadas. Salida:
una lista con componentes de clase (la clasicacin MAP, un

factor) y posterior (probabilidades a posteriori para las clases).


Tarazona, E.G. 2013-II Clasicacin No Lineal - Minera de Datos 15 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Ejemplo 1

library(MASS) Iris <- data.frame(rbind(iris3[,,1], iris3[,,2], iris3[,,3]), Sp = rep(c("s","c","v"), rep(50,3))) train <- sample(1:150, 75) table(Iris$Sp[train]) z <- qda(Sp ~ ., Iris, prior = c(1,1,1)/3, subset = train) ypred <- predict(z, Iris[-train, ])$class ytest <- Iris$Sp[-train] testerr <- mean(ypred!=ytest)

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

16 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Ejemplo 2

tr <- sample(1:50, 25) train <- rbind(iris3[tr,,1], iris3[tr,,2], iris3[tr,,3]) test <- rbind(iris3[-tr,,1], iris3[-tr,,2], iris3[-tr,,3]) cl <- factor(c(rep("s",25), rep("c",25), rep("v",25))) z <- qda(train, cl) trainerr <- mean(predict(z,train)$class!=cl) testerr <- mean(predict(z,test)$class!=cl)

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

17 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Aspectos Generales I
Friedman (1989) propuso una alternativa mixta entre LDA y QDA
Reducir las variancias separadas de QDA hacia una covarianza

comn en LDA. Las matrices de covarianzas regularizadas son k ( ) = k + (1 ) es la matriz de covarianzas muestrales conjunta a lo largo donde k la matriz de covarianzas para la clase k de todas las clases y
[0, 1], es un parmetro de anamiento que representa la

continuidad de modelos entre un LDA y QDA. Qu sucede si est cerca de 1? Y si est cerca de 0?
En la prctica, elegir con la data de validacin o usando CV.

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

18 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

RDA: Eleccin del parmetro alpha I

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

19 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

RDA: Otras generalizaciones I

Otros mtodos regularizados


Para LDA, podemos transformar la matriz de covarianzas

usando el escalar [0, 1] ( ) = + (1 ) 2I


Una familia generalizada para QDA es obtenida con (, )

k (, ) = k + (1 ) + (1 ) (1 ) 2I

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

20 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

Anlisis Discriminante Lineal Generalizado I


Mayor exibilidad, fronteras de decisin ms complejas FDA: Anlisis Discriminante exible
Permite fronteras no lineales: Reformula el problema LDA

como un problema de regresin lineal y luego utiliza expansiones base para hacer la discriminacin. Revisar Hastie et al. (1994) PDA: Anlisis Discriminante Penalizado Seleccin de variables: Penaliza los coecientes para ser suavizados o ser ms dispersos facilitando la interpretacin. MDA: Anlisis Discriminante Mixto Permite que cada clase sea una mixtura de dos o ms distribuciones normales con diferentes centroides, pero cada componente (dentro y entre las clases) comparten la misma matriz de covarianzas. Revisar Clemmensen et al. (2011).

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

21 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

RDA: Ejemplo

library(klaR) data(iris) x <- rda(Species ~ ., data = iris, gamma = 0.05, lambda = 0.2) predict(x, iris)

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

22 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

FDA: Ejemplo

data(iris) irisfit <- fda(Species ~ ., data = iris) irisfit confusion(irisfit, iris) plot(irisfit) coef(irisfit) #Usando MARS marsfit <- fda(Species ~ ., data = iris, method = mars) marsfit2 <- update(marsfit, degree = 2) marsfit3 <- update(marsfit, theta = marsfit$means[, 1:2]) library(earth) marsfit.earth <- fda(Species ~ ., data = iris, method = earth)

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

23 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

MDA: Ejemplo 1

library(mda) data(iris) irisfit <- mda(Species ~ ., data = iris) irisfit

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

24 / 25

Anlisis Discriminante Cuadrtico (QDA) Anlisis Discriminante Regularizado (RDA)

Escuela de Post-Grado (UNALM)

MDA: Ejemplo 2

data(glass) # Muestra aleatoria de tamao 100 samp <- c(1, 3, 4, 11, 12, 13, 14, 16, 17, 18, 19, 20, 27, 28, 31, 38, 42, 46, 47, 48, 49, 52, 53, 54, 55, 57, 62, 63, 64, 65, 67, 68, 69, 70, 72, 73, 78, 79, 83, 84, 85, 87, 91, 92, 94, 99, 100, 106, 107, 108, 111, 112, 113, 115, 118, 121, 123, 124, 125, 126, 129, 131, 133, 136, 139, 142, 143, 145, 147, 152, 153, 156, 159, 160, 161, 164, 165, 166, 168, 169, 171, 172, 173, 174, 175, 177, 178, 181, 182, 185, 188, 189, 192, 195, 197, 203, 205, 211, 212, 214) glass.train <- glass[samp,] glass.test <- glass[-samp,] glass.mda <- mda(Type ~ ., data = glass.train) predict(glass.mda, glass.test, type="post") # se permiten abreviaturas confusion(glass.mda,glass.test)

Tarazona, E.G.

2013-II

Clasicacin No Lineal - Minera de Datos

25 / 25

También podría gustarte