You are on page 1of 103

Edgar Acuna /ESMA 6835 Clasificación 1

Notas de Análisis Discriminante

Dr. Edgar Acuña Fernández


Departamento de Matemáticas
Universidad de Puerto Rico en Mayaguez
E-mail:edgar@math.uprm.edu
Homepage;www.math.uprm.edu/~edgar

Noviembre 2000

 2000, Derechos Reservados por Edgar Acuña, prohibida la reproducción total o parcial de este
documento sin el permiso del autor.
Edgar Acuna /ESMA 6835 Clasificación 2

Prólogo

El análisis discriminante es un área excitante en Estadística, envuelve muchos temas


interesantes tales como:formulación de un problema, construcción de un modelo, estimación,
teoría de decisión, predicción, interpretación de resultados, etc.

La finalidad de este curso es presentar los diversos métodos de análisis discriminante,


comenzando con el más básico y conocido de ellos, el análisis discriminante lineal (Fisher, 1936)
hasta llegar a los más modernos basados en remuestreo (Breiman, 1998) los cuales buscan
reducir al máximo la tasa de clasificación errada del modelo.

Al final del curso se espera que el estudiante sepa aplicar varios métodos de análisis
discriminante a datos de la vida real usando un paquete estadístico: MINITAB, SAS, S-Plus,
SPSS y decidir cual de ellos es el más conveniente.

Prerequisito para tomar este curso:


Obligatorio: Un curso de un año en Estadística Aplicada, que incluya regresión multiple y
análisis de varianza.

Recomendado: Haber usado previamente algún programa estadístico, tales como MINITAB,
SAS, S-Plus, SPSS, Stata, Statistica, Statgraphics. Conocer la regla de Bayes. Algún
concoimiento de la distribución normal multivariada y de métodos de estimación.

A quién va dirigido: A profesores y Estudiantes de último año de Estadística o de otras carrera


que usan técnicas estadísticas para datos mulvariados: Ingenieria, agronomía, biología, educación,
economía, psicología, etc.
Edgar Acuna /ESMA 6835 Clasificación 3

Contenido

1. Introducción.
1.1 Aplicaciones de clasificación.
1.2 Ejemplo de Motivación.
1.3 Notación y Definiciones básicas.
1.4 Métodos de Análisis Discriminante.
2. Análisis Discriminante Lineal.
2.1 Análisis Discriminante según Fisher.
2.2 Prueba de igualdad de matrices de covarianza.
2.3 Prueba de normalidad multivariada
2.4 Relación de Análisis Discriminante con Regresión Lineal.
2.5 Ventajas y Desventajas de Análisis Discriminante Lineal.

3. Análisis Discriminante desde el punto de vista Bayesiano.


3.1 Aplicación al análisis discriminante lineal.

4. Estimación de la tasa de clasificación errada.


5. Análisis Discriminante Cuadrático.
5.1 Análisis Discriminante Cuadrático en MINITAB y SAS.
6. Discriminación usando Regresión Logística.
6.1 Regresión Logística en MINITAB y SAS.
7. Método de los K vecinos más cercanos.
7.1 Discriminación usando los k vecinos más cercanos en S-Plus y SAS.

8. Métodos usando estimación de densidades por kernels.


7.1. Discriminación usando estimación de densidades por Kernel en SAS.
9. Método de Clasificación por árboles.
9.1. Clasificación por árboles en S-Plus.
10. Redes neurales.
10.1 El Preceptron simple.
10.2 El Percepron de multiples niveles.
10.3. Clasificación por redes neurales en S-Plus.
11. Recientes avances en análisis discriminante.
Edgar Acuna /ESMA 6835 Clasificación 4

1. Introducción

Clasificación: Es un problema multivariado que consiste en asignar individuos u objetos a uno de


N grupos o clases basándose en mediciones de las variables x1, x2, … . xp, tomadas en ellas.

Hay dos tipos de problemas de clasificación:

Análisis Discriminante (conocido también como reconocimiento de patrones supervisado).


En este caso se dispone de un conjunto de observaciones multivariadas, para las cuales se conoce
a priori la clase a la cual pertenecen, ésta es llamada una muestra de entrenamiento. Es decir,
cada caso en la muestra consiste del valor de una variable de respuesta y y de un vector
x=(x1,x2,… ..xp) que representa p características de un sujeto u objeto. Con los datos de la
muestra de entrenamiento se encuentra la regla de clasificación o clasificador.
También se tiene otro conjunto de datos, con las mismas propiedades distribucionales de la
muestra de entrenamiento y el cual es usado para validar el clasificador, éste es llamada la
muestra de prueba. Algunas veces la misma muestra de entrenamiento ( o un porcentaje de ella)
es usada como muestra de prueba.

Análisis por conglomerados (conocido también como reconocimiento de patrones no


supervisado). En este caso los grupos no son conocidos de antemano, es decir no hay variable de
respuesta . El objetivo del análisis es determinar los agrupamientos de datos tales que los
elementos dentro del mismo grupo son mas similares u homogeneos que aquellos que pertenecen
a otros grupos. Algunas veces este análisis es usado como una etapa previa del análisis
discriminante.

En este curso mayormente se discutirán técnicas de análisis discriminante.

1.1 Aplicaciones de Clasificación:

1) Aplicación en Agricultura:
Clasificación de cultivos usando fotografias tomadas por satélite.
Determinar el tipo de emfermedad en una planta de acuerdo a varias mediciones que se
toman.

2) Aplicación en Medicina: Un paciente es admitido a un hospital con diagnóstico de infarto


cardiaco, se le toman medidas de presión sanguinea sistólica, presión sanguinea diastólica,
ritmo cardiaco, indice del ataque y presión arterial. Se desea saber si el paciente morirá o
sobrevivirá?
3) Aplicación en Educación: Un estudiante está tomando Calculo I este semestre. Se conoce su
promedio de graduación de escuela secundaria, el tipo de escuela secundaria de donde
proviene, resultados en el examen de admisión, notas en cursos de Pre-calculo, el número de
veces que ha tomado cálculo. Se desea saber si el estudiante pasará o fracasará Cálculo
durante el presente semestre.
4) Aplicación en Ingeniería:
Reconocimiento de Patrones (Pattern recognition)
Reconocimiento de números escritos a mano.
Reconocimiento del habla.
Verificación de firma.
5) Aplicación en Economía y Finanzas:
Edgar Acuna /ESMA 6835 Clasificación 5

En la toma de decisiones financieras: vender, comprar una compañia.


Otorgar o denegar una tarjeta de crédito en base a varias características del solicitante.
Programas de desarrollo rural: En una area se miden las siguientes variables: La distancia a la
ciudad mas cercana con una población de más de 100,000 habitantes, el porcentaje de
forestación en el área, los kilometros de rios que cruzan el área, la distancia al aeropuerto
más cercano, etc. y se desea determinar si el area debe ser urbanizada o no.
6) Aplicación en Biología:
Ecología.
Taxonomía.
Estudios forenses del DNA
Reconocimiento de huellas digitales.
7) Aplicación en Piscología
Dados varios síntomas se desea ver si un paciente tiene o no depresión.
8) Aplicación Militar:
Identificación de Mísiles.
Reconocimiento de terrenos.
9) Aplicación en Arqueología
Clasificación de la raza a la cual pertenece esqueletos hallados.
10) En Metereología
Se miden varias variables y se desea predicir si el día será nublado, soleado o lluvioso.

1.2 Ejemplo de Motivación

Ejemplo 1. En una clase de Estadistica Aplicada I consistente de 32 estudiantes, se toman la


siguientes variables
E1: Nota del estudiante en el examen I (0-100)
E2: Nota del estudiante en el examen II (0-100)
Nota: Nota Final del estudiante en la clase (0-100)
Aprobación: Asume los valores P: si el estudiante pasa la clase y F si fracasa en la clase

Se quiere predecir el resultado de un estudiante que tomará la clase en un próximo semestre, bajo
las mismas condiciones actuales (mismo profesor, mismo texto, mismo nivel de estudiante, etc).

El diagrama de puntos de los datos viene dado en la siguiente figura

P P
100 P P P P P
P P P
90 P PP
80 P
70 P
P P
60 P P
EX2

F P
50 P P
F F
40 F F
P
30 F F P
20 F

10
40 50 60 70 80 90 100
EX1
Edgar Acuna /ESMA 6835 Clasificación 6

En un primer intento podriamos codificar la variable de respuesta Aprobación en una numérica


Aprobn: 0 si Fracasó y 1 si Aprobó, y luego hacer una regresión lineal múltiple para predecir el
resultado en la clase en base a los resultados de los dos primeros exámenes. Pero esto puede
producir estimados de la variable de respuesta que caen fuera del intervalo [0, 1], los cuales serían
ilógicos.

Haciendo uso del paquete estadístico MINITAB, siguiendo la secuencia de menus


STAT4Regression4Regression se obtiene los siguientes resultados:

Regression Analysis

The regression equation is


APROBN = - 0.444 + 0.00830 EX1 + 0.00941 EX2

Predictor Coef StDev T P


Constant -0.4438 0.2817 -1.58 0.126
EX1 0.008298 0.003981 2.08 0.046
EX2 0.009406 0.002274 4.14 0.000

S = 0.3194 R-Sq = 50.7% R-Sq(adj) = 47.3%

Notar que el coeficiente de determinación es bastante bajo, lo cual le resta confiabilidad al


modelo para hacer predicciones. Pero aún así tratando de predecir el resultado en el curso para un
estudiante que obtiene 50 en el primer examen y 75 en el segundo examen se obtiene lo siguiente

Predicted Values

Fit StDev Fit 95.0% CI 95.0% PI


0.6766 0.1120 ( 0.4474, 0.9057) ( -0.0157, 1.3688)

Redondeado el estimado 0.6766 a 1 significaría que el estudiante aprueba el curso.

Desde el punto de vista de análisis discriminante, se sabe que hay solo dos clases de estudiantes.
Los estudiantes que pasan forman una clase P y los que no pasan forman la clase F. El objetivo es
ahora determinar a que clase pertenece el estudiante anteriormente mencionado. Un primer
intento de decidir a que clase va el estudiante es obtener la distancia Euclideana del punto
(50,75) a los valores promedios de los examenes 1 y 2 para ambos grupos de estudiantes

En nuestro caso

x1P = 75.54 x 2 P = 73.75

x1F = 59.50 x 2 F = 34.00

luego, DP2 =(50-75.54)2+(75-73.75)2=653.854 , es la distancia cuadrada del punto al centro de la


clase P, y DF2 =(50-59.50)2 + (75-34.00)2=1052.97, es la distancia cuadrada del punto al centro
de la clase F. Como DP2 < DF2 se asigna el estudiante a la clase P.
Edgar Acuna /ESMA 6835 Clasificación 7

Sin embargo, el anterior método no es muy correcto porque la presencia de correlación de las
variables E1 y E2 en cada clase podría afectar el peso que se le da a cada uno de los examenes en
cada clase. Esto es cuantificado por las matrices de covarianzas de las variables en cada clase. En
nuestro caso

187.56 34.23  183.43 − 97.29 


Sp= 
 
 y S F= 
 

 34.23 507.07  − 97.29 106.29 

y en lugar de usar la distancia Euclideana se usa la distancia Mahalanobis, que en forma


matricial sería la siguiente para la clase P

−1
−1 187.56 34.23  25.54 
2
D =(x- x p )' S
p p (x- x p )=(25.54 1.25) 
 34.23 507.07 
 
 1.25 
=3.5010
   

y para la clase F será

−1
−1 183.43 − 97.29   9.59 
2
D =(x- x F )' S
F F (x- x F )=(9.59 31.00) 
− 97.29 106.29 
 
31.00 
= 24.3134
   

en consecuencia el estudiante es asignado a la clase P.

Evidentemente no se puede estar haciendo el cálculo de las distancias y las comparaciones para
cada punto, sería demasiado trabajo, lo ideal es encontrar una regla de decisión representada por
una linea ( o curva en general) que separa las dos clases.
Haciendo uso de los resultados que da MINITAB siguiendo la secuencia Stat4 Multivariate
4Discriminant Analyisis se obtiene la siguiente regla de decisión:

Si 0.085 E1+0.096 E2 >10.8222 entonces el estudiante pertenece a la clase P.

Esta es llamada la función discriminante lineal y es el método más sencillo de clasificar a un


sujeto u objeto en una clase dada.
Por ejemplo, un estudiante con E1=50 y E2=75 pertenece a la clase P, puesto que el lado
izquierdo da 11.45 mayor que 10.8222. En la siguiente gráfica se pueden ver los puntos de la
muestra tomada y la linea que respresenta a la regla de decisión.
Edgar Acuna /ESMA 6835 Clasificación 8

ANALISIS DISCRIMINANTE LINEAL PARA EL RESULTADO FINAL EN LA


CLASE BASADO EN DOS EXAMENES

110 f
100 p
90
80
70
60

E2
50
40 0.085E1+0.096E2>10.8222

30
20
0.085E!+0.096E2<10.8222
10
0

20 30 40 50 60 70 80 90 100

E1

En el análisis por conglomerados, solo se conocen los resultados en los examenes y la idea es
hallar grupos de estudiante que tenga un rendiiento afín. En este caso lo más indicado es tratar de
identificar 5 grupos de estudiantes: los que pasan el curso con A, B, C y D y los que fracasan el
curso (F).

Haciendo un análisis por conglomerado usando el método jerárquico se obtiene que los que
pertenecen al grupo A son los estudiantes 1,2,3,4,5, 6, 7, 11, 14 y 15; al grupo B: 8,10 y 12 al
grupo C: 9, 13, 17, 18, 20, 23 y 24 al grupo D: 16, 19, 28 y 31 y al grupo F: 21, 22, 25, 26, 27,
29,30 y 32. MINITAB produce los siguientes resultados

Hierarchical Cluster Analysis of Observations

Euclidean Distance, Complete Linkage

…………… output omitido ------------------

Final Partition

Number of clusters: 5

Number of Within cluster Average distance Maximum distance


observations sum of squares from centroid from centroid
Cluster1 10 1550.900 12.139 16.236
Cluster2 3 220.000 7.762 11.402
Cluster3 7 994.857 11.183 16.721
Cluster4 4 135.500 5.650 6.792
Cluster5 8 1206.375 11.580 19.750

Cluster Centroids

Variable Cluster1 Cluster2 Cluster3 Cluster4 Cluster5


EX1 84.4000 55.0000 73.2857 78.2500 56.7500
EX2 91.5000 92.0000 60.7143 24.2500 41.1250
Edgar Acuna /ESMA 6835 Clasificación 9

Variable Grand centrd


EX1 71.5312
EX2 63.8125

Distances Between Cluster Centroids

Cluster1 Cluster2 Cluster3 Cluster4 Cluster5


Cluster1 0.0000 29.4043 32.7305 67.5306 57.4645
Cluster2 29.4043 0.0000 36.2376 71.6284 50.9051
Cluster3 32.7305 36.2376 0.0000 36.8007 25.6353
Cluster4 67.5306 71.6284 36.8007 0.0000 27.3316
Cluster5 57.4645 50.9051 25.6353 27.3316 0.0000
Edgar Acuna /ESMA 6835 Clasificación 10

Dendrograma para el analisis por conglomerados usando metodos jerarquicos

Similarity
0.00

33.33

66.67

100.00
2 3 1 4 5 6 14 11 15 7 8 10 12 13 17 20 24 9 18 23 16 28 19 31 21 22 27 29 25 32 26 30

Observations

1.3 Notación y Definiciones básicas

N representa el número de clases o grupos

Ci (i=1,2,… .N) representa la i-ésima clase o grupo

x=(x1,x2,… ..xp) representa un vector aleatorio de p características de un sujeto u objeto.

πi representa la probabilidad a priori de que un sujeto u objeto pertenezca a la clase Ci

f(x/ Ci ) o fi(x) representa la función de densidad (condicional) de x en la clase Ci

ui representa el vector de medias poblacionales de x en la clase Ci

Σi representa la matriz de covarianzas de x en la clase Ci

x i representa el vector de medias muestrales de x en la clase Ci

Si representa la matriz de covarianzas muestrales de x en la clase Ci

La regla de Bayes:

En términos de eventos: Si A1,… … ..An forman una partición del espacio muestral S y B es otro
evento definido en S. Entonces
P ( Ai ) P ( B / Ai )
P ( Ai / B) = n

∑ P( A ) P(B / A )
j =1
j j

para i=1,2,....n, las probabilidades P(Ai) son llamadas probabilidades apriori y las probabilidades
P(Ai/B) son llamadas las probabilidades a posteriori.

Versión para funciones de densidades: La probabilidad a posteriori de que un sujeto u objeto


con las mediciones dadas por el vector x pertenezca a la clase Ci está dada por:
Edgar Acuna /ESMA 6835 Clasificación 11

f (x / C i ) P (x ∈ C i ) f (x / C i )πi
P (C i / x) = = N

∑π
f (x)
j f (x / C j )
j =1

La Distribución Normal multivariada.

Se dice que el vector aleatorio x=(x1,x2,… ..xp) se distribuye como una normal multivariada de
dimensión p con vector de medias u y matriz de covarianzas Σ si su función de densidad es de la
forma

1 1
f (x) = exp[ − (x − u )' Σ − 1 (x − u)]
(2π) p/2
|Σ|
1/ 2
2

y se escribe x ~ Np(u,Σ)
Edgar Acuna /ESMA 6835 Clasificación 12

1.4. Métodos de análisis discriminante

1. Análisis Discriminante Lineal


2. Métodos No Lineales: Discriminación Cuadrática y Regresión Logística, Projección Pursuit
3. Métodos basados en arboles de decisión
4. Métodos basados en estimación de funciones de densidades: Método k-nn ( los k vecinos más
cercanos), metodos de estimación de densidades usando kernels, método de estimación de
densidades usando mezclas gaussianas.
5. Redes Neurales: Multilayer perceptron. Radial Basis Function, Kohonen self-organizing map,
Linear vector quantification.
6. Support vector machines.

2. Análisis Discriminante Lineal (Fisher, 1936)


Consideremos que nuestra muestra de entrenamiento tiene la siguiente estructura

Y X1 X2 … Xp
1 X11 X21 … . Xp1
1 X12 X22 … Xp2
.. .. .. .. ..
1 X1n1 X2n1 … Xpn1
2 X1,n1+1 X2,n1+1 … Xp,n1+1
2 X1,n1+2 X2,n1+2 … Xp,n1+2
.. .. .. … ..
2 X1,n1+n2 X2,n1+n2 … Xp,n1+n2

Es decir, tenemos solo dos clases de objetos: C1 y C2 y p características que se miden en ellos
para asignarlos a una clase respectiva. Hay n1 objetos en la clase 1 y n2 en la clase 2. Sea
x1 = ( x1 , x 2 ,...x p ) , el vector de medias de las p variables predictoras en la clase 1 y x 2 el
correspondiente vector de medias en la clase 2. Representemos por u 1 y u 2 respectivamente
a los vectores de medias poblacionales de las variables predictoras en cada clase. y supongamos
que las matrices de varianzas poblacionales en cada clase son iguales. Osea,
∑ ∑ ∑
1
= 2= (esta es llamada la propiedad de Homocedasticidad). Asumir normalidad de los
datos no se requiere por ahora.

La discriminación lineal se basa en el siguiente hecho: Un objeto x es asignado a la clase C1 si

D(x, C1)<D(x,C2) (2.1)

Donde D(x,Ci)= ( x − u i )' Σ − 1 ( x − u i ) , para i=1,2, representa el cuadrado de la distancia


Mahalanobis de x al centro de la clase Ci . La ecuación (2.1) puede ser escrita como

− 2( u 1 − u 2 )' Σ-1 [x - 1/2(u 1 - u 2 )] < 0

haciendo manipuleo algebraíco, esta última expresión es equivalente a


Edgar Acuna /ESMA 6835 Clasificación 13

(u 1 − u 2 )' Σ − 1 [x − 1 / 2(u 1 + u 2 )] > 0 (2.2)


Usando la muestra de entrenamiento, x i estima a u i y Σ es estimada por S, la matriz de
covarianza muestral combinada, la cual se calcula por

(n1 − 1) S1 + (n2 − 1)S 2


S=
n1 + n2 − 2

donde, S1 y S2 representan las matrices de covarianzas muestrales del vector de variables


predictoras en cada clase. En consecuencia, la versión muestral de (2.2) resulta ser

(x1 − x 2 )' S − 1 [x − 1 / 2( x1 + x 2 )] > 0 (2.3)

La expresión del lado derecho de (2.3) es llamada la función discriminante lineal.

En el ejemplo 1, donde la Clase 1 es P y la Clase 2 es F, tenemos

75.54  59.50 
x1 = 
73.75 
 , x2 = 
34.00 
 , n1=24 , n2=8
   

187.56 34.23  183.43 − 97.29  186.599 3.542 


S1 = 
 34.23 507.07 
 , S2 =   , S =
− 97.29 106.29   3.542 413.550 
y
     

 0.00535 − 0.00004 
S −1 = 
− 0.00004 0.00241 
 

E1 
Sustituyendo estos valores en la ecuación 2.3, usando x = 
 
, se obtiene la función
 2
E
discriminante lineal

0.085E1+0.096E2 - 10.8222 > 0.

2.1. La función discriminante lineal según Fisher.

En 1936, Fisher obtuvo la función discriminante lineal de la ecuación (2.3) pero siguiendo otro
camino. El trató de hallar una combinación lineal de las variables xi que separaba las clases Ci lo
más posible, asumiendo que ambas matrices de covarianza son iguales (Σ1=Σ2=Σ). Más
especificamente, Fisher encontró, que si y=d'x entonces, la distancia al cuadrado entre las medias
de y en ambas clases dividido por su varianza en cada grupo, definida por

(d ' u1 − d ' u 2 ) 2
(2.4).
d ' Σd

es máxima cuando d=Σ-1(u1-u2). Este resultado es una aplicacion de la desigualdad de Cauchy


Schwartz (ver Rao, C. R. Linear Statistical Inference and its applications, página 60). El
Edgar Acuna /ESMA 6835 Clasificación 14

numerador es llamada también la suma de cuadrados entre grupos y el denominador la suma de


cuadrados dentro de los grupos. Un estimado del valor d es S-1( x1 - x 2 ).
Fisher asignó un objeto x a la clase C1 si y=( x1 - x 2 )' S-1 x está más cerca a y1 =( x1 - x 2 )' S-1 x1
que a y 2 . El punto medio entre y1 y y 2 es

y 1 + y 2 (x1 − x 2 )' S − 1 (x1 + x 2 )


=
2 2

Notar que y está más cerca a y1 si y>( y1 + y 2 )/2, lo cual produce la ecuación (2.3).

Fisher aplicó su método para clasificar tres especies de Iris:Setosa, Versicolor y Virgínica de
acuerdo a la longitud y ancho del pétalo y sépalo y obtuvo excelentes resultados. Sin embargo, si
bien hay normalidad multivariada de las variables predictoras x en cada clase, pero la suposición
de igualdad de matrices de covarianza no se cumple.

2.2. Pruebas de Igualdad de matrices de covarianza (homocedasticidad) y de


Normal multivariada

Cuando se trata de probar si hay igualdad de variabilidad de dos poblaciones multivariadas, la


prueba más usada es la de Bartlett que es una modificación de la prueba de razón de
verosimiltud, sin embargo está sujeta a la suposicion de normal multivariada. Otras alternativas
son extender la prueba de Levene, usada para comparar la variabilidad de varias poblaciones
univariadas, para luego combinarla con la prueba T2 de Hotelling usada para comparar dos
medias multivariadas. La prueba de Hotelling est'a disponible en la mayoria de los programas
estadísticos. También está la prueba de Van Valen ( ver Manly, Multivariate Statistical Methods,
página 45 ) la cual es bien sencilla de llevar a cabo y que solo requiere el uso de la distribuciónn t
de Student. En esta prueba primero se estandarizan los datos para darle igual peso a cada variable
predictora y luego se calculan los valores

p
d ij = ∑ (x
k =1
ijk − M jk ) 2

donde xijk es el valor de la variable Xk para el i-ésimo individuo en la muestra j y Mjk es la


mediana de la variable Xk en la j-ésima muestra. Finalmente las medias muestrales de los dij para
las dos muestras son comparados usando una prueba de t asumiendo varianzas distintas.

Ejemplo: Aplicar la prueba de Van Valen a los datos del ejemplo 1

Haciendo uso de MINITAB, se obtiene los siguientes valores dij


di1 di2
0.70776 1.51650
1.48820 1.43887
0.49734 1.67108
1.14059 1.27579
0.16578 1.06432
0.46308 0.01882
1.36670 0.58334
0.62617 0.80810
1.41464
Edgar Acuna /ESMA 6835 Clasificación 15

1.25000
0.32995
2.05283
1.15273
0.06852
0.27786
2.01454
0.73612
1.01672
2.29809
0.93436
1.51993
1.35928
1.43570
0.53300

y los resultados de la prueba estadística de t para comparar los grupos son

Two-sample T for di1 vs di2

N Mean StDev SE Mean


di1 8 0.807 0.472 0.17
di2 24 1.115 0.613 0.13

Difference = mu di1 - mu di2


Estimate for difference: -0.309
95% CI for difference: (-0.753, 0.136)
T-Test of difference = 0 (vs not =): T-Value = - 1.48 P-Value = 0.160 DF = 15

El "p-value" mayor que 0.05 indica que la hipótesis de igualdad de matrices de covarianza no es rechazada.
En conclusión se cumple la suposición de igualdad de covarianzas. Una alternativa sería usar la prueba de
Mann-Whitney en lugar de la t para dos muestras.

Podemos aplicar también la prueba de Bartlett usando SAS y se obtienen los siguientes resultados

Discriminant Analysis Test of Homogeneity of Within Covariance Matrices

Notation: K = Number of Groups

P = Number of Variables

N = Total Number of Observations - Number of Groups

N(i) = Number of Observations in the i'th Group - 1

__ N(i)/2
|| |Within SS Matrix(i)|
V = -----------------------------------
N/2
|Pooled SS Matrix|

_ _ 2
| 1 1 | 2P + 3P - 1
RHO = 1.0 - | SUM ----- - --- | -------------
|_ N(i) N _| 6(P+1)(K-1)
Edgar Acuna /ESMA 6835 Clasificación 16

DF = .5(K-1)P(P+1)

_ _
| PN/2 |
| N V |
Under null hypothesis: -2 RHO ln | ------------------ |
| __ PN(i)/2 |
|_ || N(i) _|

is distributed approximately as chi-square(DF)

Test Chi-Square Value = 8.676772 with 3 DF Prob > Chi-Sq = 0.0339

Since the chi-square value is significant at the 0.1 level,


the within covariance matrices will be used in the discriminant function.

Reference: Morrison, D.F. (1976) Multivariate Statistical Methods p252.

En este caso la la hipótesis nula de igualdad de varianza es rechazada pues le "p-value" es 0.0339
menor que 0.05 y no sería conveniente usar análisis discriminante lineal.

Cuando se tiene varias poblaciones multivariadas cuya variabilidad se desea comparar se usa la
prueba de razón de verosimilitud pero, ésta es válida siempre que la suposición de normalidad se
cumpla. SAS usa una modificación de razón de verosimilitud debido a Bartlett para probar
homocedasticidad, la cual sin embargo es bien sensible si no hay normalidad. Una solución sería
probar primero normalidad multivariada usando la prueba de Mardia, la cual se basa en la
distribución de los coeficientes de asimetría y kurtosis. Hay un macro en SAS para esta prueba,
en cual se hace uso del procedimiento IML para matrices. Si no hay normalidad se podria usar
una extension de la prueba de Van Valen combinada con una prueba de F de análisis de varianza.
La prueba de Hawkins (Technometrics, 1981) permite probar simultáneamente normalidad
multivariada y homocedasticidad. Desafortunadamente esta prueba no aparece en ningún
programa estadístico.
MINITAB no incluye prueba para homocedaticidad multivariada ni prueba de normalidad
multivariada. La version 2000 de S-Plus también tiene pruebas de homoscedasticidad.
Edgar Acuna /ESMA 6835 Clasificación 17

2.3. La prueba de Mardia para normalidad multivariada

Consideremos que x’j (j=1,… .n) representan las observaciones en la muestra de entrenamiento
correspondiente a una clase particular C. Si se consideran p variables predictoras entonces cada
xj es un vector columna p-dimensional. Deseamos probar que el vector aleatorio X=(X1,… ..Xp)
se distribuye ne forma normal multivariada en C. Mardia basa su prueba en las medidas de
asimetría y kurtosis, cuyas estimaciones basadas en la muestra de entrenamiento están definidas
como :

n n
1
b1 =
n2
∑ ∑ {(x
j =1 k =1
j − x)' S − 1 (x k − x)}3

n
1
b2 =
n
∑ {(x
j =1
j − x)' S − 1 (x j − x)}2

respectivamente. Si la hipótesis nula Ho: X es normal multivariada en la clase C es cierta


entonces se puede mostrar que para n grande

(n / 6)b1 ~ χ d2

con d=(p/6)(p+1)(p+2) grados de libertad, y

[b2 − p( p + 2)] / (8 / n) p( p + 2) ~ N (0,1)

Ejemplo: Probar si existe normalidad multivariada para los datos del ejemplo 1.

Haciendo los cálculos con MINITAB para la clase C1=P se obtiene que b1= 1.26451 y
(n/6)b1=5.05804. Asimismo d=(2/6)(3)(4)=4 dando un “p-value” para la Ji-Cuadrado de
0.2814.
Por otro lado, b2=6.25786, luego z=(6.25786-8)/ 8 / 3 =-1.0668 y el “p-value” para la
prueba de z es 0.2860.
Como ambos “p-values” son mayores que 0.05 no se rechaza la hipótesis nula y se
concluye que las notas en los dos examenes para los estudiantes que aprueban se
distribuyen como una normal multivariada.

Para la clase C2=F se obtiene que b1= 0.484323 y (n/6)b1= 0.645764


. Asimismo d=(2/6)(3)(4)=4 dando un “p-value” para la Ji-Cuadrado de 0.957800.
Por otro lado, b2=3.82457 luego z=(3.82457-8)/ 8 = -1.47624 y el “p-value” para la
prueba de z es 0.1398.
Como ambos “p-values” son mayores que 0.05 no se rechaza la hipótesis nula y se
concluye que las notas en los dos examenes para los estudiantes que NO aprueban se
distribuyen como una normal multivariada.
Edgar Acuna /ESMA 6835 Clasificación 18

2.4 Relación del análisis discriminante lineal con regresion lineal

El análisis discriminante lineal es equivalente a una regresión lineal con variable de respuesta Y
que asume el valor y1=n2/(n1+n2) si la observación pertenece a la clase C1 y y 2=-n1/(n1+n2) si la
observación pertenece a la clase C2. Aqui n1 es el número de observaciones de la clase C1 y n2 es
el número de observaciones de la clase C2 . Claramente y =0. La linea de regresión múltiple
puede ser escrita como

yˆ = βˆ0 + βˆ1 x1 + ..... + βˆk x k

k k
donde βˆ0 = y − ∑i =1
βˆi x i = − ∑ βˆi x i . Usando notación matricial se puede a llegar a establecer
i =1

que si bj representan los coeficientes de la función de discriminación lineal, entonces βˆj = cb j


donde c es una constante definida por

n1n2 /(n1 + n2 )
c=
(n1 + n2 − 2) + [n1 n2 /(n1 + n2 )]D 2

aqui D2 representa la distancia Mahalanobis al cuadrado entre los dos grupos.

En efecto, consideremos el modelo de regresión lineal mutliple con p variables predictoras

yj=ao+a’xj+ej

tal que yj=n2/(n1+n2) si xj pertenece al Grupo 1 y yj= -n1/(n1+n2) si xj peternece al grupo 2.

Minimizando la suma de los cuadrados de los errores ej conduce a las ecuaciones normales

Σ (yj-ao-a’xj)(-1)=0 (1)

Σ(yj-ao-a’xj)(-xj)=0 (2)

Ahora usando el hecho que Σyj=0 se obtiene de la primera ecuación que ao= -a’x =
n1 n
-( x'1 + 2 x' 2 )a. Sustituyendo en la ecuación (2) esta se convierte en
n n

n1 n
Σ[-( x'1 + 2 x' 2 ) a +a’xj]xj=Σyjxj
n n

de donde por la forma como estan definidas las yj se convierte en

n1 n nn
(Σ xj x’j ) a -( x'1 + 2 x' 2 ) a Σxj= 1 2 ( x1 − x 2 )
n n n

o equivalentemente
Edgar Acuna /ESMA 6835 Clasificación 19

n1 n nn
[ Σx’j xj -( x'1 + 2 x' 2 )( n1x1 + n2 x 2 )]a= 1 2 ( x1 − x 2 ) (3)
n n n

haciendo manipuleo algerbríco, lo anterior puede ser escrito como

n1n2 nn
[(n-2)SW+ ( x1 − x 2 )( x1 − x 2 )' ]a= 1 2 ( x1 − x 2 ) (4)
n n

1
donde Sw= [∑ ( x − x1 )(x − x1 )' + ∑ (x − x 2 )(x − x 2 )'
n− 2

es el estimado de la matriz de covarianza combinada, también llamada la matriz de covarianza


dentro de las clases.

De aqui hay dos maneras de llegar a la igualdad deseada

a) Usar la formula de Sherman-Morrison

A− 1uu' A− 1
(A+uu')-1=A-1+
1 + u' A− 1u

para invertir la matriz que aparece en el lado izquierdo de (4).

n1n2 nn
b) Usar el hecho que ( x1 − x 2 )( x1 − x 2 )' esta en la dirección de 1 2 ( x1 − x 2 ) . Así que
n n

(n-2)SWa=c ( x1 − x2 )

donde c es una constante de proporcionalidad. Luego

S -1w
a= k ( x1 - x 2 )
n− 2
Para hallar el valor de c sustituir en la ecuación (4) y con eso la prueba está terminada.
Además, se halla la siguiente relación entre el coeficiente de determinación R2de la regresión
múltiple y la distancia Mahalanobis.

(n1 + n2 )(n1 + n2 − 2) R 2
D2 = ( )
n1n2 1 − R2

En el ejemplo de motivación, se pueden verificar todas las relaciones anteriores.


Aquí n1=24 n2=8, D2=5.14212, β1 = 0.008298 , β 2 = 0.009406 , b1=0.085, b2=0.096 y
R 2=0.507.
Edgar Acuna /ESMA 6835 Clasificación 20

2.5. Ventajas y Desventajas del análisis discriminante lineal

A. Ventajas

a) Simplicidad del método.


b) Las probabilidades a posteriori son fáciles de obtener.
c) Disponible en muchos paquetes de programas estadísticos.

B. Desventajas

a) La suposiciones de Normalidad e igualdad de varianza no siempre se cumplen.


b) La clasificación de nuevas observaciones no es muy eficiente a medida que se incrementa el
número de variables en en el modelo. Se acostumbra a hacer selección de variables antes de
aplicar el método.

3. Análisis discriminante desde el punto de vista Bayesiano.


Supongamos que nosotros conocemos de antemano las probabilidades a priori πi (i=1, 2,… N) de
que un objeto pertenezca a la clase Ci . Si no se conoce ninguna información adicional entonces
la mejor regla de decisión clasificará al objeto como proveniente de la clase Ci si

πi> πj para i=1,2,… ..N, i ≠j (3.1)

Sin embargo, usualmente nosotros conocemos alguna información adicional, tal como un vector x
de observaciones x hechas en el objeto que se desea clasificar. En este caso nosotros comparamos
las probabilidades de pertenecer a cada clase para un objeto con mediciones x y clasificamos al
objeto como de la clase Ci si

P(Ci/x)>P(Cj/x) para todo i ≠j (3.2)

Esta regla de decisión es llamada la regla de Bayes de error mínimo. Las probabilidades P(Ci/x)
son llamadas probabilidades a posteriori. Desafortunadamente raras veces se conoce las
probabilidades a posteriori y éstas deben ser estimadas, como es el caso de regresión logística,
clasificación por árboles y redes neurales.

Una formulación mas conveniente de la regla anterior puede ser obtenida aplicando el teorema de
Bayes, el cual afirma que:
f (x / C i )πi
P (Ci / x) = (3.3)
f (x)

que conduce a clasificar a un objeto como de la clase Ci si

f (x / C i )πi > f (x / C j )π j (3.4)

para todo i ≠j. Si las funciones de densidades para cada clase f(x/ Ci ) son conocidas entonces el
problema está resuelto, como es el caso de discriminante lineal y cuadrático ( ver secciones 2 y
5). Pero algunas veces también las f(x/ Ci ) son desconocidas y deben de ser estimadas usando
Edgar Acuna /ESMA 6835 Clasificación 21

la muestra tomada, como es el caso de estimación de funciones de densidades usando kernels y


los k vecinos más cercanos.

Cuando hay solo dos clases presentes la regla de decisión de error mínimo de Bayes puede ser
expresada en la forma de una razón de verosimilitud. Así un objeto es clasificado como de la
clase C1 si

f (x / C1 ) π2
> (3.5)
f (x / C 2 ) π1

3.1 Aplicación al análisis discriminante lineal

Supongamos que tenemos dos clases C1 y C2 distribuidas como Np(u1,Σ1) y Np(u2,Σ2)


respectivamente y que además tienen igual matriz de covarianza Σ1=Σ2 =Σ. Entonces la ecuación
5 se convierte en
exp[ − 1 / 2(x − u 1 )' Σ − 1 (x − u 1 ) π2
> (3.6)
exp[ − 1 / 2(x − u 2 )' Σ − 1 (x − u 2 ) π1

Tomado logaritmos en ambos lados se obtiene

π2
− 1 / 2[(x − u 1 )' Σ − 1 (x − u 1 ) − (x − u 2 )' Σ − 1 ( x − u 2 )] > Ln( ) (3.7)
π1

de donde haciendo simplificaciones se obtiene

π2
(u1-u2)'Σ-1(x-1/2(u1+u2))-> Ln( ) (3.8)
π2

La ecuación (3.8) es similar a la ecuación (2.3), excepto por el lado derecho. Si consideramos
que las probabilidades apriori son iguales (π1=π2) se obtienen el mismo resultado.

Ejemplo 2: El conjunto Iris de Fisher (3 clases y 4 variables)

En este ejemplo las clases son tres especies de Iris: Iris setosa, Iris versicolor y Iris virginica que
son clasificadas de acuerdo a cuatro variables:longitud de pétalo (petallen) y ancho de
pétalo(petalwid), longitud de sépalo (sepallen) y ancho de sépalo (sepalwid) no se usaron. La
muestra de entrenamiento consiste de 150 casos, 50 por cada especie

En MINITAB se obtienen los siguientes resultados cuando se consideran las cuatro variables

Discriminant Analysis: especie versus sepallen, sepalwid, ...

Linear Method for Response : especie


Predictors: sepallen sepalwid petallen petalwid
Edgar Acuna /ESMA 6835 Clasificación 22

Group setosa versicol virginic


Count 50 50 50

Summary of Classification

Put into ....True Group....


Group setosa versicol virginic
setosa 50 0 0
versicol 0 49 2
virginic 0 1 48
Total N 50 50 50
N Correct 50 49 48
Proportion 1.000 0.980 0.960

N = 150 N Correct = 147 Proportion Correct = 0.980

Squared Distance Between Groups


setosa versicol virginic
setosa 0.000 179.385 89.864
versicol 179.385 0.000 17.201
virginic 89.864 17.201 0.000

Linear Discriminant Function for Group


setosa versicol virginic
Constant -85.21 -103.27 -71.75
sepallen 2.35 1.24 1.57
sepalwid 2.36 0.37 0.71
petallen -1.64 1.28 0.52
petalwid -1.74 2.11 0.64

Variable Pooled Means for Group


Mean setosa versicol virginic
sepallen 58.433 50.060 65.880 59.360
sepalwid 30.573 34.280 29.740 27.700
petallen 37.580 14.620 55.520 42.600
petalwid 11.993 2.460 20.260 13.260

Variable Pooled StDev for Group


StDev setosa versicol virginic
sepallen 5.148 3.525 6.359 5.162
sepalwid 3.397 3.791 3.225 3.138
petallen 4.303 1.737 5.519 4.699
petalwid 2.047 1.054 2.747 1.978

Pooled Covariance Matrix


sepallen sepalwid petallen petalwid
sepallen 26.501
sepalwid 9.272 11.539
petallen 16.751 5.524 18.519
petalwid 3.840 3.271 4.267 4.188

Covariance Matrix for Group setosa


sepallen sepalwid petallen petalwid
sepallen 12.4249
sepalwid 9.9216 14.3690
petallen 1.6355 1.1698 3.0159
petalwid 1.0331 0.9298 0.6069 1.1106

Covariance Matrix for Group versicol


sepallen sepalwid petallen petalwid
sepallen 40.4343
sepalwid 9.3763 10.4004
petallen 30.3290 7.1380 30.4588
Edgar Acuna /ESMA 6835 Clasificación 23

petalwid 4.9094 4.7629 4.8824 7.5433

Covariance Matrix for Group virginic


sepallen sepalwid petallen petalwid
sepallen 26.6433
sepalwid 8.5184 9.8469
petallen 18.2898 8.2653 22.0816
petalwid 5.5780 4.1204 7.3102 3.9106

Summary of Misclassified Observations

Observation True Pred Group Squared Probability


Group Group Distance
2 ** versicol virginic setosa 133.067 0.000
versicol 7.236 0.271
virginic 5.253 0.729
3 ** virginic versicol setosa 130.862 0.000
versicol 6.507 0.747
virginic 8.670 0.253
116 ** virginic versicol setosa 149.030 0.000
versicol 4.864 0.857
virginic 8.439 0.143

Hay 3 observaciones mal clasificadas para una tasa estimada de clasificación errada es del 2%

En SAS el procedimento DISCRIM hace el análisis discriminante. La opción pool=yes produce


el análisis discriminante lineal y pool=no produce el análisis discriminante cuadrático
directamente. La opción pool=test hace primero la prueba de homogeneidad de varianza y luego
dependiendo del resultado de la prueba ejecuta un análisis discriminante lineal o cuadrático. El
siguiente es el programa en SAS correpondiente al ejemplo 1.

options nodate nonumber;


data ejemplo1;
input E1 E2 nota aprueba $;
datalines;
96 100 100 p
96 94 99 p
100 91 97 p
93 96 97 p
90 94 95 p
75 83 94 p
75 99 94 p
64 93 94 p
89 55 93 p
57 94 92 p
70 84 90 p
44 89 87 p
62 63 85 p
76 84 84 p
73 90 82 p
76 30 80 p
69 67 79 p
78 57 77 p
85 25 77 p
67 63 74 p
64 48 73 p
66 51 72 p
Edgar Acuna /ESMA 6835 Clasificación 24

79 46 68 p
69 74 68 p
51 49 59 f
37 41 56 f
67 39 53 f
75 24 60 f
62 38 58 f
57 26 46 f
77 18 44 f
50 37 42 f
;
data datatest;
input e1 e2;
datalines;
50 75
;
proc discrim data=ejemplo1 test=datatest method=normal pool=yes listerr;
class aprueba;
var e1 e2;
title 'Analisis discriminante Lineal para el ejemplo1';
run;

Notar la opción pool=yes, esto significa que se va a usar una matriz de covarianza combinada ya
que se desea un análsis discriminante lineal. Los resultados que se obtienen son los siguientes

Discriminant Analysis

32 Observations 31 DF Total
2 Variables 30 DF Within Classes
2 Classes 1 DF Between Classes

Class Level Information

Prior
APRUEBA Frequency Weight Proportion Probability

f 8 8.0000 0.250000 0.500000


p 24 24.0000 0.750000 0.500000

Analisis discriminante Lineal para el ejemplo1

Discriminant Analysis Pooled Covariance Matrix Information

Covariance Natural Log of the Determinant


Matrix Rank of the Covariance Matrix

2 11.2535757

Analisis discriminante Lineal para el ejemplo1

Discriminant Analysis Pairwise Generalized Squared Distances Between Groups

2 _ _ -1 _ _
D (i|j) = (X - X )' COV (X - X )
i j i j
Edgar Acuna /ESMA 6835 Clasificación 25

Generalized Squared Distance to APRUEBA


From
APRUEBA f p

f 0 5.14212
p 5.14212 0

Analisis discriminante Lineal para el ejemplo1

Discriminant Analysis Linear Discriminant Function

_ -1 _ -1 _
Constant = -.5 X' COV X Coefficient Vector = COV X
j j j

APRUEBA

f p

CONSTANT -10.79283 -21.61484


E1 0.31736 0.40152
E2 0.07950 0.17490

Analisis discriminante Lineal para el ejemplo1

Discriminant Analysis Classification Results for Calibration Data:


WORK.EJEMPLO1

Resubstitution Results using Linear Discriminant Function

Generalized Squared Distance Function:

2 _ -1 _
D (X) = (X-X )' COV (X-X )
j j j

Posterior Probability of Membership in each APRUEBA:

2 2
Pr(j|X) = exp(-.5 D (X)) / SUM exp(-.5 D (X))
j k k

Posterior Probability of Membership in


APRUEBA:
Obs From Classified
APRUEBA into APRUEBA f p

16 p f * 0.8269 0.1731
19 p f * 0.7831 0.2169
21 p f * 0.7020 0.2980
22 p f * 0.5992 0.4008

* Misclassified observation

Analisis discriminante Lineal para el ejemplo1


Edgar Acuna /ESMA 6835 Clasificación 26

Discriminant Analysis Classification Summary for Calibration Data:


WORK.EJEMPLO1

Resubstitution Summary using Linear Discriminant Function

Generalized Squared Distance Function:

2 _ -1 _
D (X) = (X-X )' COV (X-X )
j j j

Posterior Probability of Membership in each APRUEBA:

2 2
Pr(j|X) = exp(-.5 D (X)) / SUM exp(-.5 D (X))
j k k

Number of Observations and Percent Classified into


APRUEBA:

From APRUEBA f p Total

f 8 0 8
100.00 0.00 100.00

p 4 20 24
16.67 83.33 100.00

Total 12 20 32
Percent 37.50 62.50 100.00

Priors 0.5000 0.5000

Error Count Estimates for APRUEBA:

f p Total

Rate 0.0000 0.1667 0.0833

Priors 0.5000 0.5000

Analisis discriminante Lineal para el ejemplo1

Discriminant Analysis Classification Summary for Test Data: WORK.DATATEST

Classification Summary using Linear Discriminant Function

Generalized Squared Distance Function:

2 _ -1 _
D (X) = (X-X )' COV (X-X )
j j j

Posterior Probability of Membership in each APRUEBA:


Edgar Acuna /ESMA 6835 Clasificación 27

2 2
Pr(j|X) = exp(-.5 D (X)) / SUM exp(-.5 D (X))
j k k

Number of Observations and Percent Classified into


APRUEBA:

f p Total

Total 0 1 1
Percent 0.00 100.00 100.00

Priors 0.5000 0.5000

El contenido de la salida es bastante similar al que da MINITAB, aunque incluye las fórmulas
usadas en ella. El siguiente es el programa en SAS correpondiente al ejemplo 2. Los datos están
contenidos en el archivo a:\iris.dat y solo se usarán las variables predictoras petalwid y petallen.

options nodate nonumber;


data ejemplo2;
infile "a:\iris.dat";
input sepallen sepalwid petallen petalwid especies $;
proc discrim method=normal pool=test listerr;
class especies;
var petallen petalwid;
run;

Los resultados que se obtienen son los siguientes

The SAS System

Discriminant Analysis

150 Observations 149 DF Total


2 Variables 147 DF Within Classes
3 Classes 2 DF Between Classes

Class Level Information

Prior
ESPECIES Frequency Weight Proportion Probability

setosa 50 50.0000 0.333333 0.333333


versicol 50 50.0000 0.333333 0.333333
virginic 50 50.0000 0.333333 0.333333

The SAS System

Discriminant Analysis Within Covariance Matrix Information

Covariance Natural Log of the Determinant


Edgar Acuna /ESMA 6835 Clasificación 28

ESPECIES Matrix Rank of the Covariance Matrix

setosa 2 1.09231
versicol 2 3.49389
virginic 2 5.32749
Pooled 2 4.08356

The SAS System

Discriminant Analysis Test of Homogeneity of Within Covariance Matrices

Notation: K = Number of Groups

P = Number of Variables

N = Total Number of Observations - Number of Groups

N(i) = Number of Observations in the i'th Group - 1

__ N(i)/2
|| |Within SS Matrix(i)|
V = -----------------------------------
N/2
|Pooled SS Matrix|

_ _ 2
| 1 1 | 2P + 3P - 1
RHO = 1.0 - | SUM ----- - --- | -------------
|_ N(i) N _| 6(P+1)(K-1)

DF = .5(K-1)P(P+1)

_ _
| PN/2 |
| N V |
Under null hypothesis: -2 RHO ln | ------------------ |
| __ PN(i)/2 |
|_ || N(i) _|

is distributed approximately as chi-square(DF)

Test Chi-Square Value = 112.262384 with 6 DF Prob > Chi-Sq = 0.0001

Since the chi-square value is significant at the 0.1 level,


the within covariance matrices will be used in the discriminant function.

Reference: Morrison, D.F. (1976) Multivariate Statistical Methods p252.

The SAS System

Discriminant Analysis Pairwise Generalized Squared Distances Between Groups

2 _ _ -1 _ _
D (i|j) = (X - X )' COV (X - X ) + ln |COV |
Edgar Acuna /ESMA 6835 Clasificación 29

i j j i j j

Generalized Squared Distance to ESPECIES


From
ESPECIES setosa versicol virginic

setosa 1.09231 40.53296 78.94804


versicol 287.70701 3.49389 14.40145
virginic 648.38795 16.02714 5.32749

Posterior Probability of Membership in


ESPECIES:
Obs From Classified
ESPECIES into ESPECIES setosa versicol virginic

2 virginic versicol * 0.0000 0.6926 0.3074


3 versicol virginic * 0.0000 0.1602 0.8398
99 virginic versicol * 0.0000 0.8059 0.1941

* Misclassified observation

The SAS System

Discriminant Analysis Classification Summary for Calibration Data:


WORK.EJEMPLO2

Resubstitution Summary using Quadratic Discriminant Function

Generalized Squared Distance Function:

2 _ -1 _
D (X) = (X-X )' COV (X-X ) + ln |COV |
j j j j j

Posterior Probability of Membership in each ESPECIES:

2 2
Pr(j|X) = exp(-.5 D (X)) / SUM exp(-.5 D (X))
j k k

Number of Observations and Percent Classified into


ESPECIES:

From ESPECIES setosa versicol virginic Total

setosa 50 0 0 50
100.00 0.00 0.00 100.00

versicol 0 49 1 50
0.00 98.00 2.00 100.00

virginic 0 2 48 50
0.00 4.00 96.00 100.00

Total 50 51 49 150
Percent 33.33 34.00 32.67 100.00
Edgar Acuna /ESMA 6835 Clasificación 30

Priors 0.3333 0.3333 0.3333

Error Count Estimates for ESPECIES:

setosa versicol virginic Total

Rate 0.0000 0.0200 0.0400 0.0200

Priors 0.3333 0.3333 0.3333

La hipótesis de igualdad de matrices de covarianza es rechazada. Solo 3 de las 150


observaciones están mal clasificadas para una tasa promedio de error es del 2%, aún cuando
solo se usaron 2 de las 4 variables predictoras

Para hacer análisis discriminante en S-Plus se puede usar la secuencia de menus: Statistics>Multivariate>
Discriminant Analysis. Una segunda alternativa es usar la función discrim. Una tercera alternativa es usar
la función lda de la libreria MASS de Venables y Ripley. Para esto primero se da la instrucción
library(MASS) en la ventana de comandos. La función discrim esta basada en las funciones lda y qda de
MASS. La siguiente instrucción hará el análisis discriminante lineal para el conjunto de datos iris.

ldairis<-lda(especie~.,iris,prior=c(1,1,1)/3)

4. Estimación de la tasa de Classificación Errada


La tasa de clasificacion errada R(d) es la probabilidad de que la regla de clasificación ( o
simplemente el clasificador) d clasifique mal una observacion proveniente de una muestra
obtenida posteriormente a la muestra usada para establecer el clasificador. También es llamada
error verdadero o error actual (eC)

Hay varios metodos para estimar esta tasa de clasificacion:

Estimación por resubsitución o Error Aparente (eA) (Smith, 1947). Este es simplemente la
proporción de obervaciones de la muestra que son erróneamenete clasificados por el clasificador
hallado en base a la muestra tomada. Por lo general es un estimador demasiado optimista y puede
conducir a falsas conclusiones si el tamaño de la muestra no es muy grande comparado con el
número de variables envueltas en el clasificador. Este estimador tiene mucho sesgo.
La mayoria de programas estadísticos (SAS, MINITAB, SPSS, etc ) dan el error aparente.

Estimación por validación cruzada. (Stone, 1974) En este caso se divide al azar la muestra en v
partes ( v=10 es lo más usado) y se halla el clasificador usando todas menos una de las partes
luego se clasifica las observaciones que se dejaron de lado, el promedio de las clasificaciones
erradas dará el estimador por validación cruzada. Es poco sesgado, pero muy variable.

Estimación "Dejar uno afuera" . (Lachenbruch, `1965) Es una situación particular del caso
anterior con v=n, algo similar también al "Jackknife". Aquí se omite una observacion se recalcula
el clasificador usando las observaciones restantes y luego se clasifica la observacion no
considerada, se repite el proceso para cada observación de la muestra. La proporción de
Edgar Acuna /ESMA 6835 Clasificación 31

observaciones mal clasificadas da el estimado de la tasa de clasificacion errada. La estimación es


poco sesgada pero lamentablemente tiene una varianza muy grande. La computación de este
estimador toma mucho tiempo.

La mayoria de programas estadísticos (SAS, MINITAB, SPSS, etc ) dan el error aparente.

Estimación por "Bootstrapping". (Efron, 1983). El método se basa en tomar muestras con
reemplazamiento de los datos en la muestra de entrenamiento y de igual tamaño que ella. Es casi
insesgado y tiene varianza pequeña. Tiene la desventaja de que es demasiado costoso calcularlo.
Hay varios esquemas de este método:

a) Método simple:
1. Se toma una muestra con reemplazamiento y de igual tamaño que la muestra de
entrenamiento y se halla el clasificador.

2. Se calcula el error del clasificador obtenido en el paso 1, pero aplicado a la muestra


original, que actua como una muestra de prueba. Sea ak que representa ese error.

3. Se repiten los pasos 1-2, B veces. Usualmente B es mayor de 100.

4. El estimado de la tasa de error será el promedio de los errores ak

b) Metodo refinado:
Antes que nada el sesgo del estimador de la tasa de error se define como eC-eA. Notar que eC=eA+
eC-eA= eA+ Sesgo
En este caso se estima dicho sesgo del error por resubstitución de la muestra de entrenamiento
siguiendo los siguientes pasos:

1) Hallar el clasificador usando la muestra original y su error por resubstitución (eA)


2) Generar una muestra con reemplazo de la muestra de entrenamiento, que tenga su mismo
tamaño esta es llamada la muestra "boostrapeada".
3) Hallar el clasificador usando la muestra "bootstrapeada" y obtener el error por resubstitucion
para la muestra "bootstrapeada" (eb )
4) Considerar la muestra "bootstrapeada" como la muestra de entrenamiento y la muestra
original como la muestra de prueba y hallar el error del clasificador cuando es aplicada a esta
última (et). Este es un estimado del error verdadero o actual.
5) Calcular et-eb
6) Repetir los pasos 2-5 B times ( B entre 50 y 100)
7) El promedio de las diferencias obtenidas en el paso 5 (Wboot ) será el estimado del sesgo del
error por resubstitución.
8) El estimado de la tasa de clasificación errada sesgo será eA+Wboot .

Existen tambien los métodos de doble "bootstrapping" y el estimator .632 ( Ver Efron y
Tibshirani (1983), McLachlan, (1992), Webb (1999)). Notar que

4.1. La tasa de clasificación errada y el intercambio Sesgo-Varianza.


Edgar Acuna /ESMA 6835 Clasificación 32

Breiman (1998) obtuvo la siguiente descomposición del error de clasificación para el clasificador
C:

ME(C)=ME(C*)+Sesgo2(C) +Var(C)

Aqui C* es el clasificador de Bayes dado por C*(x)=argmaxjP(Y=j/X=x), y MC(E*) es llamado


el error óptimo o error de Bayes.

Otras definiciones del sesgo (bias) y varianza de un clasificador y de la descomposición sesgo


mas varianza han sido dadas por Kohavi and Wolpert (1996) and Tibshirani (1996).

El clasificador puede sobreajustar ("overfit") en cuyo caso el sesgo es bajo pero la variabilidad es
alta o subajustar ("underfit") los datos en cuyo caso el sesgo es alto pero la varianza es alta.

5. Análisis Discriminante Cuadrático


La suposición de igualdad de las matrices de covarianzas raras veces se cumple. Supongamos
que hay normalidad de las dos poblaciones C1 y C2 pero que la suposición de homogeneidad de
varianza no se cumple. Entonces por la ecuación (3.5) el objeto x es asignado a la clase C1 si

| Σ 2 |1 / 2 exp[− 1 / 2(x − u 1 )' Σ1− 1 (x − u 1 ) π2


> (6.7)
| Σ1 |1 / 2 exp[ − 1 / 2(x − u 2 )' Σ −21 (x − u 2 ) π1

tomando logaritmos en ambos lados se obtiene

| Σ2 | π
1 / 2 Ln( ) − 1 / 2[(x − u 1 )' Σ1− 1 (x − u 1 ) − (x − u 2 )' Σ −21 (x − u 2 )] > Ln( 2 ) (6.8)
| Σ1 | π1
haciendo simplificaciones se obtiene

| Σ1 | π
x' (Σ 2− 1 − Σ1− 1 )x − 2x' (Σ 2− 1u 2 − Σ1− 1u 1 ) + (u '2 Σ −21u 2 − u 1' Σ1− 1u 1 ) > Ln( ) + 2 Ln( 2 )
| Σ2 | π1

La versión muestral de lo anterior considerando además que las probabilidades a priori π1 y π2


son iguales es la siguiente

| S1 |
x' ( S2− 1 − S1− 1 )x − 2x' ( S 2− 1x 2 − S1− 1x1 ) + ( x2' S2− 1 x 2 − x1' S1− 1x1 ) > Ln( ) (6.9)
| S2 |

Aqui la frontera entre las dos clases son curvas cuadráticas (elipses, hiperbolas etc.).
Usando simulación se ha demostrado que cuando hay normalidad la discriminación cuadrática es
más eficiente que la lineal para muestras grandes, pero no para muestras pequeñas. En el caso de
muestras pequeñas debe haber una marcada diferencia entre las matrices de covarianza para que
la discriminacion cuadrática sea eficiente ( Marks and Dunn, JASA 1974).
También ha quedado probado que cuando no hay normalidad la discriminación cuadrática tiene
un pobre rendimiento.
Edgar Acuna /ESMA 6835 Clasificación 33

5.1. Análisis Discriminante Cuadrático en SAS y MINITAB

Para hacer discriininación cuadrática en MINITAB, se elige la opción Quadratic en la ventana


de diálogo de la opción Discriminant Analysis. Los resultados para los datos del ejemplo 1 serán

Discriminant Analysis

Quadratic Method for Response : aprobaci


Predictors: E1 E2

Group f p
Count 8 24

Summary of Classification

Put into ....True Group....


Group f p
f 8 2
p 0 22
Total N 8 24
N Correct 8 22
Proportion 1.000 0.917

N = 32 N Correct = 30 Proportion Correct = 0.937

From Generalized Squared Distance to Group


Group f p
f 9.213 15.530
p 53.201 11.450

Variable Pooled Means for Group


Mean f p
E1 71.531 59.500 75.542
E2 63.813 34.000 73.750

Variable Pooled StDev for Group


StDev f p
E1 13.66 13.54 13.70
E2 20.34 10.31 22.52

Pooled Covariance Matrix


E1 E2
E1 186.599
E2 3.542 413.550

Covariance Matrix for Group f


E1 E2
E1 183.43
E2 -97.29 106.29

Covariance Matrix for Group p


E1 E2
E1 187.56
E2 34.23 507.07

Summary of Classified Observations

Observation True Pred Group Squared Probability


Group Group Distance
1 p p f 149.71 0.000
p 14.69 1.000
2 p p f 131.64 0.000
p 14.23 1.000
3 p p f 130.78 0.000
p 14.97 1.000
4 p p f 131.68 0.000
Edgar Acuna /ESMA 6835 Clasificación 34

p 13.80 1.000
5 p p f 120.39 0.000
p 13.18 1.000
6 p p f 70.39 0.000
p 11.63 1.000
7 p p f 108.56 0.000
p 12.73 1.000
8 p p f 78.23 0.000
p 13.07 1.000
9 p p f 38.51 0.000
p 13.31 1.000
10 p p f 72.20 0.000
p 14.40 1.000
11 p p f 66.28 0.000
p 11.87 1.000
12 p p f 50.54 0.000
p 17.64 1.000
13 p p f 26.06 0.001
p 12.56 0.999
14 p p f 73.81 0.000
p 11.66 1.000
15 p p f 83.15 0.000
p 12.04 1.000
16 ** p f f 11.11 0.890
p 15.29 0.110
17 p p f 36.16 0.000
p 11.74 1.000
18 p p f 30.77 0.000
p 12.07 1.000
19 ** p f f 13.13 0.874
p 17.01 0.126
20 p p f 29.41 0.000
p 12.01 1.000
21 p p f 14.23 0.383
p 13.28 0.617
22 p p f 17.09 0.106
p 12.82 0.894
23 p p f 20.41 0.025
p 13.12 0.975
24 p p f 46.80 0.000
p 11.68 1.000
25 f f f 11.62 0.873
p 15.48 0.127
26 f f f 12.42 0.984
p 20.69 0.016
27 f f f 10.99 0.821
p 14.04 0.179
28 f f f 10.58 0.948
p 16.37 0.052
29 f f f 9.766 0.920
p 14.639 0.080
30 f f f 10.84 0.960
p 17.21 0.040
31 f f f 11.71 0.953
p 17.73 0.047
32 f f f 9.781 0.973
p 16.985 0.027

Prediction for Test Observations

Observation Pred Group From Group Sqrd Distnc Probability


1 p
f 33.353 0.000
p 14.998 1.000

Solo 2 de las 32 observaciones son mal clasificadas para un porcentaje de error del 6.3%,
mejorando los resultados obtenidos por el análisis discriminante lineal.
Edgar Acuna /ESMA 6835 Clasificación 35

En el ejemplo 1, la ecuación de la función discriminante cuadrática, obtenida despues de largos


cálculos es la siguiente:

0.005197 E12 +0.02012 E1 * E 2 +0.016288 E 22 -1.15852E1-2.15804E2+58.0459>0

La gráfica de la ecuación representa una elipse con ejes rotados, sólo una parte de ella interesa
para determinar las regiones de clasificación.
La siguiente gráfica muestra una comparación entre las funciones discriminante lineal y
cuadrática para los datos del ejemplo 1.

Comparacion de discriminacion lineal y cuadratica

110 f
100 funcion discriminante lineal p

90
80
70
60
E2

funcion discriminante
50 cuadratica
40
30
20
10

10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95100
E1

En SAS el procedimento DISCRIM tiene una opción pool=no que produce el análisis
discriminante cuadrático directamente. La opción pool=test hace primero la prueba de
homogeneidad de varianza y luego dependiendo del resultado de la prueba ejecuta un análisis
discriminante lineal o cuadrático. El siguiente es el programa en SAS correpondiente al ejemplo 2
usando solamente las predictoras petallen y petalwid

options nodate nonumber;


data ejemplo2;
input sepallen sepalwid petallen petalwid especies $;
datalines;
50 33 14 2 setosa
63 28 51 15 virginica
59 32 48 18 versicolor
65 30 52 20 virginica
68 32 59 23 virginica
Edgar Acuna /ESMA 6835 Clasificación 36

77 38 67 22 virginica
49 25 45 17 virginica
64 32 45 15 versicolor
55 24 38 11 versicolor
49 36 14 1 setosa
67 33 57 21 virginica
77 28 67 20 virginica
50 23 33 10 versicolor
61 30 49 18 virginica
61 26 56 14 virginica
51 38 19 4 setosa
51 35 14 2 setosa
46 32 14 2 setosa
50 36 14 2 setosa
57 29 42 13 versicolor
71 30 59 21 virginica
49 24 33 10 versicolor
49 31 15 2 setosa
66 29 46 13 versicolor
44 29 14 2 setosa
47 32 13 2 setosa
74 28 61 19 virginica
56 28 49 20 virginica
49 31 15 1 setosa
56 30 41 13 versicolor
51 25 30 11 versicolor
54 39 13 4 setosa
61 29 47 14 versicolor
68 30 55 21 virginica
45 23 13 3 setosa
55 23 40 13 versicolor
51 37 15 4 setosa
63 33 60 25 virginica
64 28 56 22 virginica
46 34 14 3 setosa
46 36 10 2 setosa
56 25 39 11 versicolor
51 33 17 5 setosa
63 33 47 16 versicolor
55 35 13 2 setosa
61 28 40 13 versicolor
63 25 50 19 virginica
54 30 45 15 versicolor
50 35 16 6 setosa
63 27 49 18 virginica
72 32 60 18 virginica
48 34 19 2 setosa
64 28 56 21 virginica
67 31 44 14 versicolor
56 30 45 15 versicolor
60 29 45 15 versicolor
77 30 61 23 virginica
72 30 58 16 virginica
64 31 55 18 virginica
56 27 42 13 versicolor
77 26 69 23 virginica
52 27 39 14 versicolor
Edgar Acuna /ESMA 6835 Clasificación 37

50 20 35 10 versicolor
46 31 15 2 setosa
59 30 42 15 versicolor
60 22 40 10 versicolor
67 31 47 15 versicolor
63 25 49 15 versicolor
57 28 41 13 versicolor
51 35 14 3 setosa
56 29 36 13 versicolor
55 25 40 13 versicolor
57 25 50 20 virginica
66 30 44 14 versicolor
52 35 15 2 setosa
53 37 15 2 setosa
65 28 46 15 versicolor
69 31 51 23 virginica
61 30 46 14 versicolor
65 30 55 18 virginica
57 28 45 13 versicolor
67 33 57 25 virginica
67 30 52 23 virginica
48 31 16 2 setosa
64 32 53 23 virginica
79 38 64 20 virginica
58 26 40 12 versicolor
47 32 16 2 setosa
48 30 14 3 setosa
50 30 16 2 setosa
43 30 11 1 setosa
62 28 48 18 virginica
58 27 41 10 versicolor
57 26 35 10 versicolor
63 34 56 24 virginica
54 34 15 4 setosa
60 30 48 18 virginica
57 30 42 12 versicolor
60 22 50 15 virginica
60 34 45 16 versicolor
55 24 37 10 versicolor
69 32 57 23 virginica
51 34 15 2 setosa
73 29 63 18 virginica
63 23 44 13 versicolor
61 28 47 12 versicolor
65 30 58 22 virginica
72 36 61 25 virginica
69 31 49 15 versicolor
48 34 16 2 setosa
57 38 17 3 setosa
68 28 48 14 versicolor
58 28 51 24 virginica
67 31 56 24 virginica
62 22 45 15 versicolor
60 27 51 16 versicolor
58 27 51 19 virginica
62 34 54 23 virginica
76 30 66 21 virginica
Edgar Acuna /ESMA 6835 Clasificación 38

70 32 47 14 versicolor
59 30 51 18 virginica
52 34 14 2 setosa
44 32 13 2 setosa
44 30 13 2 setosa
55 26 44 12 versicolor
51 38 16 2 setosa
50 32 12 2 setosa
58 40 12 2 setosa
49 30 14 2 setosa
50 34 16 4 setosa
57 44 15 4 setosa
58 27 51 19 virginica
52 41 15 1 setosa
63 29 56 18 virginica
55 42 14 2 setosa
54 39 17 4 setosa
50 34 15 2 setosa
58 27 39 12 versicolor
62 29 43 13 versicolor
50 35 13 3 setosa
67 25 58 18 virginica
54 37 15 2 setosa
64 29 43 13 versicolor
69 31 54 21 virginica
65 32 51 20 virginica
64 27 53 19 virginica
48 30 14 1 setosa
51 38 15 3 setosa
54 34 17 2 setosa
67 30 50 17 versicolor
;
proc discrim method=normal pool=test listerr;
class especies;
var petallen petalwid;
run;

Los resultados que se obtienen son los siguientes

The SAS System

Discriminant Analysis

150 Observations 149 DF Total


2 Variables 147 DF Within Classes
3 Classes 2 DF Between Classes

Class Level Information

Prior
ESPECIES Frequency Weight Proportion Probability

setosa 50 50.0000 0.333333 0.333333


versicol 50 50.0000 0.333333 0.333333
virginic 50 50.0000 0.333333 0.333333
Edgar Acuna /ESMA 6835 Clasificación 39

The SAS System

Discriminant Analysis Within Covariance Matrix Information

Covariance Natural Log of the Determinant


ESPECIES Matrix Rank of the Covariance Matrix

setosa 2 1.09231
versicol 2 3.49389
virginic 2 5.32749
Pooled 2 4.08356

The SAS System

Discriminant Analysis Test of Homogeneity of Within Covariance Matrices

Notation: K = Number of Groups

P = Number of Variables

N = Total Number of Observations - Number of Groups

N(i) = Number of Observations in the i'th Group - 1

__ N(i)/2
|| |Within SS Matrix(i)|
V = -----------------------------------
N/2
|Pooled SS Matrix|

_ _ 2
| 1 1 | 2P + 3P - 1
RHO = 1.0 - | SUM ----- - --- | -------------
|_ N(i) N _| 6(P+1)(K-1)

DF = .5(K-1)P(P+1)

_ _
| PN/2 |
| N V |
Under null hypothesis: -2 RHO ln | ------------------ |
| __ PN(i)/2 |
|_ || N(i) _|

is distributed approximately as chi-square(DF)

Test Chi-Square Value = 112.262384 with 6 DF Prob > Chi-Sq = 0.0001

Since the chi-square value is significant at the 0.1 level,


the within covariance matrices will be used in the discriminant function.

Reference: Morrison, D.F. (1976) Multivariate Statistical Methods p252.

The SAS System


Edgar Acuna /ESMA 6835 Clasificación 40

Discriminant Analysis Pairwise Generalized Squared Distances Between Groups

2 _ _ -1 _ _
D (i|j) = (X - X )' COV (X - X ) + ln |COV |
i j j i j j

Generalized Squared Distance to ESPECIES


From
ESPECIES setosa versicol virginic

setosa 1.09231 40.53296 78.94804


versicol 287.70701 3.49389 14.40145
virginic 648.38795 16.02714 5.32749

Posterior Probability of Membership in


ESPECIES:
Obs From Classified
ESPECIES into ESPECIES setosa versicol virginic

2 virginic versicol * 0.0000 0.6926 0.3074


3 versicol virginic * 0.0000 0.1602 0.8398
99 virginic versicol * 0.0000 0.8059 0.1941

* Misclassified observation

The SAS System

Discriminant Analysis Classification Summary for Calibration Data:


WORK.EJEMPLO2

Resubstitution Summary using Quadratic Discriminant Function

Generalized Squared Distance Function:

2 _ -1 _
D (X) = (X-X )' COV (X-X ) + ln |COV |
j j j j j

Posterior Probability of Membership in each ESPECIES:

2 2
Pr(j|X) = exp(-.5 D (X)) / SUM exp(-.5 D (X))
j k k

Number of Observations and Percent Classified into


ESPECIES:

From ESPECIES setosa versicol virginic Total

setosa 50 0 0 50
100.00 0.00 0.00 100.00

versicol 0 49 1 50
0.00 98.00 2.00 100.00

virginic 0 2 48 50
Edgar Acuna /ESMA 6835 Clasificación 41

0.00 4.00 96.00 100.00

Total 50 51 49 150
Percent 33.33 34.00 32.67 100.00

Priors 0.3333 0.3333 0.3333

Error Count Estimates for ESPECIES:

setosa versicol virginic Total

Rate 0.0000 0.0200 0.0400 0.0200

Priors 0.3333 0.3333 0.3333

La hipótesis de igualdad de matrices de covarianza es rechazada. Solo 3 de las 150


observaciones están mal clasificadas para una tasa promedio de error es del 2%.

6. Discriminación usando Regresión Logística (Cornfield, 1962)


Consideraremos por ahora que solo tenemos dos clases. Osea que nuestro conjunto de datos
consiste de una muestra de tamaño n=n1+n2 , n1 observaciones son de la clase C1 y n2 son de la
clase C2 para cada observación xj se introduce una variable binaria y que vale 1 si ella es de la
clase C1 y vale 0 si la observacion pertenece a la clase C2 . La variable y tiene una
probabilidad a priori π1 de que y es 1.
f ( x / C1 )
En el modelo logístico se asume que log( ) = α + β ' x . Aqui x es un vector p-
f (x / C 2 )
dimensional de variables predictoras y β es un vector de p parametros.

Por otro lado sea p=P(Y=1/x) la probabilidad a posteriori de que y sea igual a 1, entonces se
puede notar que:
p π1 f (x / C1 )
=
1 − p π2 f (x / C 2 )

p
donde es llamado la razón de apuestas (odds ratio). Tomando logaritmos en ambos lados
1− p
se obtiene
p π f ( x / C1 )
log( ) = log( 1 ) + log
1− p π2 f (x / C 2 )

Si las variables x en cada clase se distribuyen normalmente con igual matriz de covarianza Σ
entonces la ecuación anterior se convierte en

p π
log( ) = log( 1 ) + (u1-u2)' Σ-1(x-1/2(u1+u2))
1− p π2

que puede ser escrita de la forma


Edgar Acuna /ESMA 6835 Clasificación 42

p
log( ) = α + β' x
1− p
o de la forma

exp(α + β ' x)
p=
1 + exp(α + β ' x)
p
esta ecuación es llamada regresión logística y log( ) es llamado la transformacion logit.
1− p
La ecuación anterior se cumple también para otros tipos de distribuciones distintas de la normal
multivariada tales como distribuciones de Bernoulli, y mezclas de éstas.

Un bk representa el cambio promedio de la logit función cuando la variable xk cambia en una


unidad adicional asumiendo que las otras variables permanecen constantes.
También se puede considerar que exp(bk) es una razón de cambio de la razón de apuestas cuando
Xk varia en una unidad adicional. Si Xk es binaria entonces exp(bk) es el cambio en la razón de
apuestas cuando ella asume el valor 1.
Cuando existe solo una variable predictora, que además es binaria entonces existe una relación
entre la regresión logística y el análisis de una tabla de contingencia 2 X 2.

Medidas de Confiabilidad del Modelo

La Devianza: Es similar a la suma de cuadrados del error de la regresión lineal y se define por
n
pˆ 1 − pˆ
D = − 2∑ { yi log( ) + (1 − yi ) log( )}
i =1 yi 1 − yi

Si D es mayor que una Ji-Cuadrado con n-p grados de libertad para un nivel de significación dado
entonces el modelo logístico es confiable.

El Criterio AIC de Akaike: Se define por

AIC=D+2(k+s)

Donde k es es el número de valores ordenados para la variable de respuesta y s es el número de


variables predictoras.

La Prueba de Bondad de Ajuste de Hosmer-Lemeshov. Se define por

(Oi − n'i pi )2
g
C =∑
i =1 n'i pi (1− pi )
Edgar Acuna /ESMA 6835 Clasificación 43

Donde g es el número de grupos, n' i es el numero de observaciones en el i-ésimo grupo


Oi es la suma de las Y en el i-ésimo grupo y pi es el promedio de las pi en el i-ésimo grupo.

Estadisticas Influenciales para regresión logística

Existen varios tipos de residuales que permiten cotejar si una observación es influencial o no.

Residuales de Pearson: definidos por


y i − mi pˆi
ri =
mi pˆi (1 − pˆi )

donde, si los valores de la variable de respuesta están agrupadas, yi representa el número de veces
que y=1 entre las mi repreticiones de XI

El residual de Pearson es similar al residual estudentizado de usado en regresión lineal. Así un


residual de Pearson mayor que 2 indica un dato anormal.

Residuales de Devianza: definidos por

mi p i m (1 − pˆi ) 1 / 2
Di = − 2sign ( y i − mi pi )[ y i log( ) + (mi − y i ) log( i )]
yi mi − y i

Si la devianza es mayor que 4 entonces la observacion correspondiente es anormal

Uso de la regresión logística en Clasificación:

Para efectos de clasificación la manera más facil de discriminar es considerar que si p>0.5
entonces la obervación pertenece a la clase que uno está interesado. Pero algunas veces esto
puede resultar injusto sobre todo si se conoce si una de las clases es menos frecuente quela otra.

Metodos alternos son:


a) Plotear el porcentaje de obervaciones que poseen el evento que han sido correctamente
clasificadas (Sensitividad) versus distintos niveles de probabilidad y el porcentajes de
observaciones de la otra clase que han sido correctamente clasificadas (especifidad) versus
los mismos niveles de probabilidad anteriormente usados, en la misma gráfica. La
probabilidad que se usará para clasificar las observaciones se obtienen intersectando las dos
curvas.
b) Usar la curva ROC (receiver operating characteristic curva). En este caso se grafica la
sensitividad versus (1-especifidad)100%, y se coge como el p ideal aquel que está más cerca
a la esquina superior izquierda, osea al punto (100,0).

Estimación del modelo logístico.

Un método para estimar α y β es el método de máxima verosimilitud.


Dado un objeto x, las probabilidades de clases condicionales para las clases C1 y C2 son :
Edgar Acuna /ESMA 6835 Clasificación 44

exp(α + β ' x)
P (C1 / x) =
1 + exp(α + β ' x)

1
P (C 2 / x) =
1 + exp(α + β ' x)

respectivamente.

Con una muestra de tamaño n=n1+n2 y un parámetro binomial igual a


exp(α + β ' x) /(1 + exp(α + β ' x) la función de verosimilitud es de la forma

n1
exp( a + x i ' β ) n
1
L (α , β ) = ∏ ⋅∏
i =1 1 + exp(α + xi ' β ) j =n1 + 1 1 + exp(α + x j ' β )

asumiendo que las primeras n1 observaciones son de la clase C1 y las restantes son de la clase C2.
~
Los estimados α~ y β son aquellos que maximizan la función anterior y son encontrados
aplicando métodos iterativos tales como Newton-Raphson (SAS) o minimos cuadrados
reponderados iteraativos (MINITAB, S-Plus).

Si hay separabilidad entre los grupos no hay solución unica de la función de verosimilitud

Desventajas de la regresión Logística

Envuelve una gran cantidad de computación


Cuando hay normalidad no clasifica tan eficientemente como la funcion discrimiante lineal

En MINITAB el menú de Regresión contiene tres tipos de regresión logistica: regresión


logística binaria (aplicada a dos clases), regresión logística ordinal ( si hay mas de dos clases) y
regresión logístic nominal (si hay mas de dos clases no ordenadas).

En SAS se usa el procedimiento LOGISTIC

Ejemplo : Se han registrado los pesos de 189 bebes recien nacidos y se han medido las
siguientes variables para determinar si el niño es de bajo peso (menos de 2500 gramos) o no lo es.

Edad: edad de la madre


Pesomama: peso de la madre en su último período muestral
Raza: raza de la madre:1=blanca, 2=negra, 3=otro
Fuma: 0 ssi la madre no fuma, 1 si lo hace.
Prematur: número de partos prematuros de la madre
Hiperten: 0 si la madre no sufre de hipertensión, 1 si sufre
Uterirrit: 0 si no tiene utero irritado, 1 si lo tiene.
Chequeos: número de visitas al médico en los tres primeros meses del embarazo.
Edgar Acuna /ESMA 6835 Clasificación 45

options nodate nonumber;


libname datos "c:\sas\datos";
data datos.ejemplo5;
infile "c:\sas\datos\bajopeso.dat";
input id bajopeso edad pesomama raza fuma prematur hiperten uteirrit
chequeos pesobebe;
proc logistic;
model bajopeso= edad pesomama raza fuma prematur hiperten uteirrit chequeos;
output out=errores predicted=phat;
data malaclas;
set errores;
if (bajopeso=0 and phat<0.5) or (bajopeso=1 and phat>0.5) then clasif='i' ;
else clasif='c';
data listaerr;
set malaclas;
if clasif='i';
if phat<0.5 then clase=1;
else clase=0;
proc print;
var id bajopeso phat clase;
title 'observaciones mal clasificadas';
run;

Los resultados son los siguientes


The SAS System

The LOGISTIC Procedure

Data Set: DATOS.EJEMPLO5


Response Variable: BAJOPESO
Response Levels: 2
Number of Observations: 189
Link Function: Logit

Response Profile

Ordered
Value BAJOPESO Count

1 0 130
2 1 59

Model Fitting Information and Testing Global Null Hypothesis BETA=0

Intercept
Intercept and
Criterion Only Covariates Chi-Square for Covariates

AIC 236.672 222.193 .


SC 239.914 251.369 .
-2 LOG L 234.672 204.193 30.479 with 8 DF (p=0.0002)
Score . . 28.830 with 8 DF (p=0.0003)
Edgar Acuna /ESMA 6835 Clasificación 46

Analysis of Maximum Likelihood Estimates

Parameter Standard Wald Pr > Standardized


Odds
Variable DF Estimate Error Chi-Square Chi-Square Estimate
Ratio

INTERCPT 1 0.0790 1.2763 0.0038 0.9507 .


.
EDAD 1 0.0358 0.0365 0.9659 0.3257 0.104716
1.036
PESOMAMA 1 0.0124 0.00661 3.5068 0.0611 0.208830
1.012
RAZA 1 -0.4534 0.2153 4.4355 0.0352 -0.229572
0.635
FUMA 1 -0.9373 0.3985 5.5330 0.0187 -0.252891
0.392
PREMATUR 1 -0.5421 0.3462 2.4522 0.1174 -0.147444
0.582
HIPERTEN 1 -1.8307 0.6941 6.9559 0.0084 -0.246774
0.160
UTEIRRIT 1 -0.7220 0.4632 2.4296 0.1191 -0.141778
0.486
CHEQUEOS 1 -0.0635 0.1698 0.1397 0.7085 -0.037062
0.939

The SAS System

The LOGISTIC Procedure

Association of Predicted Probabilities and Observed Responses

Concordant = 73.8% Somers' D = 0.477


Discordant = 26.1% Gamma = 0.478
Tied = 0.2% Tau-a = 0.206
(7670 pairs) c = 0.738

observaciones mal clasificadas

OBS ID BAJOPESO PHAT CLASE

1 4 0 0.48248 1
2 5 0 0.48423 1
3 13 0 0.24109 1
4 14 0 0.43253 1
5 45 0 0.43200 1
6 46 0 0.43200 1
7 50 0 0.40682 1
8 57 0 0.30465 1
9 65 0 0.32666 1
10 71 0 0.44522 1
11 73 0 0.49172 1
12 86 0 0.46934 1
13 94 0 0.16979 1
14 102 0 0.45456 1
15 132 1 0.80635 0
Edgar Acuna /ESMA 6835 Clasificación 47

16 136 1 0.82412 0
17 138 1 0.73348 0
18 141 1 0.75693 0
19 143 1 0.73871 0
20 144 1 0.69826 0
21 145 1 0.67348 0
22 146 1 0.75699 0
23 147 1 0.82539 0
24 148 1 0.71635 0
25 149 1 0.67859 0
26 150 1 0.56512 0
27 152 1 0.80894 0
28 153 1 0.50867 0
29 154 1 0.62888 0
30 155 1 0.89982 0
31 157 1 0.56163 0
32 159 1 0.73658 0
33 161 1 0.65930 0
34 162 1 0.57686 0
35 163 1 0.68692 0
36 164 1 0.76802 0
37 168 1 0.69842 0
38 169 1 0.61239 0
39 170 1 0.82139 0
40 171 1 0.78787 0
41 172 1 0.61371 0
42 173 1 0.59766 0
43 175 1 0.73683 0
44 176 1 0.72720 0
45 177 1 0.73569 0
46 178 1 0.64420 0
47 179 1 0.58253 0
48 180 1 0.75786 0
49 182 1 0.63317 0
50 183 1 0.87801 0

observaciones mal clasificadas

OBS ID BAJOPESO PHAT CLASE

51 185 1 0.67738 0
52 186 1 0.58231 0

52 de las 189 observaciones quedan mal clasificadas para una tasa de error del 27.5%.
Edgar Acuna /ESMA 6835 Clasificación 48

sensitividad especificidad p (1-especificidad)%


100.00 15.38 0.10 84.62
88.14 36.15 0.20 63.85
79.66 53.85 0.25 46.15
67.80 67.69 0.30 32.31
55.93 77.69 0.35 22.31
47.46 83.08 0.40 16.92
35.59 89.23 0.50 10.77
18.64 96.92 0.60 3.08
13.56 98.46 0.70 1.54
1.69 99.23 0.80 0.77
0.00 100.00 0.90 0.00

Las gráficas de los dos métodos aparecen en la siguiente figuras y embos caso el p-ótimo a usarse es p=0.3

Interseccion de las curvas de sensitividad y de especificidad para


hallar el p-optimo

100
Sensitividad

Este es el
p-optimo
50

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Especificidad
Edgar Acuna /ESMA 6835 Clasificación 49

En S-Plus para hacer discriminación logística con dos clases se usa la función glm (modelo lineal general)
con la opción family=binary, y para hacer discriminación logística con varias clases se usa la función
Multinom

Generalizaciones de la logistica

El modelo logistico puede ser escrito como

P (C = 1 / x)
log( ) = log it ( P (x)) = η (x)
P (C = 2 / x)

En el modelo básico η(x)=β0+β’x . Pero existen otras posibilidades para η(x). Tales como las
siguientes

a) η(x)=Polinomio(x)

b) η(x)=β0+f1(x1) +f2(x2) +f3(x3)+… … … … … … .fp(xp), donde f1,… fp son


funciones reales de laas variables predictoras, en particular polinomios.

c) η(x)=β0+s1(x1) +s2(x2) +s3(x3)+… … … … … … +.sp(xp), donde s1,… sp son


suavizadores por splines, por kernels o por regresión local.

d) η(x)=β0+φ1(β’1x) +φ2(β’2x) +φ3(β’3x)+… … … … … … +φm(β’mx), esto es


llamado “Projection Pursuit” (Friedman and Stuetzle, 1991). Las funciones φi
son llamadas funciones Ridge, y si ellas son funciones logisticas se obtiene la
red neural MLP (“multilayer preceptron”).

k1 k2 km
e) η(x)=β0+w1 ∏
k =1
φ1k(xv(1,k)) +w2 ∏
k =1
φ2k(xv(2,k))+… … +wm ∏
k =1
φmk(xv(m,k)),

donde las funciones φjk son funciones splines. Este es llamada el modelo
MARS (Mulivariate aadditive regression splines, Friedman (1991)).
Edgar Acuna /ESMA 6835 Clasificación 50

La curva ROC
0.10
100
0.20
0.25

0.30
0.35
C13

50 0.40
0.50

0.60
0.70

0.80
0.90
0

0 10 20 30 40 50 60 70 80 90

C16
Edgar Acuna /ESMA 6835 Clasificación 51

7. Método de los K Vecinos más cercanos (Fix y Hodges, 1951)


En el método k-nn ("k nearest neighbor") se estima la función de densidad de donde provienen un
conjunto de datos, aplicado a discriminación sería para estimar la función de densidad f(x/Cj), de
las predictoras x por cada clase. Es el método más básico de discriminación noparamétrico, ya
que no se hace ninguna suposición distribucional.
Veamos primero el caso univariado. Sea x1, x2,… ..xn una muestra con una función densidad
desconocida f(x) que se desea estimar y sea t un número real. Recordar que la probabilidad de
caer en el intervalo (t-h,t+h), puede ser aproximada por 2hf(t), donde f es la función de densidad
y h es una constante cercana a cero. Por otro lado la probabilidad tambien puede ser estimada por
k/n, donde k es tal que número de observaciones en el intervalo (t-h,t+h). Osea que k es prefijado
y h se halla de acuerdo a el
Más formalmente Sea d(x,y)=|x-y| la distancia usual entre los puntos x e y de la linea recta.
Supongamos que hemos calculados todas las distancias d(xi,t)=|xi-t| y que todas ellas son
ordenadas de menor a mayor, tal como

d1(t) ≤d2(t)≤… … .≤dn(t)

Entonces el estimador de densidad de los k vecinos mas cercanos en el punto t es definido por

k
fˆ(t ) =
2nd k (t )

Ejemplo: Estimar usando 1-nn la función de densidad correspondiente al siguiente conjunto de


datos.

7.03860 6.38018 6.95461 2.25521 7.24608 6.62930 3.92734


0.40701 5.59448 5.05751

El histograma (normalizado para que el area sea 1) de los datos aparece en la


siguiente figura
Edgar Acuna /ESMA 6835 Clasificación 52

0.25

0.20
Density

0.15

0.10

0.05

0.00

0 1 2 3 4 5 6 7 8
C1

La estimación de la densidad por 1-nn será.

Estimacion de la funcion de densidad usando


1-nn

10
fhat(x)

0
0 1 2 3 4 5 6 7 8
x

Notar que el area debajo de la curva no da 1, habria que normalizar. Cuando se usar k pequeño
El estimado tiene muchos picos y cuando k es grande es muy suave.

En el caso multivariado, el estimado tiene la forma


Edgar Acuna /ESMA 6835 Clasificación 53

k
fˆ(x) = (8.1)
nv k (x)

donde vk(x) es el volumen de un elipsoide centrado en x de radio rk(x), que a su vez es la


distancia de x al k-ésimo punto más cercano.

Desde el punto de vista de análisis discriminante el método k-nn es bien simple de aplicar.
En efecto, si las funciones de densidades condicionales f(x/Ci) de la clase Ci que aparecen en la
f (x / C i )πi
ecuación P (Ci / x) = son estimadas por una expresión de la forma (8.1).
f (x)
Entonces, para clasificar un objeto con mediciones dadas por el vector x en la clase Ci se
Debe cumplir que

k iπi k j πj
> para j≠i
ni v k ( x ) n j v k ( x )

Asumiendo priors proporcionales a los tamaños de las clases (ni/n y nj/n respectivamente) lo
anterior es equivalente a:

1) Hallar los k objetos que están a más corta distancia de x, k usualmente es un número impar 1
o 3.
2) Si la mayoria de esos k objetos pertenecen a la clase Ci entonces el objeto considerado
también pertenece a ella. En caso de empate se clasifica al azar.

Hay dos problemas en el método k-nn, la elección de la distancia o métrica y la de k. La métrica


más elemental que se puede elegir es la euclideana d(x,y)=(x-y)'(x-y). Esta métrica sin embargo,
puede causar problemas si las variables predictoras han sido medidas en unidades muy distintas
entre sí. Algunos prefieren rescalar los datos antes de aplicar el método. Enas y Choi (1996)
usando simulación hicieron un estudio para determinar el k óptimo cuando solo hay dos clases
presentes y detreminaron que si los tamaños muestrales de las dos clases son comparables
entonces k=n3/8 si habia poca diferencia entre las matrices de covarianzas de los grupos y n=2/8 si
habia bastante diferencia entre las matrices de covarianzas.

El sesgo del error de classificación aumenta a medida que k aumenta.


La varianza del error de clasificaci"on disminuye a medida que k aumenta.

Se ha demostrado (Cover y Hart, 1967) que la tasa de error del k-nn es a lo mas dos
veces la tasa de error óptimo.

7.1 Análisis discriminante usando los k vecinos mas cercanos en SAS y S-Plus

El procedimento DISCRIM de SAS incluye el método de los vecinos más cercanos basta incluir
method=npar por noparamétrico y un valor de k, 1 y 3 son los valores más usados. También se
pueden elegir 3 tipos de distancia: La distancia Euclideana (METRIC=IDENTITY), La distancia
Mahalanobis (METRIC= FULL) o una distancia ponderada por una matriz diagonal que contiene
las varianzas combinadas de los grupos (METRIC=DIAGONAL). Por default, SAS usa
METRIC=FULL.
Edgar Acuna /ESMA 6835 Clasificación 54

Ejemplo 9. El siguiente es un programa de SAS aplicado a los datos del ejemplo 5.

options nodate nonumber;


libname datos "c:\sas\datos";
data datos.ejemplo7;
infile "c:\sas\datos\bajopeso.dat";
input id bajopeso edad pesomama raza fuma prematur hiperten uteirrit
chequeos pesobebe;
proc discrim method=npar k=3 listerr;
class bajopeso;
var edad pesomama raza fuma prematur hiperten uteirrit chequeos;
title 'Analisis discriminante usando los k vecinos mas cercanos con k=3';
run;

Los resultados serán como siguen:

Analisis discriminante usando los k vecinos mas cercanos con k=3

Discriminant Analysis

189 Observations 188 DF Total


8 Variables 187 DF Within Classes
2 Classes 1 DF Between Classes

Class Level Information

Prior
BAJOPESO Frequency Weight Proportion Probability

0 130 130.0000 0.687831 0.500000


1 59 59.0000 0.312169 0.500000

Posterior Probability of Membership in


BAJOPESO:
Obs From Classified
BAJOPESO into BAJOPESO 0 1

1 0 1 * 0.1850 0.8150
4 0 1 * 0.4758 0.5242
10 0 1 * 0.4758 0.5242
12 0 1 * 0.1850 0.8150
13 0 1 * 0.1850 0.8150
14 0 1 * 0.4758 0.5242
15 0 1 * 0.4758 0.5242
16 0 1 * 0.4758 0.5242
18 0 1 * 0.4758 0.5242
19 0 1 * 0.1850 0.8150
22 0 1 * 0.4758 0.5242
25 0 1 * 0.4758 0.5242
27 0 1 * 0.4758 0.5242
29 0 1 * 0.1850 0.8150
32 0 1 * 0.1850 0.8150
33 0 1 * 0.1850 0.8150
35 0 1 * 0.4758 0.5242
37 0 1 * 0.4758 0.5242
39 0 1 * 0.1850 0.8150
Edgar Acuna /ESMA 6835 Clasificación 55

40 0 1 * 0.4758 0.5242
41 0 1 * 0.1850 0.8150
50 0 1 * 0.1850 0.8150
51 0 1 * 0.4758 0.5242
52 0 1 * 0.4758 0.5242
54 0 1 * 0.4758 0.5242
55 0 1 * 0.4758 0.5242
57 0 1 * 0.4758 0.5242
58 0 1 * 0.4758 0.5242
59 0 1 * 0.1850 0.8150
63 0 1 * 0.1850 0.8150
64 0 1 * 0.4758 0.5242
65 0 1 * 0.4758 0.5242
66 0 1 * 0.1850 0.8150

Analisis discriminante usando los k vecinos mas cercanos con k=3

Discriminant Analysis Classification Results for Calibration Data:


DATOS.EJEMPLO7

Resubstitution Results using 3 Nearest Neighbors

Posterior Probability of Membership in


BAJOPESO:
Obs From Classified
BAJOPESO into BAJOPESO 0 1

69 0 1 * 0.4758 0.5242
70 0 1 * 0.1850 0.8150
71 0 1 * 0.1850 0.8150
73 0 1 * 0.4758 0.5242
79 0 1 * 0.1850 0.8150
85 0 1 * 0.4758 0.5242
86 0 1 * 0.4758 0.5242
87 0 1 * 0.4758 0.5242
91 0 1 * 0.4758 0.5242
94 0 1 * 0.4758 0.5242
102 0 1 * 0.4758 0.5242
103 0 1 * 0.1850 0.8150
109 0 1 * 0.4758 0.5242
110 0 1 * 0.4758 0.5242
112 0 1 * 0.4758 0.5242
114 0 1 * 0.1850 0.8150
117 0 1 * 0.4758 0.5242
118 0 1 * 0.4758 0.5242
122 0 1 * 0.4758 0.5242
128 0 1 * 0.4758 0.5242
153 1 0 * 0.5765 0.4235
161 1 0 * 0.5765 0.4235

* Misclassified observation

Analisis discriminante usando los k vecinos mas cercanos con k=3

Discriminant Analysis Classification Summary for Calibration Data:


DATOS.EJEMPLO7
Edgar Acuna /ESMA 6835 Clasificación 56

Resubstitution Summary using 3 Nearest Neighbors

Squared Distance Function:

2 -1
D (X,Y) = (X-Y)' COV (X-Y)

Posterior Probability of Membership in each BAJOPESO:

m (X) = Proportion of obs in group k in 3 nearest neighbors of X


k

Pr(j|X) = m (X) PRIOR / SUM ( m (X) PRIOR )


j j k k k

Number of Observations and Percent Classified into


BAJOPESO:

From BAJOPESO 0 1 Total

0 77 53 130
59.23 40.77 100.00

1 2 57 59
3.39 96.61 100.00

Total 79 110 189


Percent 41.80 58.20 100.00

Priors 0.5000 0.5000

Error Count Estimates for BAJOPESO:

0 1 Total

Rate 0.4077 0.0339 0.2208

Priors 0.5000 0.5000

Hay 55 sujetos de los 189 mal clasificados lo cual da una tasa de error del 29%, mucho mayor
que el método de kernels

S-Plus tampoco tiene una función que haga discriminación por el método de k vecinos más
cercanos. Nuevamente, hemos usado la librería de programas en S-Plus que viene con el libro de
Venables y Ripley (1997). La función k-nn hace clasificación pro k-nn pero solamente usando la
distancia euclideana.

Ejemplo 10. Usando S-Plus y aplicando los datos del ejemplo 1.

>library(class)
>examenes<-cbind(E1,E2)
> examenes
Edgar Acuna /ESMA 6835 Clasificación 57

E1 E2
[1,] 96 100
[2,] 96 94
[3,] 100 91
[4,] 93 96
[5,] 90 94
[6,] 75 83
[7,] 75 99
[8,] 64 93
[9,] 89 55
[10,] 57 94
[11,] 70 84
[12,] 44 89
[13,] 62 63
[14,] 76 84
[15,] 73 90
[16,] 76 30
[17,] 69 67
[18,] 78 57
[19,] 85 25
[20,] 67 63
[21,] 64 48
[22,] 66 51
[23,] 79 46
[24,] 69 74
[25,] 51 49
[26,] 37 41
[27,] 67 39
[28,] 75 24
[29,] 62 38
[30,] 57 26
[31,] 77 18
[32,] 50 37
>
> prueba<-cbind(70,75)
> prueba
[1] 50 75
> clases<-factor(c(rep("p",24),rep("f",8)))
> clases
[1] p p p p p p p p p p p p p p p p p p p p p p p p f f f f f f f f
> knn(examenes,prueba,clases,k=3)
[1] p
Levels:
[1] "f" "p"
> vecinos<-knn(examenes,examenes,clases,k=3,prob=T)
> vecinos
[1] p p p p p p p p p p p p p p p p p p p p p p p p f f f f f f f f
> attributes(vecinos)
$levels:
[1] "f" "p"
Edgar Acuna /ESMA 6835 Clasificación 58

$class:
[1] "factor"

$prob:
[1] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
[9] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 0.6666667
[17] 1.0000000 1.0000000 0.6666667 1.0000000 0.6666667 0.7500000 1.0000000 1.0000000
[25] 0.6666667 1.0000000 0.6666667 0.6666667 0.6666667 1.0000000 0.6666667 1.0000000

>

No hay ninguna observación mal clasificada, el porcentaje de error es 0%.

Ejemplo 11. El siguiente es otro ejemplo aplicado a los datos del ejemplo 3, que están guardados
en un diskette en el archivo discdat.dat.

> library(class)
> sico<-read.table("a:discdat.dat",header=T)
> prueba<-c(1,2,1,1,1)
> prueba
[1] 1 2 1 1 1
> sico1<-data.frame(sico[,-1])
> sico1
x1 x2 x3 x4 x5
1 2 2 2 2 2
2 2 2 2 1 2
3 1 1 2 1 1
4 2 2 2 1 2
5 1 1 2 1 2
6 1 1 2 1 1
7 2 2 2 2 2
8 1 1 2 1 2
9 1 1 2 1 2
10 2 1 2 1 2
11 2 2 2 1 2
12 2 1 2 1 2
13 1 1 2 2 2
14 1 1 2 1 2
15 3 3 2 3 2
16 4 3 3 3 2
17 3 3 2 3 3
18 3 2 2 3 2
19 4 2 2 2 2
20 2 3 2 3 3
21 2 2 2 2 3
22 3 2 2 1 3
23 3 3 2 1 3
24 2 2 2 2 2
25 3 1 3 4 4
Edgar Acuna /ESMA 6835 Clasificación 59

26 2 2 3 1 2
27 3 2 2 4 2
28 3 2 2 3 3
29 2 2 2 3 1
30 3 2 4 3 3
31 3 1 3 1 3
32 1 2 2 1 2
33 3 3 2 4 3
34 2 3 2 4 3
35 3 3 3 4 3
36 2 1 2 3 3
37 4 4 4 4 4
38 2 1 2 3 3
39 4 1 4 4 4
40 3 3 2 2 3
41 2 2 2 1 2
42 4 2 2 2 2
43 3 3 2 3 3
44 2 3 2 2 2
45 4 3 1 2 3
> marca<-factor(sico[,1])
> marca
[1] I I I I I I I I I I I I I I I W W W W W W W W W W W W W W W W W W W W W W W W
WW
[42] W W W W
> vecino<-knn(sico1,sico1,marca,3,prob=T)
> vecino
[1] I I I I I I I I I I I I I I W W W W W W W W W I W I W W W W W I W W W W W W W W
I
[42] W W I W
> attributes(vecino)
$levels:
[1] "I" "W"

$class:
[1] "factor"

$prob:
[1] 0.6666667 0.7500000 1.0000000 0.7500000 1.0000000 1.0000000 0.6666667 1.0000000
[9] 1.0000000 0.9000000 0.7500000 0.9000000 1.0000000 1.0000000 0.7500000 0.8750000
[17] 0.8571429 0.7500000 1.0000000 1.0000000 0.5000000 0.6666667 1.0000000 0.6666667
[25] 1.0000000 0.6000000 0.8000000 1.0000000 0.6000000 1.0000000 0.6000000 0.7777778
[33] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000
[41] 0.7500000 1.0000000 0.8571429 0.5000000 1.0000000

> vecino1<-knn(sico1,prueba,marca,3,prob=T)
> vecino1
[1] I
Levels:
[1] "I" "W"
> attributes(vecino1)
Edgar Acuna /ESMA 6835 Clasificación 60

$levels:
[1] "I" "W"

$class:
[1] "factor"

$prob:
[1] 0.6666667

Hay 6 sujetos mal clasificados de un total de 45, para un porcentaje de error del 13.33%, casi
similar a los resultados del análisis discriminante lineal. El sujeto con las caracteristicas que se
dan es clasificado como enfermo (I).
Edgar Acuna /ESMA 6835 Clasificación 61

8. Métodos usando estimación de densidades por kernels


Si las funciones de densidades condicionales fi(x) de la clase Ci que aparecen en la ecuación (4.4)
son desconocidas pueden ser estimadas usando la muestra tomada y aplicando métodos
noparamétricos de estimación, uno de ellos es el método de kernels.

8.1 Estimación por kernels de una función de densidad univariada.

En el caso univariado, el estimador por kernels de la función de densidad f(x) se obtiene de la


siguiente manera. Consideremos que x1,… xn es una variable aleatoria X con función de densidad
f(x), definamos la función de distribución empirica por

# obs ≤ x
Fn ( x ) =
n

el cual es un estimador de la función de distribución acumulada F(x) de X. Considerando que la


función de densidad f(x) es la derivada de la función de distribución F y usando aproximación
para derivada se tiene que

F ( x + h) − Fn ( x − h)
fˆ( x ) = n (8.1)
n

donde hes un valor positivo cercano a cero. Lo anterior es equivalente a la proporción de puntos
en el intervalo (x-h, x+h) dividido por h. La ecuación (8.1) puede ser escrita como:

1 n x − xi
fˆ( x ) = ∑
nh i =1
K(
h
)

donde la función peso K está definida por

0 si |z|>1
K(z)=
1/2 si |z|≤1

este es llamado el kernel uniforme y h llamado el ancho de banda es un parámetro de suavización


que indica cuanto contribuye cada punto muestral al estimado en el punto x. En general, K y h
deben satisfacer ciertas condiciones de regularidad, tales como:

a) ∫ K ( z )dz = 1
−∞

b) K(z) debe ser acotado y absolutamente integrable en (-∞,∞)

c) lim h(n) = 0
n→ ∞

Usualmente, pero no siempre, K(z)≥0 y simétrico, luego cualquier función de densidad simétrica
puede usarse como kernel.
Edgar Acuna /ESMA 6835 Clasificación 62

Entre los kernels más usados están:


a) El kernel Rectangular o Uniforme es definido por

0 si |z|>1
K(z)=
1/2 si |z|≤1

En este caso cualquier punto en el intervalo (x-h, x+h) contribuye 1/2nh al estimado de f(x) en
el punto x, y cualquier punto fuera de ese intervalo no contribuye en nada.

b) El kernel Gaussiano definido por


1 1
K ( z) = exp( − z 2 )
2π 2

En este caso el kernel representa una función peso más suave donde todos los puntos contribuyen
al estimado de f(x) en x.

c)El kernel Triangular definido por

K(z)=1- |z| para |z|<1, 0 en otro caso.

f) El kernel "Biweight" definido por

15/16(1-z2)2 para |z|<1


K(z)=
0 en otro caso

g) El kernel Epanechnikov definido por

3 z2
(1 − ) para |z|< 5
4 5 5
K(z)=
0 en otro caso

Si el parámetro h es muy pequeño entonces el estimador kernel degenera en una colección de n


picos cada uno de ellos localizado en cada punto muestral. Si h es demasiado grande entonces el
estimado se sobresuaviza y se obtiene casi una distribucion uniforme. El valor de h también
depende del tamaño de la muestra, con muestras pequeñas se debe escoger un h grande y con
muestras grandes se puede escoger un h pequeño.
Rosemblatt (1956) demostró que el estimador por kernels es consistente y asíntóticamente
Normal.
La medida mas usada del error de estimación de la función de densidad es el MISE( Error
cuadrático integrado medio) definido por,
Edgar Acuna /ESMA 6835 Clasificación 63

∫ ∫ ∫
MISE(h)= E ( fˆh ( x ) − f ( x )) 2 dx = E ( fˆh ( x ) − f ( x )) 2 dx + E ( fˆh ( x ) − Efˆ( x )) 2 dx

La primera parte es el sesgo al cuadrado integrado y lo segundo es la varianza integrada. La


expresión anterior puede ser escrita como,

1 1
MISE(h)=
nh ∫K 2 ( z )dz + h 4 ∫( f " ( x )) 2 dx{∫z 2 K ( z )dz}2 + O (1 / nh + h 4 )
4

Los dos primeros terminos del lado derecho forman el AMISE, la expansión asimptótica del
MISE. Minimizando el AMISE en función de h (Parzen, 1962) se obtiene

∫K
2
( z )dz
h= [ ]1 / 5
n ∫( f " ( x )) dx{∫z 2 K ( z )dz}
2 2

2

Aqui, la curvatura ( f " ( x )) dx también deber estimada. Notar que cuando la muestra es grande
es mas conveniente elegir h pequeño. La mayoría de las posibles elecciones para el parámetro
ancho de banda h basados en un conjunto de datos X de tamaño n dependen de esta estimación. A
continuación se listan algunas elecciones de h:

rango( X )
a) h=
2(1 + log 2 n)

b) h = 1.06 min(σˆ, R / 1.34)n − 1 / 5

donde σ̂ es la desviación estándar estimada del conjunto de datos y R representa el rango


intercuartílico, las constantes provienen de asumir que la densidad desconocida es Normal y un
kernel gausiano. Este es básicamente el método usado por SAS/INSIGHT para estimar la
curvatura.

c) h = 1.144σˆn − 1 / 5

Otros métodos mas sofisticados son:

d) El método de Sheather y Jones (1991) que propone estimar la curvatura usando también el
método del kernel, pero con un ancho de banda g distinto al que se usa para estimar la densidad.
Los estimadores de densidad de la libreria de Ripley usan este método.

e) Usando validación cruzada, propiamente dejando uno afuera. Aqui el h es cn considerado


como un parámetro que debe ser estimado. Hay dos alternativas, usando minimos cuadrados
Edgar Acuna /ESMA 6835 Clasificación 64

(aqui se obtiene un estimado insesgado, o maxima verosimilitud (aqui se obtiene un estimador


sesgado). Ver Bowman and Azzalini (1997), para una implementación en S-plus.

h) Usando "Bootstrapping", en este caso se encuentra un estimado usando muestras con


reemplazamiento del MISE y se minimiza con respecto a h.

Cao, Cuevas y Gonzalez (1994) hacen una comparación de varios metodos de elegir el ancho de
banda h y llegan a la conclusión de que sin considerar el "boostrapping", el método d es el de
mejor rendimiento.

Ejemplo 6. Estimación de la función de densidad de la variable E1 del ejemplo1 con varias


selecciones del ancho de banda usando S-Plus

En S-Plus, la función density es la que produce las estimaciones de la densidad por kernel,
aplicando luego la función plot se puede graficar la fucnión de densidad estimada. El menú
Graph de S-Plus contiene una gráfica que traza el histograma y la grafica de la función de
densidad estimada uno de los siguientes kernels: Gaussiano, rectangular, triangular y coseno. La
ventana de diálogo que aparece es la siguiente:
Edgar Acuna /ESMA 6835 Clasificación 65

0.05

0.04
density(exa1$V1, width = ha)$y

density(exa1$V1, width = hb)$y

density(exa1$V1, width = hc)$y


0.04
0.04

0.03
0.03
0.03

0.02
0.02
0.02

0.01
0.01
0.01

0.0
0.0

0.0
40 60 80 100 40 60 80 100 40 60 80 100
density(exa1$V1, width = ha)$x density(exa1$V1, width = hb)$x density(exa1$V1, width = hc)$x

0.025

0.04
0.025
density(exa1$V1, width = hd)$y

density(exa1$V1, width = he)$y

density(exa1$V1, width = hf)$y

0.03
0.015
0.015

0.02
0.01
0.005
0.005
0.0

0.0

0.0
20 40 60 80 100 120 20 40 60 80 100 120 40 60 80 100

density(exa1$V1, width = hd)$x density(exa1$V1, width = he)$x density(exa1$V1, width = hf)$x

Se han usado los metodos a, b, c, d (width.SJ en la libreria MASS o hsj en la libreria sm) , e (hcv
en la libreria sm y bcv en la libreria MASS)

Se cuando h es pequeño hay muchos picos y que la grafica se suaviza a medida que aumenta el
valor de x. El valor h obtenido por el método de Seather-Jones parece ser el que produce el
mejor ajuste.

8.2 Estimación por kernels de una función de densidad multivariada.

El método de kernels fue extendido a distribuciones multivariadas por Cacoullos (1966). En este
caso X 1, X2,… . Xn es una muestra de vectores aleatorios distribuidos con una densidad f(x) en un
espacio de dimensión d. El estimador de la función de densidad usando un kernel multivariado k
y con ancho de banda h será

1 n
x − Xi
fˆ(x) = d
nh
∑ K(
i =1 h
)
la función kernel K, definida para un vector x de dimensión d, debe satisfacer que

∫K (x)dx = 1
Rd

usualmente, pero no siempre, K será una función de densidad multivariada radialmente simétrica
y unimodal. Los kernels más usados son las versiones multivariadas de los definidos
anteriormente. Así

a) El kernel Gaussiano será


1
K (x) = (2π) − d / 2 exp( − x' x)
2
b) El kernel "Biweight" será
Edgar Acuna /ESMA 6835 Clasificación 66

3π− 1 (1 − x' x) 2 si x'x<1

K(x)=

0 en otro caso

c) El kernel Epanechnikov será

1 −1
c d (d + 2)(1 − x' x) si
2
K(x)=
0 en otro caso

donde cd es el volumen de una esfera unitaria de dimensión d: c1=2, c2=π, c3=4π/3.

d) El kernel "Triweight" se define en forma similar al "Biweight" como:

4π− 1 (1 − x' x) 3 si x'x<1

K(x)=

0 en otro caso

Ejemplo 7. Estimación de la función de densidad bivariada de las variables E1 y E2 del

densidad estimada

E2
E1

ejemplo 1 en S-Plus.
S-Plus de por sí no tiene una función que haga estimación de una función de densidad en dos
variables. Hemos usado la librería de programas en S-Plus que viene con el libro de Venables y
Ripley (1997). El siguiente programa hace la estimación bivariada por kernels guassianos usando
el meétod de Sheather y Jones para estimar h y luego una gráfica de la función de densidad
estimada.
Edgar Acuna /ESMA 6835 Clasificación 67

library("MASSdia")
Libraries MASS and nnet attached

Use addMASSmenus() to create menus and dialogs


removeMASSmenus() to remove them
> addMASSmenus()
MASS menus and dialogs added
> kerexam<-kde2d(E1,E2,n=50,lims=c(10,100,10,100),h=c(width.SJ(E1),width.SJ(E2)))
> wireframe(z~x*y, con2tr(kerexam),aspect=c(1,0.5), zoom=1.2, xlab="E1", ylab="E2",
zlab="densidad estimada")

Fukunaga (1972) sugirió incluir el efecto de la matriz de covarianza en la estimación de densidad


y propuso la siguiente modificación

1 n
(x − X i )' S − 1 ( x − X i )
fˆ(x) = d
nh | S |1/ 2

i =1
K(
h2
)

donde S es una estimación de la matriz de covarianza. Esta forma es la que SAS usa para hacer
discriminante usando estimación por kernels. Posible elecciones para h son h=[4/n(d+2)]1/(d+4)
si se usa un kernel gaussiano y h=[8(d+4)(2 π )d /ncd]1/(d+4) si se usa un kernel Epanechnikov.

Kernels Productos.

En el caso multivariado, una alternativa a usar un kernel multivariado es usar productos de


kernels univariados. Considerando que x=(x1,… .xp) es un vector p-dimensional, este se define por

1 n p
xi − xij
fˆ( x ) = p
nh
∑∏
j =1 i =1
K(
h
)

donde K es un kernel univariado. Un caso más general es considerar un h distinto para cada
variable.

Kernels para variables discretas

Si las las variables predictoras son binarias 0-1, entonces Aitchison and Aitken (Biometrika,
1976) propusieron el siguiente kernel p-dimensional

n
1
fˆ(x) = p
nh
∑ K (x, x
j =1
j , h)

donde
Edgar Acuna /ESMA 6835 Clasificación 68

p − d 2j d2
K ( x, x j , h) = h (1 − h) j (8.2)
donde d 2j es la distancia euclideana al cuadrado entre x y xj , es decir el número de elementos
diferentes que tienen entre si, y 1/2≤h≤1. Titterington (Technometrics, 1980) estudió varias
maneras de elegir el ancho de banda h. En particular, si se tiene una sola variable Binomial
entonces K(x,y)=h si x=y y K(x,y)=1-h si x≠y y el método de "dejar uno afuera" produce la
siguiente valor óptimo de h

h=max(0.5, − ( r12 a1 + r22 a2 )n / a1a2 )

donde a1=n(r1-r2)-1 y a2=n(r2-r1)-1. Aquí r1 es la frecuencia relativa del Grupo 1 y r2 es la


frecuencia relativa del grupo 2, n es el total de observaciones en la muestra de entrenamiento.

Otra posibilidad es escribir el kernel multivariado (8.2) como un producto de kernels


binomiales.
Aitchison and Aitken (1976) propusieron también kernels para datos categoricos ordenados y no
ordenados.

8.3 Análisis Discriminante usando estimación de densidad por kernels .

En el caso de dos clases C1 y C2 un objeto x es asignado a la clase C1 si π1f(x/C1)>π2f(x/C2). En la


practica las priors se pueden estimar proporcional al tamaño de la muestra y las funciones de
densidades son estimadas en este caso por el método de kernel. Cuando se tiene mas clases x es
asignado a la clase j para el cual πif(x/Ci ) e máximo.

En S-Plus, ni en el libro de Venables y Ripley hay funciones que hacen análisis discriminante
usando estimación de densidad por kernels, en cambio SAS si hace análisis discriminante y
considera todos los kernels anteriormente mencionados, pero no los kernels productos.

Ejemplo 8. El siguiente es un programa en SAS para discriminación por kernels usando los datos
del ejemplo1. Se considera primero el kernel Gaussiano y luego el Epanechnikov.
Calculando h para el Kernel gaussiano resulta 32-1/5=.5 y 2.40*.05=1.20 pare el kernel
Epanechnikov.

options nodate nonumber;


libname datos "c:\sas\datos";
data datos.ejemplo6;
infile "c:\sas\datos\clasif1.dat";
input E1 E2 aproba $;
proc discrim method=npar kernel=normal r=.5 crosslisterr;
class aproba;
var E1 E2;
prior prop;
title '** Analisis discriminante usando kernel gaussiano, igual ancho de banda **';
proc discrim method=npar kernel=normal r=.5 pool=no crosslisterr;
class aproba;
var E1 E2;
prior prop;
title '** Analisis discriminante usando kernel gaussiano, distinto ancho de banda**';
proc discrim method=npar kernel=epa r=1.2 pool=no crosslisterr;
class aproba;
var E1 E2;
Edgar Acuna /ESMA 6835 Clasificación 69

prior prop;
title '**Analisis discriminante usando kernel Epanechnikov, con validacion cruzada **';
run;

Los resultados que se obtienen son

Analisis discriminante usando kernel gaussiano, igual ancho de banda


Discriminant Analysis

32 Observations 31 DF Total
2 Variables 30 DF Within Classes
2 Classes 1 DF Between Classes

Class Level Information

Prior
APROBA Frequency Weight Proportion Probability

f 8 8.0000 0.250000 0.250000


p 24 24.0000 0.750000 0.750000

** Analisis discriminante usando kernel gaussiano, igual ancho de banda **


Discriminant Analysis Classification Summary for Calibration Data: WORK.EXAM

Resubstitution Summary using Normal Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM exp( -.5 D (X,Y ) / R )
j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Number of Observations and Percent Classified into


APROBA:

From APROBA f p Total

f 8 0 8
100.00 0.00 100.00

p 0 24 24
0.00 100.00 100.00

Total 8 24 32
Percent 25.00 75.00 100.00

Priors 0.2500 0.7500


Edgar Acuna /ESMA 6835 Clasificación 70

Error Count Estimates for APROBA:

f p Total

Rate 0.0000 0.0000 0.0000

Priors 0.2500 0.7500

Cross-validation Results using Normal Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM exp( -.5 D (X,Y ) / R )
j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Posterior Probability of Membership in


APROBA:
Obs From Classified
APROBA into APROBA f p

16 p f * 0.6844 0.3156
19 p f * 0.6096 0.3904
27 f p * 0.4392 0.5608
28 f p * 0.4845 0.5155

* Misclassified observation

Cross-validation Summary using Normal Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM exp( -.5 D (X,Y ) / R )
j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Number of Observations and Percent Classified into


APROBA:

From APROBA f p Total

f 6 2 8
75.00 25.00 100.00
Edgar Acuna /ESMA 6835 Clasificación 71

p 2 22 24
8.33 91.67 100.00

Total 8 24 32
Percent 25.00 75.00 100.00

Priors 0.2500 0.7500

Error Count Estimates for APROBA:

f p Total

Rate 0.2500 0.0833 0.1250

Priors 0.2500 0.7500

** Analisis discriminante usando kernel gaussiano, distinto ancho de banda **

Discriminant Analysis

32 Observations 31 DF Total
2 Variables 30 DF Within Classes
2 Classes 1 DF Between Classes

Class Level Information

Prior
APROBA Frequency Weight Proportion Probability

f 8 8.0000 0.250000 0.250000


p 24 24.0000 0.750000 0.750000

Analisis discriminante usando kernel gaussiano, distinto ancho de banda

Discriminant Analysis Classification Summary for Calibration Data: WORK.EXAM

Resubstitution Summary using Normal Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM exp( -.5 D (X,Y ) / R )
j j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Number of Observations and Percent Classified into


APROBA:

From APROBA f p Total

f 8 0 8
Edgar Acuna /ESMA 6835 Clasificación 72

100.00 0.00 100.00

p 0 24 24
0.00 100.00 100.00

Total 8 24 32
Percent 25.00 75.00 100.00

Priors 0.2500 0.7500

Error Count Estimates for APROBA:

f p Total

Rate 0.0000 0.0000 0.0000

Priors 0.2500 0.7500

Cross-validation Results using Normal Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM exp( -.5 D (X,Y ) / R )
j j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Posterior Probability of Membership in


APROBA:
Obs From Classified
APROBA into APROBA f p

16 p f * 0.6481 0.3519
27 f p * 0.4519 0.5481
28 f p * 0.4840 0.5160

* Misclassified observation

Cross-validation Summary using Normal Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM exp( -.5 D (X,Y ) / R )
j j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k
Edgar Acuna /ESMA 6835 Clasificación 73

Number of Observations and Percent Classified into


APROBA:

From APROBA f p Total

f 6 2 8
75.00 25.00 100.00

p 1 23 24
4.17 95.83 100.00

Total 7 25 32
Percent 21.88 78.13 100.00

Priors 0.2500 0.7500

Error Count Estimates for APROBA:

f p Total

Rate 0.2500 0.0417 0.0938

Priors 0.2500 0.7500

** Analisis discriminante usando kernel Epanechnikov, distinto ancho de banda **

Discriminant Analysis

32 Observations 31 DF Total
2 Variables 30 DF Within Classes
2 Classes 1 DF Between Classes

Class Level Information

Prior
APROBA Frequency Weight Proportion Probability

f 8 8.0000 0.250000 0.250000


p 24 24.0000 0.750000 0.750000

Resubstitution Summary using Epanechnikov Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM ( 1.0 - D (X,Y ) / R )
j j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k
Edgar Acuna /ESMA 6835 Clasificación 74

Number of Observations and Percent Classified into


APROBA:

From APROBA f p Total

f 8 0 8
100.00 0.00 100.00

p 1 23 24
4.17 95.83 100.00

Total 9 23 32
Percent 28.13 71.88 100.00

Priors 0.2500 0.7500

Error Count Estimates for APROBA:

f p Total

Rate 0.0000 0.0417 0.0313

Priors 0.2500 0.7500

Cross-validation Results using Epanechnikov Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM ( 1.0 - D (X,Y ) / R )
j j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Posterior Probability of Membership in


APROBA:
Obs From Classified
APROBA into APROBA f p

16 p f * 0.7298 0.2702
25 f p * 0.4494 0.5506
27 f p * 0.4579 0.5421

* Misclassified observation

Cross-validation Summary using Epanechnikov Kernel Density

Squared Distance Function: Posterior Probability of Membership in each


APROBA:
Edgar Acuna /ESMA 6835 Clasificación 75

2 -1 -1 2 2
D (X,Y) = (X-Y)' COV (X-Y) F(X|j) = n SUM ( 1.0 - D (X,Y ) / R )
j j i ji

Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k)


j k k

Number of Observations and Percent Classified into


APROBA:

From APROBA f p Total

f 6 2 8
75.00 25.00 100.00

p 1 23 24
4.17 95.83 100.00

Total 7 25 32
Percent 21.88 78.13 100.00

Priors 0.2500 0.7500

Error Count Estimates for APROBA:

f p Total

Rate 0.2500 0.0417 0.0938

Priors 0.2500 0.7500

El discriminante lineal produce un error del 6.25% usando validación cruzada-1. Mientras que
usando estimación de densidad por kernel, con anchos de bandas distintos para cada variable
se obtiene 9.38% de error usando kernels gaussinao y Epanechnikov y validación cruzada-1.
El error de clasificación es del 12.50% si se usa kernel gaussiano con igual ancho de banda
para cada variable.

Ejemplo 9. Efecto en el error de clasificación de usar kernels para variables continuas a pesar de
que ellas discretas.

Supongamos que en el ejemplo anterior no se sabe la nota del estudiante en el segundo examen
solamente se sabe si el estudiante pasó (saco 60 o mas) o fracaso (sacó menos de 60). Usando
kernel gaussiano con ancho de banda igual para ambas variables en cada grupo se obtienen de
acuerdo a SAS un error del 21.88% (7/32). Aitchison y Aitken (1976) propusieron usar kernel
productos para hacer análisis discriminante cuando el vector de variable predictoras contenga
variables discretas y continuas. Mas especificamente en nuestro caso
1 n x − xi y − yi
f ( x, y ) = ∑
n i =1
K(
h1
) B(
h2
)

donde K es un kernel continuo, tal como el gaussiano y B es un kernel Binomial, h1 y h2 son sus
respectivos anchos de bandas. La siguiente es una función kda en S-Plus que hace clasificación
por kernels productos para dos variables predictoras, una discreta y otra continua.
Edgar Acuna /ESMA 6835 Clasificación 76

kda<-function(train, test, cl)


{
train1 <- train[cl == 0, ]
train2 <- train[cl == 1, ]
kda1 <- (1 - mean(cl)) * mixkernel(train1, test, hsj(train1[, 1]), hbin(train1[, 2])) -
mean(cl) *
mixkernel(train2, test, hsj(train2[, 1]), hbin(train2[, 2]))
for(i in 1:nrow(test)) {
if(kda1[i] > 0)
kda1[i] <- 0
else kda1[i] <- 1
}
kda1
}

train es la muestra de entrenamiento, test es la muestra de prueba y cl es un vector conteniendo


los dos grupos, uno marcado con 0 y el otro con 1. La función kda llama a las funciones hsj ( de
la libreria sm) y miixkernel y hbin descritas a continuación

mixkernel<- function(data, x, h1, h2)


{
gaussbin <- rep(0, length(x[, 1]))
for(j in 1:length(x[, 1])) {
for(i in 1:length(data[, 1])) {
if(x[j, 2] == data[i, 2]) {
gaussbin[j] <- gaussbin[j] + 1/(length(data[, 1]) * h1 *sqrt(6.28))
* exp(-0.5 * ((x[j, 1] - data[i, 1])/h1)^2) * h2}
else {gaussbin[j] <- gaussbin[j] + 1/(length(data[, 1]) * h1 * sqrt(6.28)) *
exp( -0.5 * ((x[j, 1] - data[i, 1])/h1)^2) * (1 - h2)
}
}
}
gaussbin
}

h1 es el ancho de banda para el kernel gaussiano, existen varias alternativas a elegir, aqui se
eligió el método de Seather y Jones, que aparece en la librería MASS (aunque escalado por 4), en
la librería sm y en la libreria Ksmooth de Wand (ver la función dpik).

hbin<-function(x)
{
r2 <- mean(x)
r1 <- 1 - r2
a1 <- length(x) * (r1 - r2) - 1
a2 <- length(x) * (r2 - r1) - 1
k1 <- (r1^2 * a1 + r2^2 * a2) * length(x)
h <- max(0.5, - k1/(a1 * a2))
h
}
La función hbin calcula el ancho de banda por el método de validación cruzada 1, como fue
recomendado por Aitchison y Aitken y encontrado explicitamente por Titterigton.
Edgar Acuna /ESMA 6835 Clasificación 77

La siguiente linea de comandos calcula los anchos de banda para cada variable en cada grupo y el
análisis discriminante por kernel para los datos del ejemplo 1, los cuales estan guardados en el
conjunto de datos exatbin.

> hbin(exatbin[1:24,2])
[1] 0.8678451
> hbin(exatbin[25:32,2])
[1] 0.8888889
> hsj(exatbin[1:24,1])
[1] 5.983159
> hsj(exatbin[25:32,1])
[1] 11.64684
> exakda<-kda(exatbin[,1:2],exatbin[,1:2],clases)
> tablclasif(clases,exakda)
01
0 24 0
1 35
error rate= 9.38 %
>
El error por resubssitución es del 9.38%, menor que en el caso anterior.

También se puede estimar el error de mala clasificación por validación cruzada 10 y


“boostraping”. A continuación se muestran los programas en S-Plus y los resultados.

rand<-sample(rep(1:10,length=32),32,replace=F)
predkda<-rep(0,32)
for (i in 1:10) {
cat("fold",i,"\n",sep=" ")
predkda[rand==i]<-
kda(exatbin[rand!=i,],exatbin[rand==i,],clases[rand!=i])
}
tablclasif(clases,predkda)

………………………
> tablclasif(clases, predkda)
0 1
0 22 2
1 3 5
error rate= 15.62 %

B<-20
sesgo<-rep(0,B)
while(B>0)
{
ind<-sample(1:32,32,replace=T)
exatbin2<-exatbin1[ind,]
bootkda1<-kda(exatbin2[,1:2],exatbin2[,1:2],exatbin2[,3])
aparente<-mean(bootkda1!=exatbin2[,3])
bootkda2<-kda(exatbin2[,1:2],exatbin1[,1:2],exatbin2[,3])
actual<-mean(bootkda2!=exatbin1[,3])
Edgar Acuna /ESMA 6835 Clasificación 78

sesgo[B]<-actual-aparente
B<-B-1
}
sesgo
bootsesgo<-mean(sesgo)*100
bootsesgo
booterror<-9.38+bootsesgo
> booterror
[1] 18.4425
>

8.4. Desventajas y Ventajas de usar el metodo de kernels para clasificación.

a) Caundo hay normalidad de las variables predictoras en cada clase, el análisis discriminante
lineal (LDA) rinde mejopr que el análisis discriminante por kernel (KDA), pero este último
tiene un buen rendimiento cuando las clases no están bien separadas.
b) Cuando no hay normalidad y la muestra es razonabllemente grande (n>50) el KDA tiene un
buen rendimiento.
c) A diferencia de otros métodos de clasificación que rinde bien para cierto tipo de datos y mal
en otros casos, el KDA es bien homogeneo en su rendimiento.
d) La gran desventaja del KDA es el gran esfuerzo de computación requerido, especialmente si
se tiene un gran número de observaciones ya que cada observación contribuye al kernel. Se
recomienda un proceso de selección de variables ante de aplicar el KDA.
e) Otra desventaja es la “maldición de la dimensionalidad” que significa que el tamaño de
muestra debe aumentar exponencionalmente según la dimensión para que el estimado de la
función de densidad por kernel multidemsional tenga precisión. Por ejemplo para 5
dimensiones se requiere un tamaño de muestra de 768 (Silverman página 94).

8.5 Otros temas relacionados:

Kernels adaptivos:
Usar un acho de banda fijo tiene sus problemas porque para estimar bien las colas de la
distribución hay que suavizar la parte central. Una solución es usar un ancho de banda distinto
por cada punto de la muestra. Silverman (1986) propone el siguiente procedimiento
a) Hallar un estimado piloto de la función de densidad.
b) Definir los factores locales λi de los anchos de bandas locales por

λi = { f ( xi ) / g}− α
donde g es la media geométrica de las f(xi), es decir log(g)=Σlog(f(xi)/n , y α es un parámetro de
sensitividad, ( 0≤α ≤1).
c) El kernel adaptivo se define por
1 n 1 x − xi
fˆ( x ) = ∑ d d K ( )
n i =1 h λi hλi

Usualmente el estimado piloto de la función de densidad es una mezcla finita gaussiana o el


estimador por los vecinos mas cercanos, Breiman, et.al (Technometrics, 1977)
Edgar Acuna /ESMA 6835 Clasificación 79

Mezclas Gaussianas: En este caso la dunción de densidad condicional por clase del vector de
variables predictoras es considerada como una combinación normal de distribuciones
multivariadas con distintos vector de medias pero con igula matriz µj de covarianza Σ Mas
especificamente,

M
f ( x / C j ) = (2πΣ) − 1 / 2 ∑ πi exp( − ( x − µ j )' Σ − 1 ( x − µ j ) / 2)
i =1

M es el número de componentes de la mezcla. Los parámetros de la mezcla son estimados usando


el algoritmo EM y el número de componenentes puede ser estimado por el algoriumo k-means o
LVQ, ver Hastie y Tibshirani (1994) para más detalles. Ellos construyeron la función mda en
Splus hace análisis discriminante por mezclas gaussianas.
Edgar Acuna /ESMA 6835 Clasificación 80

9. Método de Clasificación por arboles.


El uso de árboles de decisión tuvo su origen en las ciencias sociales con los trabajos de Sonquist
y Morgan (1964) y Morgan y Messenger (1979) realizado en el Survey Research Center del
Institute for Social Research de la Universidad de Michigan. En estadística, Breiman, Friedman,
Olshen y Stone (1984) introdujeron nuevos algoritmos para construcción de arboles y los
aplicaron a problemas de regresión y clasificación. El método es conocido como CART
(Classification and regression trees) por sus siglas en inglés. Casi al mismo tiempo el proceso de
indución mediante árboles de decisión comenzó a ser usado por la comunidad de “Machine
Learning” (Michalski, (1973), Quinlan (1983)) y la comunidad de “Pattern Recognition”
(Henrichon y Fu, 1969). “Machine Learning “ es un sub-área de Inteligencia Artificial que cae
dentro del campo de ciencias de computación. “Pattern Recognition” cae dentro del área de
Ingeniería Eléctrica. Hoy en día los que más están contribuyendo al desarrollo de clasificación
basada en árboles de decisión es la gente de Machine Learning.

Existen muchos algoritmos para árboles de decisión y las diferencias entre ellos están en la
estrategia de podar los arboles, las reglas para dividir los árboles y el tratamiento de valores
perdidos. Entre los principales están:

C4.5. Introducido por Quinlan (1993) dentro de la comunidad de Machine Learing.


CHAID. Significa “Chi-square automatic interaction detection”, fue introducido por Kass (1980)
y es un derivado del THAID: a sequential search program for the analysis of nominal scale
dependent variables (Morgan and Messenger, 1973) . Está disponible como un modulo del
paquete estadístico SPSS.
NewId. Es muy similar a C4.5.
CART. Introducido por Breiman, et al (1984), propiamente es una algoritmo de árboles de
decisión binario. Existe una versión similar llamada IndCART y que está disponible en el paquete
IND distribuido por la NASA
Arboles Bayesianos: Está basado en aplicación de métodos Bayesianos a arboles de decisión.
Buntine (1992. Disponible en el paquete IND distribuido por la NASA.
CN2. Introducido por Clark and Niblett (1988).

El término árboles es por la gráfica, aunque los arboles son mostrados creciendo hacia la parte
final de la página. La raíz es el nodo superior, en cada nodo se hace una división hasta llegar a un
nodo terminal u hoja. Cada nodo no-terminal contiene una pregunta en la cual se basa la división
del nodo. Cada hoja contiene el nombre de la clase a la cual pertenece.

La construcción de un árbol de decisión se basa pues en cuatro elementos:

a) Un conjunto de preguntas binarias Q de la forma {Es x ∈ A} donde A es un subconjunto d el


espacio muestral .
a) La selección de las divisiones de los nodos.
b) La estrategia requerida para parar el crecimiento del árbol.
c) La asignación de cada nodo terminal a una clase

La diferencias principales entre los algortimos para construir arboles se hallan en la estrategia
para podar arboles y la regla para particionar los nodos.

En el caso de dos clases el conjunto de datos es dividido en hiperrectangulos donde los lados de
los rectangulos son paralelos a los eje coordenados
Edgar Acuna /ESMA 6835 Clasificación 81

9.1 El conjunto de preguntas binarias Q

Supongamos que le vector de variables predictoras es de la forma x=(x1,… ..xM)

donde algunas de las variables xi son discretas y otras son continuas. Entonces el conjunto Q debe
tenre las siguientes caracteristicas

a) cada división de los nodos depende del valor de una sola variable predictotra
b) Si la variable xk es continua entonces Q incluye todas las preguntas de la forma
{Es xk≤c}, donde c es cualquier número real.
c) Si la variable xk es categórica tomando valores en {b1,b2,… … bm} entonces Q incluye todas
las preguntas de la forma {es xk ∈ A} donde A es un subcojunto cualquiera de
{b1,b2,… … bm}
Por ejemplo si x2, x3 y x4 son variables predictoras continuas y x1 es categórica con valores 0, 1 y
2, entonces Q incluye preguntas de la siguiente forma:

Es x3≤4.5?
Es x4≤-1.4?
Es x1= 0 ó 1?

En CART, si una variable continua xi toma distintos valores xi1,xi2,… ..xiN entonces las preguntas
son de la forma Es xi ≤ci ? donde ci es un punto medio entre dos valores consecutivos de la
variable y si la variable xi es discreta tomando L valores distintos entonces se definen 2L-1 –1
particiones distintas del nodo.

Preguntas con combinaciones de variables continuas y predictoras, por ejemplo Es x1x2<3.5 ?


O son x1=0 y x2=0? No se consideran en el procedimiento básico.

9.2. Procedimiento para particionar los nodos

Hay varios métodos de hacer esto, pero la ideal fundamental es que los nodos hijos sean más
puros que los nodos padres. La partición de un nodo t del árbol T se hace de acuerdo a un
criterio que es diseñado para producir nodos hijos que separen mejor las clases que los nodos
padres. Más precisamente si para cualquier nodo s , P(s)={# i≤N:Xi∈ s}/N y
i(s)=φ(p(1/s),p(2/s),… .p(J/s)) es un indice de la impureza del nodo s, donde J es el número de
clases y φes una función de impureza, la cual debe satisfacer ciertas propiedades, entonces la
siguiente es la regla para particionar el nodo t.
Formar el nodo hijo derecho tR y el nodo hijo izquierdo tL tal que

∆i(t)= i(t)-{P(tL)i(tL)+p(tR)i(tR)}

sea máximo.

CART el Coeficiente de Gini como criterio de impureza. El Coeficiente de Gini está definido
por

i(t)= ∑ ∑ p (i / t ) p( j / t )
i j
Edgar Acuna /ESMA 6835 Clasificación 82

donde P(k/s)={#i≤N: Xi ∈ s y Yi=k}/{#i≤N: Xi ∈ s} y i≠j.


También se puede usar la Entropia como criterio de impureza, definido por

i(t)= -Σj p(j/t)log[p(j/t)]

CART también usa la regla twoing, especialmente cuando hay más de dos clases, en este caso
estando en el nodo t se elige la división de nodos s que maximiza

pL pR
[∑ | p( j / t L ) − p( j / t R ) |] 2
4

esta regla no está relacionado con neguna medida de impureza.

El siguiente es el procedimiento que usa S-Plus para dividir los nodos, el cual se basa en Clark y
Pregibon (1992)

Se considera que cada caso en la muestra es asignado a una hoja ( o nodo terminal) del árbol, asi
que en cada hoja se tiene un tamaño de muestra nik de una distribución multinomial pik. Luego,
la función de verosimilitud es proporcional a

#dehojas # declases

∏ ∏
i =1 k =1
pik
nik

Entonces una medida de Devianza esta dada por el negativo del doble del logaritmo de la función
de verosimilitud. Es decir

# dehojas #declases
D= − 2 ∑i =1
∑n
k =1
ik log( pik )

Donde pik puede ser estimado por pˆik = nik / ni . Considerar que el nodo s se divide en los nodos
R y L, entonces la reducción del la Devianza del árbol se define por

# declases # declases # declases


Ds-DL-DR=-2[ ∑ ∑
i∈ s k =1
nik log( pik ) + ∑ ∑
i∈ L k =1
nik log( pik ) + ∑ ∑n
i∈ R k =1
ik log( pik ) ]

La estrategia para dividir es elegir la división que maximiza la reducción de la Devianza en el


nodo dado.

9.3. Procedimiento para parar el crecimiento del árbol.

En CART se para cuando el máximo de la reducción total en impureza es menor que una cierta
cantidad, por decir un 1% de la impureza inicial.
Edgar Acuna /ESMA 6835 Clasificación 83

La función tree de Splus para cuando el número de observaciones en cada nodo terminal es menor
que 10 o hasta que la reducción en la devianza del nodo terminal sea menor del 1%. De la
devianza inicial.
Sin embargo en CART se recomienda que el árbol se debe dejar crecer lo más que se pueda luego
podarlo hacia arriba
Para cualquier árbol T y cualquier α≥0, una medida del mérito de T ( o medida de costo-
complejidad) es

R α(T)= Resub(T) + α|T|

Donde Resub(T) es estimado por resubsitución de la tasa de clasificación errada de T y


|T| es el número nodos terminales de T. Cuando α=0 se obtiene el árbol más grande y cuando
T=∝ se obtiene un árbol con un solo nodo. El árbol óptimo es aquel que minimiza Rα(T) y este es
encontrado usando validación cruzada, en particular la validación cruzada de 10 hojas es la más
usada.

Breiman, et. al. Recomiendan usar validación cruzada 10 para estimar el error de clasificación.
Ellos no recomiendan "boostrapping" porque han mostrado que el sesgo se reduce en menos del
40% del verdadero sesgo. Aunque, para el caso de muestras pequeñas el "boostrapping" podria
ser usado.

9.4. Tratamiento de valores perdidos en clasificación por árboles

CART hace uso de “particiones sustitutas” que son partciones que tienen rendimiento similar a la
mejor partición para el repectivo nodo. La similaridad se determina por una medida de
asociación. El procedimiento es como sigue: se determina la mejor particion del nodo
basado en una variable digamos xk con los datos que se tiene disponible.Si cuando se desea
clasificar una observación del conjunto de entrenamiento o de prueba no hay el valor
correspondiente de la variable xk entonces se usa la “partición sustituta “y si no hubiera un valor
observado de la variable envuelta en la variable sustituta entonces seusa una segunda partición
sustituta y asi sucesivamente. Esto es algo asimilar a cuando en un modelo lineal se reemplaza el
valor perdido de una variable predictora por la regresión con la variable predictora
restante que esta m’as altamente correlacionada con ella.

9.5. Clasificación por árboles usando S-Plus

La función tree de S-Plus permite hacer clasificación por árboles. Aunque aquí hemos usado la
librería treefix del libro de Venables y Ripley que corrige algunos defectos de la función original.

Ejemplo 12. En este ejemplo se aplica el método de árboles a los datos del ejemplo 1.

library(nnet)
> library(treefix, first=T)
> arbol<-tree(clases~E1+E2)
> summary(arbol)

Classification tree:
tree(formula = clases ~ E1 + E2)
Edgar Acuna /ESMA 6835 Clasificación 84

Number of terminal nodes: 3


Residual mean deviance: 0.3297 = 9.561 / 29
Misclassification error rate: 0.09375 = 3 / 32
> print(arbol)
node), split, n, deviance, yval, (yprob)
* denotes terminal node

1) root 32 35.990 p ( 0.2500 0.7500 )


2) E2<50 12 15.280 f ( 0.6667 0.3333 )
4) E1<63 5 0.000 f ( 1.0000 0.0000 ) *
5) E1>63 7 9.561 p ( 0.4286 0.5714 ) *
3) E2>50 20 0.000 p ( 0.0000 1.0000 ) *
> # graficando el arbol
> plot(arbol,type="u"); text(arbol)
># Graficando las regiones creadas por el arbol en que el espacio muestral
> plot(E1,E2,type="n",xlab="E1",ylab="E2")
> text(E1,E2,as.character(clases))
> lines(c(63,0),c(50,50))
> abline(v=63)
> ajuste<-predict(arbol)
> ajuste
f p
1 0.0000000 1.0000000
2 0.0000000 1.0000000
3 0.0000000 1.0000000
4 0.0000000 1.0000000
5 0.0000000 1.0000000
6 0.0000000 1.0000000
7 0.0000000 1.0000000
8 0.0000000 1.0000000
9 0.0000000 1.0000000
10 0.0000000 1.0000000
11 0.0000000 1.0000000
12 0.0000000 1.0000000
13 0.0000000 1.0000000
14 0.0000000 1.0000000
15 0.0000000 1.0000000
16 0.4285714 0.5714286
17 0.0000000 1.0000000
18 0.0000000 1.0000000
19 0.4285714 0.5714286
20 0.0000000 1.0000000
21 0.4285714 0.5714286
22 0.0000000 1.0000000
23 0.4285714 0.5714286
24 0.0000000 1.0000000
25 1.0000000 0.0000000
26 1.0000000 0.0000000
27 0.4285714 0.5714286
28 0.4285714 0.5714286
29 1.0000000 0.0000000
Edgar Acuna /ESMA 6835 Clasificación 85

30 1.0000000 0.0000000
31 0.4285714 0.5714286
32 1.0000000 0.0000000
> predi<-apply(ajuste,1,which.is.max)
> predi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
222222222 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 1 1 2
32
1
> c("F","P")[predi]
[1] "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P"
[21] "P" "P" "P" "P" "F" "F" "P" "P" "F" "F" "P" "F"
>

En este ejemplo en la etapa inicial todas las observaciones están en un grupo, entonces
n1,P=24, n1,F=8 y n1=32 y pˆ1, P =24/32=0.75 y pˆ1, F =8/32=0.25. Asi que la devianza D=-
2[24log(0.75)+8log(0.25)=35.99.
En la primera partición

n1,P=20, n1,F=0 y n1=20


n2,P=4, n1,F=8 y n2=12

y pˆ1, P =20/20=1, pˆ1, F =0/20=0. También


pˆ2,P =4/12=.3333 y pˆ2,F = 8/12=.6666.
Luego, la Devianza es D=-2[20log1+0log0+4log(.3333)+8log(.6666)]=15.280, y asi
sucesivamente.
Grafica de arbol mostrando los nodos terminales
E2<50
|

P Your text

E1<63
p

F
f p

La siguiente figura muestra la regiones de clasificación predichas por el método de árboles


Edgar Acuna /ESMA 6835 Clasificación 86

Separacion del espacio de mediciones por clases segun CART

100
p p
p
p p p p
p p
p
p pp
80

p
p p
60
E2

p
p
p
f p
p
40

f
f f
f

p
f p
f
20

40 50 60 70 80 90 100
E1

Notar que el error de clasificación es 9.37%

Ejemplo 13. En el siguiente program se aplica clasificación por árboles a los datos del ejemplo 3.
Además se usa clasificación cruzada para mejor la estimación del error.

sico<-read.table("a:discdat.dat",header=T)
arbol<-tree(diag~x1+x1+x3+x4+x5,data=sico)
arbol
plot(arbol,type="u")
text(arbol)
title("Clasificacion usando arboles")
cvtr<-cv.tree(arbol,FUN=prune.tree, rand=1:45)
cvtr
best.tree<-prune.tree(arbol,best=3)
best.tree
plot(best.tree, type="u")
text(best.tree)
title("Clasificacion usando el mejor arbol")
ajus<-predict(best.tree)
ajus
pred<-apply(ajus,1,which.is.max)
pred
c("I","W")[pred]
summary(best.tree)

Se obtienen los siguientes resultados

> sico<-read.table("a:discdat.dat",header=T)
> arbol<-tree(diag~x1+x1+x3+x4+x5,data=sico)
> arbol
node), split, n, deviance, yval, (yprob)
* denotes terminal node
Edgar Acuna /ESMA 6835 Clasificación 87

1) root 45 57.290 W ( 0.3333 0.6667 )


2) x5<2.5 26 35.430 I ( 0.5769 0.4231 )
4) x4<1.5 14 14.550 I ( 0.7857 0.2143 )
8) x1<1.5 7 5.742 I ( 0.8571 0.1429 ) *
9) x1>1.5 7 8.376 I ( 0.7143 0.2857 ) *
5) x4>1.5 12 15.280 W ( 0.3333 0.6667 )
10) x1<2.5 6 8.318 I ( 0.5000 0.5000 ) *
11) x1>2.5 6 5.407 W ( 0.1667 0.8333 ) *
3) x5>2.5 19 0.000 W ( 0.0000 1.0000 ) *
> plot(arbol,type="u")
> text(arbol)
> title("Clasificacion usando arboles")
> cvtr<-cv.tree(arbol,FUN=prune.tree, rand=1:45)
> cvtr
$size:
[1] 5 4 3 2 1

$dev:
[1] 54.50130 54.82147 61.34824 72.84285 70.35433

$k:
[1] -Inf 0.4308328 1.5518394 5.6012424
[5] 21.8604572

$method:
[1] "deviance"

attr(, "class"):
[1] "prune" "tree.sequence"
> best.tree<-prune.tree(arbol,best=3)
> best.tree
node), split, n, deviance, yval, (yprob)
* denotes terminal node

1) root 45 57.29 W ( 0.3333 0.6667 )


2) x5<2.5 26 35.43 I ( 0.5769 0.4231 )
4) x4<1.5 14 14.55 I ( 0.7857 0.2143 ) *
5) x4>1.5 12 15.28 W ( 0.3333 0.6667 ) *
3) x5>2.5 19 0.00 W ( 0.0000 1.0000 ) *
> plot(best.tree, type="u")
> text(best.tree)
> title("Clasificacion usando el mejor arbol")
> ajus<-predict(best.tree)
> ajus
I W
1 0.3333333 0.6666667
2 0.7857143 0.2142857
3 0.7857143 0.2142857
4 0.7857143 0.2142857
5 0.7857143 0.2142857
6 0.7857143 0.2142857
Edgar Acuna /ESMA 6835 Clasificación 88

7 0.3333333 0.6666667
8 0.7857143 0.2142857
9 0.7857143 0.2142857
10 0.7857143 0.2142857
11 0.7857143 0.2142857
12 0.7857143 0.2142857
13 0.3333333 0.6666667
14 0.7857143 0.2142857
15 0.3333333 0.6666667
16 0.3333333 0.6666667
17 0.0000000 1.0000000
18 0.3333333 0.6666667
19 0.3333333 0.6666667
20 0.0000000 1.0000000
21 0.0000000 1.0000000
22 0.0000000 1.0000000
23 0.0000000 1.0000000
24 0.3333333 0.6666667
25 0.0000000 1.0000000
26 0.7857143 0.2142857
27 0.3333333 0.6666667
28 0.0000000 1.0000000
29 0.3333333 0.6666667
30 0.0000000 1.0000000
31 0.0000000 1.0000000
32 0.7857143 0.2142857
33 0.0000000 1.0000000
34 0.0000000 1.0000000
35 0.0000000 1.0000000
36 0.0000000 1.0000000
37 0.0000000 1.0000000
38 0.0000000 1.0000000
39 0.0000000 1.0000000
40 0.0000000 1.0000000
41 0.7857143 0.2142857
42 0.3333333 0.6666667
43 0.0000000 1.0000000
44 0.3333333 0.6666667
45 0.0000000 1.0000000
> pred<-apply(ajus,1,which.is.max)
> pred
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
211111211 1 1 1 2 1 2 2 2 2 2 2 2
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 2
40 41 42 43 44 45
2 1 2 2 2 2
> c("I","W")[pred]
[1] "W" "I" "I" "I" "I" "I" "W" "I" "I" "I" "I" "I" "W"
[14] "I" "W" "W" "W" "W" "W" "W" "W" "W" "W" "W" "W" "I"
[27] "W" "W" "W" "W" "W" "I" "W" "W" "W" "W" "W" "W" "W"
Edgar Acuna /ESMA 6835 Clasificación 89

[40] "W" "I" "W" "W" "W" "W"


> summary(best.tree)

Classification tree:
snip.tree(tree = arbol, nodes = c(4, 5))
Variables actually used in tree construction:
[1] "x5" "x4"
Number of terminal nodes: 3
Residual mean deviance: 0.7101 = 29.82 / 42
Misclassification error rate: 0.1556 = 7 / 45
Clasificacion usando el mejor arbol

x5<2.5
|

x4<1.5
W

I W

Notar que hay un error del clasificación del 15.5%, usando validación cruzada

9.6. Ventajas y desventajas de clasificación por arboles

Ventajas:

Puede ser aplicado a cualquier tipo de variables predictoras: continuas y categóricas


Los resultados son fáciles de entender.
No tiene problema de trabajar con datos perdidos.
Hace automaticamente selección de variables.
Es invariante a transforamciones de las variables predictoras.
Es robusto a la presencia de "outliers".

Desventajas:

El proceso de selección de variables es sesgado hacia las variables con mayor valores distintos.
La superficie de prediccion no es muy suave, ya que son planos.
Edgar Acuna /ESMA 6835 Clasificación 90

10. Redes Neurales


La redes neurales pueden ser considerado como un intento de emular el cerebro humano. El
cerebro tiene aproximadamente 1.5 x 1010 neuronas cada una con 10 a 104 conecciones llamadas
sinapses. La idea es construir un modelo del cerebro humano basado en computadoras para
realizar tareas complejas.
En general, redes neurales son representaciones de modelos matemáticos donde unidades
computacionales son conectadas entre sí por un mecanismo que aprende de la experiencia, es
decir de los datos que se han tomado.

Las primeras ideas fueron introducidas por McCulloch y Pits (1943). Posteriormente, Rosenblatt
(1958, 1962) introdujo el concepto de “Perceptron” ( conjunto de neuronas) y lo trató de aplicar a
clasificación. Pero no fue hasta 1985, con los trabajos de Hinton, Rumellhart y Williams que
presentaron el algoritmo de “backpropagation” para el aprendizaje de una red neural, cuando
estas comenzaron a llamar la atención de la comunidad científica. En estadística los trabajos de
Ripley (1993) y Chen y Titterigton (1994) fueron pioneros en la incursión de los estadísticosa en
redesa neurales.

Los usos en estadística de las redes neurales artificiales, ANN por sus siglas en inglés (muchas
veces se elimina la palabra artificiales) incluyen:

a. Análisis Discriminante
b. Regresión
c. Análisis por conglomerados.
d. Estiamción de densidades

Tabla que relaciona terminos en redes neurales con terminos estadísticos

Estadistica Redes neurales


Variables Rasgos ("features")
Variables independientes Entradas ( "Inputs")
Variables dependientes Objetivos ("Targets")
Valores predichos Salidas ("Outputs")
Estimación, Ajuste Aprendizaje("Learning"), Entrenamiento
Parámetros estimados Pesos ("weights")
Transformaciones Relaciones funcionales ("Functional Links")
Interpolación o Extrapolación Genralización
Regresión y análisis discriminante Aprendizaje supervisado( "Supervised
Learning")

Tipos de Redes Neurales:

Existen muchos tipos de redes neurales, entre los principales están:

a) Para aprendizaje supervisado (análisis de regresión y análisis discriminante)


Multilayer Perceptron (MLP)
Radial basis function Networks (RBF)
Learning Vector Quantization (LVQ)

b) Para aprendizaje no supervisado (análisis por conglomerados)


Edgar Acuna /ESMA 6835 Clasificación 91

Hopfield Networks
Kohonen's Self-Organizing Maps
Adaptive Resonance Theory

Diagramas de redes

Las neuronas son representadas por circulos y cajas, mientras que las conecciones entre ellas son
representadas por flechas:
Los circulos representan variables observadas con el nombre adentro del circulo.
Las cajas representan valores calculados con una función de uno o más argumentos. El simbolo
dentro de la caja indica el tipo de función.
Las flechas indican que el punto de partida de la flecha es un argumento de la función calculada
en el punto final de la flecha. Cada flecha tiene usualmente un parametero correpondiente a ser
estimado.
Dos lineas paralelas indican que los valores en cada extremo son ajustado por minimos
cuadrados, máxima verosimiltud o algún otro criterio de estimación.

Input Output Target

X Y

Variable Independiente Valor Predicho Variable Dependiente

Figura 1. Red Neural para regresión lineal Simple

10.1 El "Perceptron" simple

Un "percenton" es un modelo de una neurona. En terminos de redes neurales un "perceptron"


calcula una combinación lineal de inputs (posiblemente con un intercepto, que es llamado el
temino sesgo). Luego, una función de activación, la cual es por lo general no lineal es aplicada a
esta combinación lineal para producir un output. Es decir el output yj es
yj = f j( ∑w x)
inputs:i
ij i

fj representa a la función de activación y wij son los pesos, que los estadísticos llamamos
parámetros, La red neural aprende los pesos de los datos que se han recolectado.
Edgar Acuna /ESMA 6835 Clasificación 92

Tabla de funciones de Activación

Nombre Función
Lineal Act(x)=x
Logística Act(x)=(1+e-x)-1
Gaussiana Act(x)=e-x2/2
Threshold Act(x)=0 si x<0, 1 en otro caso

En las siguientes figuras se muestran perceptron que son usadas en regresión logística y análisis
discriminante respectivamente, este último también es llamado ADELINE (Adaptive Linear
Element, ver Widrow and Hoff (1960). En clasificación, se prefiere usar una variable binaria yj
para representar la clase j, y fj es una función “ threshold” o la función logística.
En regresión lineal fj (w)=w.

Inputs Output Target

X1
W1

W2
X2 Y

W3
Variable Dependiente
Valor Predicho
X3

Variables Independientes
Edgar Acuna /ESMA 6835 Clasificación 93

Figura 2. Perceptron simple Nolineal= Regresión Logística.

Inputs Output Target

X1

Y
X2

Variable Binaria
Valor Predicho
X3

Variables Independientes

Figura 3. Red Neural para Análisis Discriminante

10.2 El "Perceptron" de multiple niveles (MLP)

Una red neural de dos niveles puede ser escrita en dos ecuaciones

z j = φh (α j + ∑w
i
ij xi )

y k = φo (α k + ∑w j
ik xi )

Aqui zj son las unidades del nivel escondido (“Hidden Layer”) , yk las unidades de salida, φo y φh
son funciones de activación. Casi siempre φh es la función logística, también conocida como la
función de activación sigmoidal, φo puede ser lineal, logística o “threshold”. Sustituyendo la
primera ecuación en la segunda se obtiene

y k = φo (α k + ∑w j
jk φh (α j + ∑w
i
ij xi ))

donde wij y αi representan los pesos, φh es una función de activación tipicamente logística y φo es
una función de activación usualmente lineal, logistica o "threshold".
Edgar Acuna /ESMA 6835 Clasificación 94

El MLP también es llamado red de alimentación hacia adelante (FFNN) o red de propagación
hacia atras.

Entrenamiento de una red neural

Esto es equivalente a estimación en estadística. Los pesos w son elegidos de tal manera que
alguna medida de ajuste se minimize.

Para Regresión:

Se minimiza la suma de los cuadrados de los errores.

n J
E= ∑ ∑ ( yˆ
i =1 j =1
i
j − y ij ) 2

con respecto a los pesos (αj, wij)

Para clasificación:

Se minimiza la funcion entropia cruzada

E= ∑ ∑ [y
i j
ij log yˆij + (1 − y ij ) log(1 − yˆij )]

Métodos de Minimización de E.

Sea w la matriz de pesos de la red neural entonces la gradiente de E(w) es un campo vectorial de
derivadas definido por

dE ( w) dE ( w)
∇ E ( w) = ( , ,......)
dw1 dw 2

Por la forma del modelo de una red neural la gradiente puede ser calculada usando la regla de la
cadena y a través del aloritmo de "Backpropagation".
Una aproximación lineal a E(w) en una vecindad de una matriz de pesos wo esta dada por

E (w) ≈E (w o ) + ∇ E ( w o )(w − w o )

También se puede usar una aproximación de segundo orden que involucra el uso de la matriz
Hessiana H-1= ∇∇ E de segundas derivadas.

E puede ser minimizada usando métodos de análisis numérico y modelos nolineales incluyendo:
Gradiente Descendente, métodos Quasi-Newton (recomendado si el número de pesos es menor de
1000), Método Gradiente Conjugado (recomendado si hay una gran cantidad de pesos a ser
estimados) y "Simulated Annealing", Algoritmos Genéticos.
Edgar Acuna /ESMA 6835 Clasificación 95

La mayor dificultad de minimizar E es la presencia de multiples mínimos y el riesgo de elegir uno


de ellos que no sea optimo.A menudo es necesario reempezar el proceso de minimización usando
distintos valores iniciales.

Medidas remediales para “overfitting”

Parar el proceso iterativo de estimar el minimo de E. Se asume que se tiene un conjunto de


validación y se para el proceso iterativo cuando el rendimiento de la red neural en el cojunto de
validación se empieza a deteriorar.

Regularización: En este caso se se añade una penalidad a E(w) y luego se minmiza. Más
especificamente,
Minw[E(w)+λφ(w)].
Aquí w es la matriz de pesos, E(w) es el error de predicción, λes la constante de regularización y
φes la función de penalidad del modelo.
El ejemplo más simple es la regularización conocido como “weight decay” (deterioro de pesos)
definido como
Minw[E(w)+λΣw2

Esto es muy similar a regresión “ridge” y a validación cruzada.

Promediar: En este caso se eligen varios valores iniciales para el proceso iterativo de minimizar
E(w) y se promedian las predicciones obtenidas.

Añadir ruido. En este caso se añade un ruido (“noise”) a cada variable de entrada y luego se
ajusta la red neural. Se repite el proceso varias veces y luego se promedia.

Bagging (“Bootstrap aggregating”). Se toma vraias muestras con reeplazamiento de la muestra de


entrenamiento y se ajusta una red neural para cada una de ellas. Luego se promedian las
predicciones finales en el caso de regresión o se asigna la observación a la clase más votada en el
caso de clasificación. Otrso métodos relacionados son “arcing”, “stackimg”, “boosting”.

Ventajas y desventajas de redes neurales:

a) Son buenos para hacer predicciones pero malos para ser entendidos.
b) Buenos para analizar conjuntos de datos de gran tamaño y de estructura compleja.
c) Pueden rendir mejor o peor que los métodos estadísticos dependiendo del tipo de problema.
d) Carecen de una buena teoría estadística para hacer inferencias, diagnósticos y selección de
modelos.

10.3. Redes de Funciones de base radiales

las funciones de bases radiales fueron inicialmente aplicadas a aproximación de funciones,


Roomhead y Lowe (1988) fueron los primeros en usarlos para clasificación. La función de base
radial (RBF) puede ser escrita matemáticamente como una combinación lineal de funciones
nolineales radialmente simétricas, son aproximaciones de la forma
Edgar Acuna /ESMA 6835 Clasificación 96

m
y =α + ∑ β φ (|| x −
j =1
j j c j ||)

donde cj son centros pre-especificados, α y βj son pesos a ser estimados, las φj son las funciones
bases usualmente se consideran las mismas para todo j y las mas usadas son la gaussiana
φ(r)=exp(-r2/2), la cuadrática φ(r)= r 2 + ar + b y la "thin plate spline" φ(r)=r2log(r). El modelo
es muy similar a mezclas gaussianas y a estimadores de densidad por kernel. Los centros son
elegidos usando análisis por conglomerados, knn, mezclas normales o minimos cuadrados
ortogonales y el número de componentes m es elegido de tal manera que no ocurra "underfit" o
"overfit" y usualmente se aplica validación cruzada.

10.3 Redes Neurales en S-Plus

La función nnet de S-Plus permite modelar redes neurales.


Ejemplo 15. En el siguiente ejemplo el método es aplicado a los datos del ejemplo 1.

> library(nnet)
> clasnum<-class.ind(clases)
> rednota<-nnet(examenes,clasnum,entropy=T,size=2,maxit=1000)
# weights: 12
initial value 45.542762
final value 35.989449
converged
> summary(rednota)
a 2-2-2 network with 12 weights
options were - entropy fitting
b->h1 i1->h1 i2->h1
-0.01 -3.59 -0.53
b->h2 i1->h2 i2->h2
-0.41 -0.42 -0.45
b->o1 h1->o1 h2->o1
-1.10 -1.46 0.17
b->o2 h1->o2 h2->o2
1.10 1.18 -0.62
> rednota$fit
f p
[1,] 0.2499974 0.750001
[2,] 0.2499974 0.750001
[3,] 0.2499974 0.750001
[4,] 0.2499974 0.750001
[5,] 0.2499974 0.750001
[6,] 0.2499974 0.750001
[7,] 0.2499974 0.750001
[8,] 0.2499974 0.750001
[9,] 0.2499974 0.750001
[10,] 0.2499974 0.750001
[11,] 0.2499974 0.750001
[12,] 0.2499974 0.750001
[13,] 0.2499974 0.750001
[14,] 0.2499974 0.750001
Edgar Acuna /ESMA 6835 Clasificación 97

[15,] 0.2499974 0.750001


[16,] 0.2499974 0.750001
[17,] 0.2499974 0.750001
[18,] 0.2499974 0.750001
[19,] 0.2499974 0.750001
[20,] 0.2499974 0.750001
[21,] 0.2499974 0.750001
[22,] 0.2499974 0.750001
[23,] 0.2499974 0.750001
[24,] 0.2499974 0.750001
[25,] 0.2499974 0.750001
[26,] 0.2499974 0.750001
[27,] 0.2499974 0.750001
[28,] 0.2499974 0.750001
[29,] 0.2499974 0.750001
[30,] 0.2499974 0.750001
[31,] 0.2499974 0.750001
[32,] 0.2499974 0.750001
> predic<-apply(rednota$fit,1,which.is.max)
> c("F","P")[predic]
[1] "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P"
[21] "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P"
> rednota<-nnet(examenes,clasnum,entropy=T,size=6,maxit=1000)
# weights: 32
initial value 48.871751
iter 10 value 34.119951
iter 20 value 25.475002
iter 30 value 1.907809
iter 40 value 0.001067
final value 0.000102
converged
> summary(rednota)
a 2-6-2 network with 32 weights
options were - entropy fitting
b->h1 i1->h1 i2->h1
-0.05 0.22 0.27
b->h2 i1->h2 i2->h2
39.94 -0.23 -0.11
b->h3 i1->h3 i2->h3
-25.36 0.36 0.32
b->h4 i1->h4 i2->h4
106.77 -1.16 -0.71
b->h5 i1->h5 i2->h5
0.25 -0.13 -0.31
b->h6 i1->h6 i2->h6
0.25 -0.56 0.05
b->o1 h1->o1 h2->o1 h3->o1 h4->o1 h5->o1 h6->o1
-2.78 -3.30 3.95 -17.11 35.32 -0.23 -0.32
b->o2 h1->o2 h2->o2 h3->o2 h4->o2 h5->o2 h6->o2
16.13 16.15 -32.03 27.16 -46.11 0.93 -0.55
Edgar Acuna /ESMA 6835 Clasificación 98

> rednota$fit
f p
[1,] 0.000000e+000 1.00000000000
[2,] 0.000000e+000 1.00000000000
[3,] 0.000000e+000 1.00000000000
[4,] 0.000000e+000 1.00000000000
[5,] 0.000000e+000 1.00000000000
[6,] 0.000000e+000 1.00000000000
[7,] 0.000000e+000 1.00000000000
[8,] 0.000000e+000 1.00000000000
[9,] 0.000000e+000 1.00000000000
[10,] 0.000000e+000 1.00000000000
[11,] 0.000000e+000 1.00000000000
[12,] 0.000000e+000 1.00000000000
[13,] 0.000000e+000 1.00000000000
[14,] 0.000000e+000 1.00000000000
[15,] 0.000000e+000 1.00000000000
[16,] 0.000000e+000 1.00000000000
[17,] 0.000000e+000 1.00000000000
[18,] 0.000000e+000 1.00000000000
[19,] 0.000000e+000 1.00000000000
[20,] 0.000000e+000 1.00000000000
[21,] 9.146935e-006 1.00000000000
[22,] 0.000000e+000 1.00000000000
[23,] 0.000000e+000 1.00000000000
[24,] 0.000000e+000 1.00000000000
[25,] 1.000000e+000 0.00000000000
[26,] 1.000000e+000 0.00000000000
[27,] 9.999601e-001 0.00001783479
[28,] 9.999994e-001 0.00000000000
[29,] 1.000000e+000 0.00000000000
[30,] 1.000000e+000 0.00000000000
[31,] 1.000000e+000 0.00000000000
[32,] 1.000000e+000 0.00000000000
> predic<-apply(rednota$fit,1,which.is.max)
> c("F","P")[predic]
[1] "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P" "P"
[21] "P" "P" "P" "P" "F" "F" "F" "F" "F" "F" "F" "F"

Notar que el error de clasificación es 0%.

Ejemplo 16. Para los datos del ejemplo 3 el programa en S-Plus es como sigue:

sico<-read.table("a:discdat.dat",header=T)
targets<-class.ind(sico$diag)
red<-nnet(sico[,-1],targets,entropy=T,size=2,maxit=4000)
summary(red)
red$fit
pr<-apply(red$fit,1,which.is.max)
c("I","W")[pr]
Edgar Acuna /ESMA 6835 Clasificación 99

Se obtienen los siguientes resultados

>library(nnet)
> sico<-read.table("a:discdat.dat",header=T)
> targets<-class.ind(sico$diag)
> red<-nnet(sico[,-1],targets,entropy=T,size=2,maxit=4000)
# weights: 18
initial value 63.946031
iter 10 value 34.827280
iter 20 value 25.418224
iter 30 value 21.030965
iter 40 value 19.235502
iter 50 value 19.213482
final value 19.213327
converged
> summary(red)
a 5-2-2 network with 18 weights
options were - entropy fitting
b->h1 i1->h1 i2->h1 i3->h1 i4->h1 i5->h1
-545.32 78.93 34.11 88.06 46.63 19.72
b->h2 i1->h2 i2->h2 i3->h2 i4->h2 i5->h2
307.72 -64.21 -175.49 95.56 -14.74 -79.88
b->o1 h1->o1 h2->o1
0.51 -3.81 53.18
b->o2 h1->o2 h2->o2
-0.51 3.81 -54.32
> red$fit
I W
1 0.62499058 0.3750222
2 0.62501740 0.3749954
3 1.00000000 0.0000000
4 0.62501740 0.3749954
5 1.00000000 0.0000000
6 1.00000000 0.0000000
7 0.62499058 0.3750222
8 1.00000000 0.0000000
9 1.00000000 0.0000000
10 1.00000000 0.0000000
11 0.62501740 0.3749954
12 1.00000000 0.0000000
13 1.00000000 0.0000000
14 1.00000000 0.0000000
15 0.03571374 0.9642853
16 0.03571374 0.9642853
17 0.03571374 0.9642853
18 0.03571374 0.9642853
19 0.03571374 0.9642853
20 0.03571374 0.9642853
21 0.03572561 0.9642734
22 0.03571374 0.9642853
Edgar Acuna /ESMA 6835 Clasificación 100

23 0.03571374 0.9642853
24 0.62499058 0.3750222
25 0.03571374 0.9642853
26 0.03571374 0.9642853
27 0.03571374 0.9642853
28 0.03571374 0.9642853
29 0.03571374 0.9642853
30 0.03571374 0.9642853
31 0.03571374 0.9642853
32 0.62501740 0.3749954
33 0.03571374 0.9642853
34 0.03571374 0.9642853
35 0.03571374 0.9642853
36 0.03571374 0.9642853
37 0.03571374 0.9642853
38 0.03571374 0.9642853
39 0.03571374 0.9642853
40 0.03571374 0.9642853
41 0.62501740 0.3749954
42 0.03571374 0.9642853
43 0.03571374 0.9642853
44 0.03571374 0.9642853
45 0.03571374 0.9642853
> pr<-apply(red$fit,1,which.is.max)
> c("I","W")[pr]
[1] "I" "I" "I" "I" "I" "I" "I" "I" "I" "I" "I" "I" "I" "I" "W" "W" "W" "W" "W" "W"
[21] "W" "W" "W" "I" "W" "W" "W" "W" "W" "W" "W" "I" "W" "W" "W" "W" "W" "W" "W"
"W"
[41] "I" "W" "W" "W" "W"

Hay 4 de 45 observaciones mal clasificadas para una tasa de error del 8.88%
Edgar Acuna /ESMA 6835 Clasificación 101

11. Recientes avances en Análisis Discriminante


1. Combinando métodos de clasificación para mejorar la predicción
"Stacking" (David Wolpert, 1992).
"Boosting" (Yoav Freund and Robert Shapire, 1995)
"Bagging" (Leo Breiman, 1996).
"Bumping"(Robert Tisbhirani, 1996).
"Arcing" (Leo Breiman, 1998)

2. Análisis Discriminante Flexible (FDA)


Se trata de adaptar tecnicas de regresión noparamétrica a análisis discriminante.
(Hastie, T., Tibshirani, R. y Buja, A, 1994.)

3. Análisis Discriminante Penalizado (PDA)

(Hastie, T., Tibshirani, R. y Buja, A, 1995.)

4. Análisis Discriminante usando mezclas Gaussianas.

(Hastie, T., Tibshirani, R. 1996.)


Edgar Acuna /ESMA 6835 Clasificación 102

REFERENCIAS

1. Acuña, E and Ramirez, Nazario (1995) Neural Networks and Satistical Pattern recognition. A
proposal for DEPSCOR program. UPR-RUM. Puerto Rico.
2. Afifi, A.A and Clark, V. (1990) Computer-Aided Multivariate Analysis. Second edition,
Chapman and Hall, New York.
3. Aitchison, J. and Aitken, C.G.G., Multivariate binary discrimination by the kernel method,
Biometrika, 63, 413.420.
4. Breiman, L. Friedman, J.H., Olshen, R. y Stone, C.J. (1984) Classification and Regression
Trees. Wadsworth, Belmont, CA.
5. Cornfield, J. (1962). Joitn dependence of risk coronary heart disease on serum cholesterol
and systolic blood preassure. Fed Amer. Socs. Exper. Biol. Proc Suppl. 11, 58-61.
6. Efron, B. (1975). The efficiency of logistic regression compared to normal discrimant
analysis. Journal of the American Statistical Association.70, 892-898.
7. Enas, G.G and Choi, S.C. (1986). Choice of the smoothing parameter and efficiency of the k-
nearest neigbour classification. Comput. Math. Applic. 12A, 235-244.
8. Fisher, R.A. (1936). The use of multiple measurements in taxonomic problems. Annals of
Eugenics, 7, 179-188.
9. Fix, E. and Hodges, J.L. (1951) Discriminatory analysis, nonparametric estimation:
consistency properties. Reporrt No. 4, project, No. 21-49-004. UASF School of Aviation
Medicine, Texas.
10. Hand, D.J. (1981). Discrimination and classification. John Wiley, New York.
11. Hand, D.J. (1997). Construction ans Assessmnet of Classification Rules. John Wiley, New
York.
12. Hawkins, D.M. (1976). A test for multivariate normality and homocedasticy. Technometrics,
23, 105-110.
13. Hosner, D.W. Jr and Lemeshow, S. (1989). Applied logistic regression. New York, Wiley.
14. Lachenbruch, P.A. and Mickey, M.R. (1975) Discriminant Anaalysis, Hafner Press, New
York.
15. Marks, S. and Dunn, O.J. (1974). Discriminant functions when covariance matrices are
unequal. J. Amer. Statist. Assoc. 69, 555-559.
16. McLachlan, G.J. (1992) Discriminant Analysis and Statistical pattern recognition, John
Wiley, New York.
17. Michie, D. Spiegelhalter, D.J and Taylor, C.C. (1994) Machine Learning, Neural aand
Statistical classification.
18. Panel on Discriminant Analysis, Classification, and Clustering, Committee on Applied and
Theoretical Statistics, National research Council (1988). Discriminant Analysis and
Clustering. National Academic Press, Washington D.C.
19. Press, S.J. and Wilson, S. (1978), Choosing between logistic regression and discriminant
analysis. J. of Amer. Statist. Assoc.73, 699-705.
20. Ripley, B. (1996). Pattern Recognition and Neural Networks. Cambridge University Press.
21. Rosemblatt, M. (1956) Remarks on some nonparametric estimates of a density function. Ann
Math. Statist. 27, 832-837.
22. SAS Institute. (1990). SAS/STAT Users Guide. Fourth Edition. Cary, North Carolina.
23. Silverman, B.W (1986). Density Estimation for Statistics and Data Analysis. Chapman and
Hall. London
24. Venables, W.N. and Ripley B.D. (1994). Modern Applied Statistics with S-Plus. Springer-
Verlag, New York.
Edgar Acuna /ESMA 6835 Clasificación 103

25. Weiss, S.M. and Kulikowski, C.A. (1991) Computer Systems that learn: Classification and
Predition methods from Statistics, Neural nets, Machine learning and Expert systems.
Morgan Kaufman, San Mateo, CA.

You might also like