Professional Documents
Culture Documents
Dr. Edgar Acua Fernndez Departamento de Matemticas 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 Acua, prohibida la reproduccin total o parcial de este documento sin el permiso del autor.
Prlogo
El anlisis discriminante es un rea excitante en Estadstica, envuelve muchos temas interesantes tales como:formulacin de un problema, construccin de un modelo, estimacin, teora de decisin, prediccin, interpretacin de resultados, etc. La finalidad de este curso es presentar los diversos mtodos de anlisis discriminante, comenzando con el ms bsico y conocido de ellos, el anlisis discriminante lineal (Fisher, 1936) hasta llegar a los ms modernos basados en remuestreo (Breiman, 1998) los cuales buscan reducir al mximo la tasa de clasificacin errada del modelo. Al final del curso se espera que el estudiante sepa aplicar varios mtodos de anlisis discriminante a datos de la vida real usando un paquete estadstico: MINITAB, SAS, S-Plus, SPSS y decidir cual de ellos es el ms conveniente. Prerequisito para tomar este curso: Obligatorio: Un curso de un ao en Estadstica Aplicada, que incluya regresin multiple y anlisis de varianza. Recomendado: Haber usado previamente algn programa estadstico, tales como MINITAB, SAS, S-Plus, SPSS, Stata, Statistica, Statgraphics. Conocer la regla de Bayes. Algn concoimiento de la distribucin normal multivariada y de mtodos de estimacin. A quin va dirigido: A profesores y Estudiantes de ltimo ao de Estadstica o de otras carrera que usan tcnicas estadsticas para datos mulvariados: Ingenieria, agronoma, biologa, educacin, economa, psicologa, etc.
Contenido
1. Introduccin.
1.1 1.2 1.3 1.4 Aplicaciones de clasificacin. Ejemplo de Motivacin. Notacin y Definiciones bsicas. Mtodos de Anlisis Discriminante.
1. Introduccin
Clasificacin: Es un problema multivariado que consiste en asignar individuos u objetos a uno de N grupos o clases basndose en mediciones de las variables x1, x2, . xp, tomadas en ellas. Hay dos tipos de problemas de clasificacin: Anlisis Discriminante (conocido tambin 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 caractersticas de un sujeto u objeto. Con los datos de la muestra de entrenamiento se encuentra la regla de clasificacin o clasificador. Tambin 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. Anlisis por conglomerados (conocido tambin 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 anlisis 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 anlisis es usado como una etapa previa del anlisis discriminante. En este curso mayormente se discutirn tcnicas de anlisis discriminante.
En la toma de decisiones financieras: vender, comprar una compaia. Otorgar o denegar una tarjeta de crdito en base a varias caractersticas del solicitante. Programas de desarrollo rural: En una area se miden las siguientes variables: La distancia a la ciudad mas cercana con una poblacin de ms de 100,000 habitantes, el porcentaje de forestacin en el rea, los kilometros de rios que cruzan el rea, la distancia al aeropuerto ms cercano, etc. y se desea determinar si el area debe ser urbanizada o no. 6) Aplicacin en Biologa: Ecologa. Taxonoma. Estudios forenses del DNA Reconocimiento de huellas digitales. 7) Aplicacin en Piscologa Dados varios sntomas se desea ver si un paciente tiene o no depresin. 8) Aplicacin Militar: Identificacin de Msiles. Reconocimiento de terrenos. 9) Aplicacin en Arqueologa Clasificacin de la raza a la cual pertenece esqueletos hallados. 10) En Metereologa Se miden varias variables y se desea predicir si el da ser nublado, soleado o lluvioso.
100 90 80 70 P
P P P P P P P F F F F F P P P F P F F P P P P
P P P P
EX2
60 50 40 30 20 10 40 50 60
70
80
90
100
EX1
En un primer intento podriamos codificar la variable de respuesta Aprobacin en una numrica Aprobn: 0 si Fracas y 1 si Aprob, y luego hacer una regresin lineal mltiple para predecir el resultado en la clase en base a los resultados de los dos primeros exmenes. Pero esto puede producir estimados de la variable de respuesta que caen fuera del intervalo [0, 1], los cuales seran ilgicos. Haciendo uso del paquete estadstico 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 Constant EX1 EX2 S = 0.3194 Coef -0.4438 0.008298 0.009406 StDev 0.2817 0.003981 0.002274 T -1.58 2.08 4.14 P 0.126 0.046 0.000
R-Sq = 50.7%
R-Sq(adj) = 47.3%
Notar que el coeficiente de determinacin es bastante bajo, lo cual le resta confiabilidad al modelo para hacer predicciones. Pero an 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 0.6766 StDev Fit 0.1120 95.0% CI 0.4474, 0.9057) 95.0% PI ( -0.0157, 1.3688)
Redondeado el estimado 0.6766 a 1 significara que el estudiante aprueba el curso. Desde el punto de vista de anlisis 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
x 2 P = 73.75 x 2 F = 34.00
clase P, y
2 DF =(50-59.50)2 + (75-34.00)2=1052.97, es la distancia cuadrada del punto al centro 2 2 de la clase F. Como DP < DF se asigna el estudiante a la clase P.
Sin embargo, el anterior mtodo no es muy correcto porque la presencia de correlacin de las variables E1 y E2 en cada clase podra 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 Sp=
S F=
y en lugar de usar la distancia Euclideana se usa la distancia Mahalanobis, que en forma matricial sera la siguiente para la clase P
2 p 1 p
D =(x- x p )' S
D =(x- x F )' S
en consecuencia el estudiante es asignado a la clase P. Evidentemente no se puede estar haciendo el clculo de las distancias y las comparaciones para cada punto, sera demasiado trabajo, lo ideal es encontrar una regla de decisin 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 decisin: Si 0.085 E1+0.096 E2 >10.8222 entonces el estudiante pertenece a la clase P. Esta es llamada la funcin discriminante lineal y es el mtodo ms 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 grfica se pueden ver los puntos de la muestra tomada y la linea que respresenta a la regla de decisin.
f p
E2
0.085E1+0.096E2>10.8222
E1
En el anlisis por conglomerados, solo se conocen los resultados en los examenes y la idea es hallar grupos de estudiante que tenga un rendiiento afn. En este caso lo ms 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 anlisis por conglomerado usando el mtodo jerrquico 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
Euclidean Distance, Complete Linkage output omitido -----------------Final Partition Number of clusters: 5 Within cluster sum of squares 1550.900 220.000 994.857 135.500 1206.375 Average distance Maximum distance from centroid from centroid 12.139 16.236 7.762 11.402 11.183 16.721 5.650 6.792 11.580 19.750
Number of observations 10 3 7 4 8
Cluster Centroids Variable EX1 EX2 Cluster1 84.4000 91.5000 Cluster2 55.0000 92.0000 Cluster3 73.2857 60.7143 Cluster4 78.2500 24.2500 Cluster5 56.7500 41.1250
Distances Between Cluster Centroids 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
10
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
P ( Ai / B) =
P ( Ai ) P ( B / Ai )
P( A ) P(B / A )
j j j =1
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. Versin 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:
11
P (C i / x) =
f (x / C i ) P (x C i ) = f (x)
f (x / C i )i
j =1
f (x / C j )
La Distribucin Normal multivariada. Se dice que el vector aleatorio x=(x1,x2, ..xp) se distribuye como una normal multivariada de dimensin p con vector de medias u y matriz de covarianzas si su funcin de densidad es de la forma
f (x) =
1 (2)
p/2
||
1/ 2
exp[
1 (x u )' 1 (x u)] 2
y se escribe x ~ Np(u,)
12
Y 1 1 .. 1 2 2 .. 2
. ..
Es decir, tenemos solo dos clases de objetos: C1 y C2 y p caractersticas 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, = 2= (esta es llamada la propiedad de Homocedasticidad). Asumir normalidad de los 1
datos no se requiere por ahora. La discriminacin 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 ecuacin (2.1) puede ser escrita como
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
S=
donde, S1 y S2 representan las matrices de covarianzas muestrales del vector de variables predictoras en cada clase. En consecuencia, la versin muestral de (2.2) resulta ser
75.54 59.50 x1 = 73.75 , x 2 = 34.00 , n1=24 , n2=8 186.599 3.542 187.56 34.23 183.43 97.29 S1 = 34.23 507.07 , S 2 = 97.29 106.29 , S = 3.542 413.550 y 0.00535 0.00004 S 1 = 0.00004 0.00241
Sustituyendo estos valores en la ecuacin 2.3, usando x = discriminante lineal 0.085E1+0.096E2 - 10.8222 > 0.
E1 , se obtiene la funcin E2
14
numerador es llamada tambin 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 ms cerca a y1 =( x1 - x 2 )' S-1 x1 que a y 2 . El punto medio entre y1 y y 2 es
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
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 estadstica de t para comparar los grupos son
Two-sample T for di1 vs di2 N 8 24 Mean 0.807 1.115 StDev 0.472 0.613 SE Mean 0.17 0.13
di1 di2
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 hiptesis de igualdad de matrices de covarianza no es rechazada. En conclusin se cumple la suposicin de igualdad de covarianzas. Una alternativa sera usar la prueba de Mann-Whitney en lugar de la t para dos muestras. Podemos aplicar tambin la prueba de Bartlett usando SAS y se obtienen los siguientes resultados
Discriminant Analysis Test of Homogeneity of Within Covariance Matrices = Number of Groups = Number of Variables = Total Number of Observations - Number of Groups
Notation: K P N
N(i) = Number of Observations in the i'th Group - 1 __ N(i)/2 || |Within SS Matrix(i)| = ----------------------------------N/2 |Pooled SS Matrix| _ | 1 = 1.0 - | SUM ----|_ N(i) _ 2 1 | 2P + 3P - 1 --- | ------------N _| 6(P+1)(K-1)
RHO
16
8.676772
with
3 DF
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 hiptesis nula de igualdad de varianza es rechazada pues le "p-value" es 0.0339 menor que 0.05 y no sera conveniente usar anlisis discriminante lineal. Cuando se tiene varias poblaciones multivariadas cuya variabilidad se desea comparar se usa la prueba de razn de verosimilitud pero, sta es vlida siempre que la suposicin de normalidad se cumpla. SAS usa una modificacin de razn de verosimilitud debido a Bartlett para probar homocedasticidad, la cual sin embargo es bien sensible si no hay normalidad. Una solucin sera probar primero normalidad multivariada usando la prueba de Mardia, la cual se basa en la distribucin de los coeficientes de asimetra 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 anlisis de varianza. La prueba de Hawkins (Technometrics, 1981) permite probar simultneamente normalidad multivariada y homocedasticidad. Desafortunadamente esta prueba no aparece en ningn programa estadstico. MINITAB no incluye prueba para homocedaticidad multivariada ni prueba de normalidad multivariada. La version 2000 de S-Plus tambin tiene pruebas de homoscedasticidad.
17
2.3. La prueba de Mardia para normalidad multivariada Consideremos que x (j=1, .n) representan las observaciones en la muestra de entrenamiento j 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 asimetra y kurtosis, cuyas estimaciones basadas en la muestra de entrenamiento estn definidas como :
b1 =
y
1 n2
{(x
j =1 k =1
x)' S 1 (x k x)}3
b2 =
1 n
{(x
j =1
x)' S 1 (x j x)}2
respectivamente. Si la hiptesis nula Ho: X es normal multivariada en la clase C es cierta entonces se puede mostrar que para n grande
2 (n / 6)b1 ~ d
Haciendo los clculos 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 hiptesis 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 hiptesis nula y se concluye que las notas en los dos examenes para los estudiantes que NO aprueban se distribuyen como una normal multivariada.
18
y = 0 + 1 x1 + ..... + k x k
donde 0 = y
i =1
c=
aqui D2 representa la distancia Mahalanobis al cuadrado entre los dos grupos. En efecto, consideremos el modelo de regresin lineal mutliple con p variables predictoras yj=ao+a j+ej x 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 j)(-1)=0 (1) x (yj-ao-a j)(-xj)=0 x (2)
Ahora usando el hecho que yj=0 se obtiene de la primera ecuacin que ao= -ax = -(
19
[ x xj -( j
donde Sw=
(x
x 2 )(x x 2 )'
es el estimado de la matriz de covarianza combinada, tambin 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+uu')-1=A-1+
A 1uu' A 1 1 + u' A 1u
para invertir la matriz que aparece en el lado izquierdo de (4). b) Usar el hecho que
S -1 w k ( x1 - x 2 ) n 2
Para hallar el valor de c sustituir en la ecuacin (4) y con eso la prueba est terminada. Adems, se halla la siguiente relacin entre el coeficiente de determinacin R2de la regresin mltiple y la distancia Mahalanobis.
D2 =
En el ejemplo de motivacin, 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.
20
Sin embargo, usualmente nosotros conocemos alguna informacin 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 decisin es llamada la regla de Bayes de error mnimo. 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 regresin logstica, clasificacin por rboles y redes neurales. Una formulacin mas conveniente de la regla anterior puede ser obtenida aplicando el teorema de Bayes, el cual afirma que:
P (Ci / x) =
f (x / C i )i f (x)
(3.3)
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 cuadrtico ( ver secciones 2 y 5). Pero algunas veces tambin las f(x/ Ci ) son desconocidas y deben de ser estimadas usando
21
la muestra tomada, como es el caso de estimacin de funciones de densidades usando kernels y los k vecinos ms cercanos. Cuando hay solo dos clases presentes la regla de decisin de error mnimo de Bayes puede ser expresada en la forma de una razn de verosimilitud. As un objeto es clasificado como de la clase C1 si
f (x / C1 ) 2 > f (x / C 2 ) 1
3.1 Aplicacin al anlisis discriminante lineal
(3.5)
Supongamos que tenemos dos clases C1 y C2 distribuidas como Np(u1,1) y Np(u2,2) respectivamente y que adems tienen igual matriz de covarianza 1=2 =. Entonces la ecuacin 5 se convierte en
(3.6)
2 ) (3.7) 1
2 ) 2
(3.8)
La ecuacin (3.8) es similar a la ecuacin (2.3), excepto por el lado derecho. Si consideramos que las probabilidades apriori son iguales ( = ) se obtienen el mismo resultado. 1 2 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 ptalo (petallen) y ancho de ptalo(petalwid), longitud de spalo (sepallen) y ancho de spalo (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
petalwid
22
Group Count
Summary of Classification Put into Group setosa versicol virginic Total N N Correct Proportion N = 150 ....True Group.... setosa versicol virginic 50 0 0 0 49 2 0 1 48 50 50 50 50 49 48 1.000 0.980 0.960 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 sepallen sepalwid petallen petalwid Variable sepallen sepalwid petallen petalwid Pooled Mean 58.433 30.573 37.580 11.993 Pooled StDev 5.148 3.397 4.303 2.047 Means for Group setosa versicol virginic 50.060 65.880 59.360 34.280 29.740 27.700 14.620 55.520 42.600 2.460 20.260 13.260 StDev for Group setosa versicol virginic 3.525 6.359 5.162 3.791 3.225 3.138 1.737 5.519 4.699 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
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 2 ** True Pred Group Group versicol virginic Group Squared Distance 133.067 7.236 5.253 130.862 6.507 8.670 149.030 4.864 8.439 Probability 0.000 0.271 0.729 0.000 0.747 0.253 0.000 0.857 0.143
3 **
116 **
setosa versicol virginic virginic versicol setosa versicol virginic virginic versicol setosa versicol virginic
Hay 3 observaciones mal clasificadas para una tasa estimada de clasificacin errada es del 2% En SAS el procedimento DISCRIM hace el anlisis discriminante. La opcin pool=yes produce el anlisis discriminante lineal y pool=no produce el anlisis discriminante cuadrtico directamente. La opcin pool=test hace primero la prueba de homogeneidad de varianza y luego dependiendo del resultado de la prueba ejecuta un anlisis discriminante lineal o cuadrtico. 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
24
Notar la opcin pool=yes, esto significa que se va a usar una matriz de covarianza combinada ya que se desea un anlsis discriminante lineal. Los resultados que se obtienen son los siguientes
Discriminant Analysis 32 Observations 2 Variables 2 Classes 31 DF Total 30 DF Within Classes 1 DF Between Classes
APRUEBA f p
Frequency 8 24
Analisis discriminante Lineal para el ejemplo1 Discriminant Analysis Covariance Matrix Rank 2 Pooled Covariance Matrix Information Natural Log of the Determinant of the Covariance Matrix 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
25
Analisis discriminante Lineal para el ejemplo1 Discriminant Analysis _ -1 _ Constant = -.5 X' COV X j j Linear Discriminant Function -1 _ X j
Analisis discriminante Lineal para el ejemplo1 Discriminant Analysis WORK.EJEMPLO1 Classification Results for Calibration Data:
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 APRUEBA p p p p Classified into APRUEBA f f f f * * * * f 0.8269 0.7831 0.7020 0.5992 p 0.1731 0.2169 0.2980 0.4008
16 19 21 22
26
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 f 8 100.00 4 16.67 12 37.50 0.5000 p 0 0.00 20 83.33 20 62.50 0.5000 Total 8 100.00 24 100.00 32 100.00
Error Count Estimates for APRUEBA: f Rate Priors 0.0000 0.5000 p 0.1667 0.5000 Total 0.0833
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:
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 Total Percent Priors 0 0.00 0.5000 p 1 100.00 0.5000 Total 1 100.00
El contenido de la salida es bastante similar al que da MINITAB, aunque incluye las frmulas usadas en ella. El siguiente es el programa en SAS correpondiente al ejemplo 2. Los datos estn contenidos en el archivo a:\iris.dat y solo se usarn las variables predictoras petalwid y petallen.
options nodate nonumber; data ejemplo2; infile "a:\iris.dat"; input sepallen sepalwid petallen petalwid proc discrim method=normal pool=test listerr; class especies; var petallen petalwid; run;
especies $;
Frequency 50 50 50
The SAS System Discriminant Analysis Covariance Within Covariance Matrix Information Natural Log of the Determinant
28
N(i) = Number of Observations in the i'th Group - 1 __ N(i)/2 || |Within SS Matrix(i)| = ----------------------------------N/2 |Pooled SS Matrix| _ | 1 = 1.0 - | SUM ----|_ N(i) _ 2 1 | 2P + 3P - 1 --- | ------------N _| 6(P+1)(K-1)
RHO
DF
112.262384
with
6 DF
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
29
Generalized Squared Distance to ESPECIES From ESPECIES setosa versicol virginic setosa 1.09231 287.70701 648.38795 versicol 40.53296 3.49389 16.02714 virginic 78.94804 14.40145 5.32749
ESPECIES: Obs From ESPECIES virginic versicol virginic Classified into ESPECIES versicol * virginic * versicol *
2 3 99
* Misclassified observation The SAS System Discriminant Analysis WORK.EJEMPLO2 Classification Summary for Calibration Data:
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
versicol
virginic
Total Percent
30
Error Count Estimates for ESPECIES: setosa Rate Priors 0.0000 0.3333 versicol 0.0200 0.3333 virginic 0.0400 0.3333 Total 0.0200
La hiptesis de igualdad de matrices de covarianza es rechazada. Solo 3 de las 150 observaciones estn mal clasificadas para una tasa promedio de error es del 2%, an cuando solo se usaron 2 de las 4 variables predictoras
Para hacer anlisis discriminante en S-Plus se puede usar la secuencia de menus: Statistics>Multivariate> Discriminant Analysis. Una segunda alternativa es usar la funcin discrim. Una tercera alternativa es usar la funcin lda de la libreria MASS de Venables y Ripley. Para esto primero se da la instruccin library(MASS) en la ventana de comandos. La funcin discrim esta basada en las funciones lda y qda de MASS. La siguiente instruccin har el anlisis discriminante lineal para el conjunto de datos iris.
ldairis<-lda(especie~.,iris,prior=c(1,1,1)/3)
Estimacin por validacin cruzada. (Stone, 1974) En este caso se divide al azar la muestra en v partes ( v=10 es lo ms 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 validacin cruzada. Es poco sesgado, pero muy variable.
Estimacin "Dejar uno afuera" . (Lachenbruch, `1965) Es una situacin particular del caso anterior con v=n, algo similar tambin 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 observacin de la muestra. La proporcin de
31
observaciones mal clasificadas da el estimado de la tasa de clasificacion errada. La estimacin es poco sesgada pero lamentablemente tiene una varianza muy grande. La computacin de este estimador toma mucho tiempo. La mayoria de programas estadsticos (SAS, MINITAB, SPSS, etc ) dan el error aparente. Estimacin por "Bootstrapping". (Efron, 1983). El mtodo se basa en tomar muestras con reemplazamiento de los datos en la muestra de entrenamiento y de igual tamao que ella. Es casi insesgado y tiene varianza pequea. Tiene la desventaja de que es demasiado costoso calcularlo. Hay varios esquemas de este mtodo: a) Mtodo simple: 1. Se toma una muestra con reemplazamiento y de igual tamao 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 resubstitucin de la muestra de entrenamiento siguiendo los siguientes pasos: 1) Hallar el clasificador usando la muestra original y su error por resubstitucin (eA) 2) Generar una muestra con reemplazo de la muestra de entrenamiento, que tenga su mismo tamao 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 resubstitucin. 8) El estimado de la tasa de clasificacin errada sesgo ser eA+Wboot . Existen tambien los mtodos de doble "bootstrapping" y el estimator .632 ( Ver Efron y Tibshirani (1983), McLachlan, (1992), Webb (1999)). Notar que
32
Breiman (1998) obtuvo la siguiente descomposicin del error de clasificacin 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 descomposicin 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.
(6.7)
1 / 2 Ln(
La versin muestral de lo anterior considerando adems que las probabilidades a priori y 1 2 son iguales es la siguiente
' ' x' ( S2 1 S1 1 )x 2x' ( S 2 1x 2 S1 1x1 ) + ( x2 S2 1 x 2 x1S1 1x1 ) > Ln(
| S1 | ) | S2 |
(6.9)
Aqui la frontera entre las dos clases son curvas cuadrticas (elipses, hiperbolas etc.). Usando simulacin se ha demostrado que cuando hay normalidad la discriminacin cuadrtica es ms eficiente que la lineal para muestras grandes, pero no para muestras pequeas. En el caso de muestras pequeas debe haber una marcada diferencia entre las matrices de covarianza para que la discriminacion cuadrtica sea eficiente ( Marks and Dunn, JASA 1974). Tambin ha quedado probado que cuando no hay normalidad la discriminacin cuadrtica tiene un pobre rendimiento.
33
aprobaci
Summary of Classification Put into Group f p Total N N Correct Proportion N = From Group f p Variable E1 E2 Variable E1 E2 32 ....True Group.... f p 8 2 0 22 8 24 8 22 1.000 0.917 N Correct = 30 Proportion Correct = 0.937
Generalized Squared Distance to Group f p 9.213 15.530 53.201 11.450 Pooled Mean 71.531 63.813 Pooled StDev 13.66 20.34 Means for Group f p 59.500 75.542 34.000 73.750 StDev for Group f p 13.54 13.70 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 1 2 3 4 True Group p p p p Pred Group p p p p Group f p f p f p f Squared Distance 149.71 14.69 131.64 14.23 130.78 14.97 131.68 Probability 0.000 1.000 0.000 1.000 0.000 1.000 0.000
34
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 32
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
p p p p p p p p p p p f p p f p p p p p f f f f f f f f
p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p f p
13.80 120.39 13.18 70.39 11.63 108.56 12.73 78.23 13.07 38.51 13.31 72.20 14.40 66.28 11.87 50.54 17.64 26.06 12.56 73.81 11.66 83.15 12.04 11.11 15.29 36.16 11.74 30.77 12.07 13.13 17.01 29.41 12.01 14.23 13.28 17.09 12.82 20.41 13.12 46.80 11.68 11.62 15.48 12.42 20.69 10.99 14.04 10.58 16.37 9.766 14.639 10.84 17.21 11.71 17.73 9.781 16.985
1.000 0.000 1.000 0.000 1.000 0.000 1.000 0.000 1.000 0.000 1.000 0.000 1.000 0.000 1.000 0.000 1.000 0.001 0.999 0.000 1.000 0.000 1.000 0.890 0.110 0.000 1.000 0.000 1.000 0.874 0.126 0.000 1.000 0.383 0.617 0.106 0.894 0.025 0.975 0.000 1.000 0.873 0.127 0.984 0.016 0.821 0.179 0.948 0.052 0.920 0.080 0.960 0.040 0.953 0.047 0.973 0.027
Prediction for Test Observations Observation 1 Pred Group p From Group Sqrd Distnc Probability f p 33.353 14.998 0.000 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 anlisis discriminante lineal.
35
En el ejemplo 1, la ecuacin de la funcin discriminante cuadrtica, obtenida despues de largos clculos es la siguiente:
2 0.005197 E12 +0.02012 E1 * E 2 +0.016288 E 2 -1.15852E1-2.15804E2+58.0459>0
La grfica de la ecuacin representa una elipse con ejes rotados, slo una parte de ella interesa para determinar las regiones de clasificacin. La siguiente grfica muestra una comparacin entre las funciones discriminante lineal y cuadrtica para los datos del ejemplo 1.
E2
60 50 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 opcin pool=no que produce el anlisis discriminante cuadrtico directamente. La opcin pool=test hace primero la prueba de homogeneidad de varianza y luego dependiendo del resultado de la prueba ejecuta un anlisis discriminante lineal o cuadrtico. 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 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
especies $;
36
37
38
Frequency 50 50 50
39
N(i) = Number of Observations in the i'th Group - 1 __ N(i)/2 || |Within SS Matrix(i)| = ----------------------------------N/2 |Pooled SS Matrix| _ | 1 = 1.0 - | SUM ----|_ N(i) _ 2 1 | 2P + 3P - 1 --- | ------------N _| 6(P+1)(K-1)
RHO
DF
112.262384
with
6 DF
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
40
Discriminant Analysis
2 _ _ -1 _ _ D (i|j) = (X - X )' COV (X - X ) + ln |COV | i j j i j j Generalized Squared Distance to ESPECIES setosa 1.09231 287.70701 648.38795 versicol 40.53296 3.49389 16.02714 virginic 78.94804 14.40145 5.32749
Posterior Probability of Membership in ESPECIES: Obs From ESPECIES virginic versicol virginic Classified into ESPECIES versicol * virginic * versicol * setosa 0.0000 0.0000 0.0000 versicol 0.6926 0.1602 0.8059 virginic 0.3074 0.8398 0.1941
2 3 99
* Misclassified observation The SAS System Discriminant Analysis WORK.EJEMPLO2 Classification Summary for Calibration Data:
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 setosa 50 100.00 0 0.00 0 versicol 0 0.00 49 98.00 2 virginic 0 0.00 1 2.00 48 Total 50 100.00 50 100.00 50
versicol
virginic
41
Error Count Estimates for ESPECIES: setosa Rate Priors 0.0000 0.3333 versicol 0.0200 0.3333 virginic 0.0400 0.3333 Total 0.0200
La hiptesis de igualdad de matrices de covarianza es rechazada. Solo 3 de las 150 observaciones estn mal clasificadas para una tasa promedio de error es del 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:
1 f (x / C1 ) p = 1 p 2 f (x / C 2 )
donde
se obtiene
Si las variables x en cada clase se distribuyen normalmente con igual matriz de covarianza entonces la ecuacin anterior se convierte en
log(
42
log(
o de la forma
p ) = + ' x 1 p
p=
La ecuacin anterior se cumple tambin 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 funcin cuando la variable xk cambia en una unidad adicional asumiendo que las otras variables permanecen constantes. Tambin se puede considerar que exp(bk) es una razn de cambio de la razn de apuestas cuando Xk varia en una unidad adicional. Si Xk es binaria entonces exp(bk) es el cambio en la razn de apuestas cuando ella asume el valor 1. Cuando existe solo una variable predictora, que adems es binaria entonces existe una relacin entre la regresin logstica y el anlisis de una tabla de contingencia 2 X 2.
D = 2 { yi log(
i =1
p 1 p )} ) + (1 yi ) log( 1 yi yi
Si D es mayor que una Ji-Cuadrado con n-p grados de libertad para un nivel de significacin dado entonces el modelo logstico es confiable. El Criterio AIC de Akaike: Se define por
AIC=D+2(k+s) Donde k es es el nmero de valores ordenados para la variable de respuesta y s es el nmero de variables predictoras.
43
Donde g es el nmero 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.
ri =
y i m i pi mi pi (1 pi )
donde, si los valores de la variable de respuesta estn agrupadas, yi representa el nmero de veces que y=1 entre las mi repreticiones de XI El residual de Pearson es similar al residual estudentizado de usado en regresin lineal. As un residual de Pearson mayor que 2 indica un dato anormal. Residuales de Devianza: definidos por
Di = 2sign ( y i mi pi )[ y i log(
m (1 pi ) 1 / 2 mi p i ) + (mi y i ) log( i )] mi y i yi
Si la devianza es mayor que 4 entonces la observacion correspondiente es anormal Uso de la regresin logstica en Clasificacin: Para efectos de clasificacin la manera ms facil de discriminar es considerar que si p>0.5 entonces la obervacin 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 grfica. 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 ms cerca a la esquina superior izquierda, osea al punto (100,0). Estimacin del modelo logstico. Un mtodo para estimar y es el mtodo de mxima verosimilitud. Dado un objeto x, las probabilidades de clases condicionales para las clases C1 y C2 son :
44
P (C1 / x) =
P (C 2 / x) =
respectivamente.
Con una muestra de tamao n=n1+n2 y un parmetro binomial igual a exp( + ' x) /(1 + exp( + ' x) la funcin de verosimilitud es de la forma
L ( , ) =
i =1
n1
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 funcin anterior y son encontrados aplicando mtodos iterativos tales como Newton-Raphson (SAS) o minimos cuadrados reponderados iteraativos (MINITAB, S-Plus).
Si hay separabilidad entre los grupos no hay solucin unica de la funcin de verosimilitud Desventajas de la regresin Logstica Envuelve una gran cantidad de computacin Cuando hay normalidad no clasifica tan eficientemente como la funcion discrimiante lineal
En MINITAB el men de Regresin contiene tres tipos de regresin logistica: regresin logstica binaria (aplicada a dos clases), regresin logstica ordinal ( si hay mas de dos clases) y regresin logstic 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 nio 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 perodo muestral Raza: raza de la madre:1=blanca, 2=negra, 3=otro Fuma: 0 ssi la madre no fuma, 1 si lo hace. Prematur: nmero de partos prematuros de la madre Hiperten: 0 si la madre no sufre de hipertensin, 1 si sufre Uterirrit: 0 si no tiene utero irritado, 1 si lo tiene. Chequeos: nmero de visitas al mdico en los tres primeros meses del embarazo.
45
BAJOPESO 0 1
Count 130 59
Model Fitting Information and Testing Global Null Hypothesis BETA=0 Intercept and Covariates 222.193 251.369 204.193 .
46
Analysis of Maximum Likelihood Estimates Parameter DF Estimate Standard Error Wald Chi-Square Pr > Chi-Square Standardized Estimate
Odds Variable Ratio INTERCPT . EDAD 1.036 PESOMAMA 1.012 RAZA 0.635 FUMA 0.392 PREMATUR 0.582 HIPERTEN 0.160 UTEIRRIT 0.486 CHEQUEOS 0.939
1 1 1 1 1 1 1 1 1
The SAS System The LOGISTIC Procedure Association of Predicted Probabilities and Observed Responses Concordant = 73.8% Discordant = 26.1% Tied = 0.2% (7670 pairs) Somers' D = 0.477 Gamma = 0.478 Tau-a = 0.206 c = 0.738
observaciones mal clasificadas OBS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ID 4 5 13 14 45 46 50 57 65 71 73 86 94 102 132 BAJOPESO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 PHAT 0.48248 0.48423 0.24109 0.43253 0.43200 0.43200 0.40682 0.30465 0.32666 0.44522 0.49172 0.46934 0.16979 0.45456 0.80635 CLASE 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
47
observaciones mal clasificadas OBS 51 52 ID 185 186 BAJOPESO 1 1 PHAT 0.67738 0.58231 CLASE 0 0
52 de las 189 observaciones quedan mal clasificadas para una tasa de error del 27.5%.
48
sensitividad 100.00 15.38 88.14 36.15 79.66 53.85 67.80 67.69 55.93 77.69 47.46 83.08 35.59 89.23 18.64 96.92 13.56 98.46 1.69 99.23 0.00 100.00
especificidad 0.10 84.62 0.20 63.85 0.25 46.15 0.30 32.31 0.35 22.31 0.40 16.92 0.50 10.77 0.60 3.08 0.70 1.54 0.80 0.77 0.90 0.00
(1-especificidad)%
Las grficas de los dos mtodos aparecen en la siguiente figuras y embos caso el p-timo a usarse es p=0.3
Sensitividad
Este es el p-optimo 50
0 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Especificidad
49
En S-Plus para hacer discriminacin logstica con dos clases se usa la funcin glm (modelo lineal general) con la opcin family=binary, y para hacer discriminacin logstica con varias clases se usa la funcin Multinom
Generalizaciones de la logistica
El modelo logistico puede ser escrito como
log(
En el modelo bsico (x)=0+ . Pero existen otras posibilidades para (x). Tales como las x 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 regresin local. d) (x)=0+ ( x) + ( x) + ( x)+ + ( x), esto es 1 1 2 2 3 3 m m 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). e) (x)=0+w1
k1
(xv(1,k)) +w2 1k
donde las funciones son funciones splines. Este es llamada el modelo jk MARS (Mulivariate aadditive regression splines, Friedman (1991)).
k =1
k2
(xv(2,k))+ +wm 2k
k =1
km
(xv(m,k)), mk
k =1
50
La curva ROC
100 0.20 0.25 0.30 0.35 0.10
C13
50
0 0 10 20 30 40 50 60 70 80 90
0.80 0.90
C16
51
f(t ) =
k 2nd k (t )
Ejemplo: Estimar usando 1-nn la funcin de densidad correspondiente al siguiente conjunto de datos.
7.03860 0.40701 6.38018 5.59448 6.95461 5.05751 2.25521 7.24608 6.62930 3.92734
El histograma (normalizado para que el area sea 1) de los datos aparece en la siguiente figura
52
0.25
0.20
Density
0.15
0.10
0.05
0.00 0 1 2 3 4 5 6 7 8
C1
10
fhat(x)
0 0 1 2 3 4 5 6 7 8
Notar que el area debajo de la curva no da 1, habria que normalizar. Cuando se usar k pequeo El estimado tiene muchos picos y cuando k es grande es muy suave. En el caso multivariado, el estimado tiene la forma
53
f(x) =
k (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 ms cercano. Desde el punto de vista de anlisis discriminante el mtodo 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 ecuacin P (Ci / x) =
Entonces, para clasificar un objeto con mediciones dadas por el vector x en la clase Ci se Debe cumplir que
k j j k ii > para ji ni v k ( x ) n j v k ( x )
Asumiendo priors proporcionales a los tamaos de las clases (ni/n y nj/n respectivamente) lo anterior es equivalente a: 1) Hallar los k objetos que estn a ms corta distancia de x, k usualmente es un nmero impar 1 o 3. 2) Si la mayoria de esos k objetos pertenecen a la clase Ci entonces el objeto considerado tambin pertenece a ella. En caso de empate se clasifica al azar. Hay dos problemas en el mtodo k-nn, la eleccin de la distancia o mtrica y la de k. La mtrica ms elemental que se puede elegir es la euclideana d(x,y)=(x-y)'(x-y). Esta mtrica 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 mtodo. Enas y Choi (1996) usando simulacin hicieron un estudio para determinar el k ptimo cuando solo hay dos clases presentes y detreminaron que si los tamaos 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 classificacin 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 Anlisis discriminante usando los k vecinos mas cercanos en SAS y S-Plus
El procedimento DISCRIM de SAS incluye el mtodo de los vecinos ms cercanos basta incluir method=npar por noparamtrico y un valor de k, 1 y 3 son los valores ms usados. Tambin 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.
54
BAJOPESO 0 1
Frequency 130 59
0 0.1850 0.4758 0.4758 0.1850 0.1850 0.4758 0.4758 0.4758 0.4758 0.1850 0.4758 0.4758 0.4758 0.1850 0.1850 0.1850 0.4758 0.4758 0.1850
1 0.8150 0.5242 0.5242 0.8150 0.8150 0.5242 0.5242 0.5242 0.5242 0.8150 0.5242 0.5242 0.5242 0.8150 0.8150 0.8150 0.5242 0.5242 0.8150
1 4 10 12 13 14 15 16 18 19 22 25 27 29 32 33 35 37 39
55
Analisis discriminante usando los k vecinos mas cercanos con k=3 Discriminant Analysis DATOS.EJEMPLO7 Classification Results for Calibration Data:
Resubstitution Results using 3 Nearest Neighbors Posterior Probability of Membership in BAJOPESO: Obs From BAJOPESO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Classified into BAJOPESO 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 * * * * * * * * * * * * * * * * * * * * * *
0 0.4758 0.1850 0.1850 0.4758 0.1850 0.4758 0.4758 0.4758 0.4758 0.4758 0.4758 0.1850 0.4758 0.4758 0.4758 0.1850 0.4758 0.4758 0.4758 0.4758 0.5765 0.5765
1 0.5242 0.8150 0.8150 0.5242 0.8150 0.5242 0.5242 0.5242 0.5242 0.5242 0.5242 0.8150 0.5242 0.5242 0.5242 0.8150 0.5242 0.5242 0.5242 0.5242 0.4235 0.4235
69 70 71 73 79 85 86 87 91 94 102 103 109 110 112 114 117 118 122 128 153 161
* Misclassified observation Analisis discriminante usando los k vecinos mas cercanos con k=3 Discriminant Analysis DATOS.EJEMPLO7 Classification Summary for Calibration Data:
56
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 0 77 59.23 2 3.39 79 41.80 0.5000 1 53 40.77 57 96.61 110 58.20 0.5000 Total 130 100.00 59 100.00 189 100.00
Error Count Estimates for BAJOPESO: 0 Rate Priors 0.4077 0.5000 1 0.0339 0.5000 Total 0.2208
Hay 55 sujetos de los 189 mal clasificados lo cual da una tasa de error del 29%, mucho mayor que el mtodo de kernels S-Plus tampoco tiene una funcin que haga discriminacin por el mtodo de k vecinos ms cercanos. Nuevamente, hemos usado la librera de programas en S-Plus que viene con el libro de Venables y Ripley (1997). La funcin k-nn hace clasificacin 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
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"
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 observacin mal clasificada, el porcentaje de error es 0%. Ejemplo 11. El siguiente es otro ejemplo aplicado a los datos del ejemplo 3, que estn 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
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)
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 anlisis discriminante lineal. El sujeto con las caracteristicas que se dan es clasificado como enfermo (I).
61
Fn ( x ) =
# obs x n
el cual es un estimador de la funcin de distribucin acumulada F(x) de X. Considerando que la funcin de densidad f(x) es la derivada de la funcin de distribucin F y usando aproximacin para derivada se tiene que
F ( x + h) Fn ( x h) (8.1) f( x ) = n n
donde hes un valor positivo cercano a cero. Lo anterior es equivalente a la proporcin de puntos en el intervalo (x-h, x+h) dividido por h. La ecuacin (8.1) puede ser escrita como:
1 n x x f( x ) = 1 K ( h i ) nh i =
donde la funcin 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 parmetro de suavizacin 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
lim h(n) = 0
n
Usualmente, pero no siempre, K(z)0 y simtrico, luego cualquier funcin de densidad simtrica puede usarse como kernel.
62
Entre los kernels ms usados estn: 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.
K ( z) =
1 1 exp( z 2 ) 2 2
En este caso el kernel representa una funcin peso ms 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 K(z)= 0 en otro caso para |z|<1
3 4 5
K(z)= 0
(1
z2 ) 5
Si el parmetro h es muy pequeo entonces el estimador kernel degenera en una coleccin 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 tambin depende del tamao de la muestra, con muestras pequeas se debe escoger un h grande y con muestras grandes se puede escoger un h pequeo. Rosemblatt (1956) demostr que el estimador por kernels es consistente y asntticamente Normal. La medida mas usada del error de estimacin de la funcin de densidad es el MISE( Error cuadrtico integrado medio) definido por,
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 expresin anterior puede ser escrita como, MISE(h)=
Los dos primeros terminos del lado derecho forman el AMISE, la expansin asimpttica del MISE. Minimizando el AMISE en funcin de h (Parzen, 1962) se obtiene
h= [
( z )dz
2
]1 / 5
Aqui, la curvatura ( f " ( x )) dx tambin deber estimada. Notar que cuando la muestra es grande es mas conveniente elegir h pequeo. La mayora de las posibles elecciones para el parmetro ancho de banda h basados en un conjunto de datos X de tamao n dependen de esta estimacin. A continuacin se listan algunas elecciones de h: a)
h=
b)
donde es la desviacin estndar estimada del conjunto de datos y R representa el rango intercuartlico, las constantes provienen de asumir que la densidad desconocida es Normal y un kernel gausiano. Este es bsicamente el mtodo usado por SAS/INSIGHT para estimar la curvatura.
c) h = 1.144n 1 / 5
Otros mtodos mas sofisticados son: d) El mtodo de Sheather y Jones (1991) que propone estimar la curvatura usando tambin el mtodo 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 mtodo. e) Usando validacin cruzada, propiamente dejando uno afuera. Aqui el h es cn considerado como un parmetro que debe ser estimado. Hay dos alternativas, usando minimos cuadrados
64
(aqui se obtiene un estimado insesgado, o maxima verosimilitud (aqui se obtiene un estimador sesgado). Ver Bowman and Azzalini (1997), para una implementacin 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 comparacin de varios metodos de elegir el ancho de banda h y llegan a la conclusin de que sin considerar el "boostrapping", el mtodo d es el de mejor rendimiento. Ejemplo 6. Estimacin de la funcin de densidad de la variable E1 del ejemplo1 con varias selecciones del ancho de banda usando S-Plus En S-Plus, la funcin density es la que produce las estimaciones de la densidad por kernel, aplicando luego la funcin plot se puede graficar la fucnin de densidad estimada. El men Graph de S-Plus contiene una grfica que traza el histograma y la grafica de la funcin de densidad estimada uno de los siguientes kernels: Gaussiano, rectangular, triangular y coseno. La ventana de dilogo que aparece es la siguiente:
65
0.05
0.04
0.04
0.03
0.03
0.02
0.02
0.01
0.01
0.0
40
60
80
100
0.0
0.0
0.01
0.02
0.03
0.04
40
60
80
100
0.025
0.025
0.015
0.015
0.0
0.005
0.0
0.005
20
40
60
80
100
120
0.0
0.01
0.02
0.03
0.04
40
60
80
100
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 pequeo hay muchos picos y que la grafica se suaviza a medida que aumenta el valor de x. El valor h obtenido por el mtodo de Seather-Jones parece ser el que produce el mejor ajuste.
1 f(x) = d nh
K(
i =1
x Xi ) h
Rd
K (x)dx = 1
usualmente, pero no siempre, K ser una funcin de densidad multivariada radialmente simtrica y unimodal. Los kernels ms usados son las versiones multivariadas de los definidos anteriormente. As a) El kernel Gaussiano ser
1 x' x) 2
66
3 1 (1 x' x) 2 si x'x<1
K(x)= 0 en otro caso
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 dimensin 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
densidad estimada
E2 E1
ejemplo 1 en S-Plus. S-Plus de por s no tiene una funcin que haga estimacin de una funcin de densidad en dos variables. Hemos usado la librera de programas en S-Plus que viene con el libro de Venables y Ripley (1997). El siguiente programa hace la estimacin bivariada por kernels guassianos usando el metod de Sheather y Jones para estimar h y luego una grfica de la funcin de densidad estimada.
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 estimacin de densidad y propuso la siguiente modificacin
f(x) =
1 d nh | S |1/ 2
K(
i =1
(x X i )' S 1 ( x X i ) ) h2
donde S es una estimacin de la matriz de covarianza. Esta forma es la que SAS usa para hacer discriminante usando estimacin 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 f( x ) = p nh
j =1 i =1
K(
xi xij h
donde K es un kernel univariado. Un caso ms general es considerar un h distinto para cada variable.
1 f(x) = p nh
donde
K (x, x
j =1
, h)
68
K ( x, x j , h) = h
p d 2 j
(1 h) j (8.2)
d2
donde d 2 es la distancia euclideana al cuadrado entre x y xj , es decir el nmero de elementos j diferentes que tienen entre si, y 1/2 1. Titterington (Technometrics, 1980) estudi varias h 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 xy y el mtodo 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 tambin kernels para datos categoricos ordenados y no ordenados.
69
APROBA f p
Frequency 8 24
Resubstitution Summary using Normal Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) Posterior Probability of Membership in each
-1 2 2 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 f 8 100.00 0 0.00 8 25.00 0.2500 p 0 0.00 24 100.00 24 75.00 0.7500 Total 8 100.00 24 100.00 32 100.00
70
Cross-validation Results using Normal Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) Posterior Probability of Membership in each
-1 2 2 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 APROBA p p f f Classified into APROBA f f p p * * * * f 0.6844 0.6096 0.4392 0.4845 p 0.3156 0.3904 0.5608 0.5155
16 19 27 28
* Misclassified observation
Cross-validation Summary using Normal Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) Posterior Probability of Membership in each
-1 2 2 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
f 6 75.00
p 2 25.00
Total 8 100.00
71
Error Count Estimates for APROBA: f Rate Priors ** 0.2500 0.2500 p 0.0833 0.7500 ** Total 0.1250
Analisis discriminante usando kernel gaussiano, distinto ancho de banda Discriminant Analysis 32 Observations 2 Variables 2 Classes 31 DF Total 30 DF Within Classes 1 DF Between Classes
APROBA f p
Frequency 8 24
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: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) j Posterior Probability of Membership in each
-1 2 2 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
72
Error Count Estimates for APROBA: f Rate Priors 0.0000 0.2500 p 0.0000 0.7500 Total 0.0000
Cross-validation Results using Normal Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) j Posterior Probability of Membership in each
-1 2 2 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 APROBA p f f Classified into APROBA f p p * * * f 0.6481 0.4519 0.4840 p 0.3519 0.5481 0.5160
16 27 28
* Misclassified observation
Cross-validation Summary using Normal Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) j Posterior Probability of Membership in each
-1 2 2 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
73
Number of Observations and Percent Classified into APROBA: From APROBA f f 6 75.00 1 4.17 7 21.88 0.2500 p 2 25.00 23 95.83 25 78.13 0.7500 Total 8 100.00 24 100.00 32 100.00
Error Count Estimates for APROBA: f Rate Priors 0.2500 0.2500 p 0.0417 0.7500 Total 0.0938
** Analisis discriminante usando kernel Epanechnikov, distinto ancho de banda Discriminant Analysis 32 Observations 2 Variables 2 Classes 31 DF Total 30 DF Within Classes 1 DF Between Classes
**
APROBA f p
Frequency 8 24
Resubstitution Summary using Epanechnikov Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) j Posterior Probability of Membership in each
-1 2 2 F(X|j) = n SUM ( 1.0 - D (X,Y ) / R ) j i ji Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k) j k k
74
Number of Observations and Percent Classified into APROBA: From APROBA f f 8 100.00 1 4.17 9 28.13 0.2500 p 0 0.00 23 95.83 23 71.88 0.7500 Total 8 100.00 24 100.00 32 100.00
Error Count Estimates for APROBA: f Rate Priors 0.0000 0.2500 p 0.0417 0.7500 Total 0.0313
Cross-validation Results using Epanechnikov Kernel Density Squared Distance Function: APROBA: 2 -1 D (X,Y) = (X-Y)' COV (X-Y) j Posterior Probability of Membership in each
-1 2 2 F(X|j) = n SUM ( 1.0 - D (X,Y ) / R ) j i ji Pr(j|X) = PRIOR F(X|j) / SUM PRIOR F(X|k) j k k
16 25 27
* Misclassified observation
Cross-validation Summary using Epanechnikov Kernel Density Squared Distance Function: APROBA: Posterior Probability of Membership in each
75
Error Count Estimates for APROBA: f Rate Priors 0.2500 0.2500 p 0.0417 0.7500 Total 0.0938
El discriminante lineal produce un error del 6.25% usando validacin cruzada-1. Mientras que usando estimacin de densidad por kernel, con anchos de bandas distintos para cada variable se obtiene 9.38% de error usando kernels gaussinao y Epanechnikov y validacin cruzada-1. El error de clasificacin es del 12.50% si se usa kernel gaussiano con igual ancho de banda para cada variable. Ejemplo 9. Efecto en el error de clasificacin 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 anlisis discriminante cuando el vector de variable predictoras contenga variables discretas y continuas. Mas especificamente en nuestro caso
f ( x, y ) =
x x y y 1 n 1 K ( h i ) B( h i ) n i= 1 2
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 funcin kda en S-Plus que hace clasificacin por kernels productos para dos variables predictoras, una discreta y otra continua.
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 funcin kda llama a las funciones hsj ( de la libreria sm) y miixkernel y hbin descritas a continuacin 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 mtodo de Seather y Jones, que aparece en la librera MASS (aunque escalado por 4), en la librera sm y en la libreria Ksmooth de Wand (ver la funcin 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 funcin hbin calcula el ancho de banda por el mtodo de validacin cruzada 1, como fue recomendado por Aitchison y Aitken y encontrado explicitamente por Titterigton.
77
La siguiente linea de comandos calcula los anchos de banda para cada variable en cada grupo y el anlisis 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 resubssitucin es del 9.38%, menor que en el caso anterior. Tambin se puede estimar el error de mala clasificacin por validacin cruzada 10 y boostraping. A continuacin 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])
78
sesgo[B]<-actual-aparente B<-B-1 } sesgo bootsesgo<-mean(sesgo)*100 bootsesgo booterror<-9.38+bootsesgo > booterror [1] 18.4425 >
= { f ( x i ) / g } i
donde g es la media geomtrica de las f(xi), es decir log(g)=log(f(xi)/n , y es un parmetro de sensitividad, ( 0 1). c) El kernel adaptivo se define por
x xi 1 n 1 f( x ) = d d K ( ) n i =1 h h i i
Usualmente el estimado piloto de la funcin de densidad es una mezcla finita gaussiana o el estimador por los vecinos mas cercanos, Breiman, et.al (Technometrics, 1977)
79
Mezclas Gaussianas: En este caso la duncin de densidad condicional por clase del vector de variables predictoras es considerada como una combinacin normal de distribuciones multivariadas con distintos vector de medias pero con igula matriz j de covarianza Mas especificamente,
f ( x / C j ) = (2 ) 1 / 2 i exp( ( x j )' 1 ( x j ) / 2)
i =1
M es el nmero de componentes de la mezcla. Los parmetros de la mezcla son estimados usando el algoritmo EM y el nmero de componenentes puede ser estimado por el algoriumo k-means o LVQ, ver Hastie y Tibshirani (1994) para ms detalles. Ellos construyeron la funcin mda en Splus hace anlisis discriminante por mezclas gaussianas.
80
81
p (i / t ) p( j / t )
i j
82
donde P(k/s)={#iN: Xi s y Yi=k}/{#iN: Xi s} y ij. Tambin se puede usar la Entropia como criterio de impureza, definido por
i(t)= -j p(j/t)log[p(j/t)]
CART tambin usa la regla twoing, especialmente cuando hay ms de dos clases, en este caso estando en el nodo t se elige la divisin 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 tamao de muestra nik de una distribucin multinomial pik. Luego, la funcin de verosimilitud es proporcional a
#dehojas # declases
i =1
pik
nik
k =1
Entonces una medida de Devianza esta dada por el negativo del doble del logaritmo de la funcin de verosimilitud. Es decir
D= 2
# dehojas #declases
i =1
n
k =1
ik
log( pik )
Donde pik puede ser estimado por pik = nik / ni . Considerar que el nodo s se divide en los nodos R y L, entonces la reduccin del la Devianza del rbol se define por
Ds-DL-DR=-2[
i s
# declases k =1
i L
# declases k =1
n
i R k =1
# declases
ik
log( pik ) ]
La estrategia para dividir es elegir la divisin que maximiza la reduccin de la Devianza en el nodo dado.
83
La funcin tree de Splus para cuando el nmero de observaciones en cada nodo terminal es menor que 10 o hasta que la reduccin 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 ms que se pueda luego podarlo hacia arriba Para cualquier rbol T y cualquier 0, una medida del mrito de T ( o medida de costocomplejidad) es R (T)= Resub(T) + |T| Donde Resub(T) es estimado por resubsitucin de la tasa de clasificacin errada de T y |T| es el nmero nodos terminales de T. Cuando =0 se obtiene el rbol ms 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 validacin cruzada, en particular la validacin cruzada de 10 hojas es la ms usada. Breiman, et. al. Recomiendan usar validacin cruzada 10 para estimar el error de clasificacin. 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 pequeas el "boostrapping" podria ser usado.
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
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 estn en un grupo, entonces n1,P=24, n1,F=8 y n1=32 y p1, P =24/32=0.75 y p1, F =8/32=0.25. Asi que la devianza D=2[24log(0.75)+8log(0.25)=35.99. En la primera particin n1,P=20, n1,F=0 y n1=20 n2,P=4, n1,F=8 y n2=12
P
E1<63
Your text
F
f p
86
Notar que el error de clasificacin es 9.37% Ejemplo 13. En el siguiente program se aplica clasificacin por rboles a los datos del ejemplo 3. Adems se usa clasificacin cruzada para mejor la estimacin 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
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
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"
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
Notar que hay un error del clasificacin del 15.5%, usando validacin cruzada
90
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 funcin de uno o ms argumentos. El simbolo dentro de la caja indica el tipo de funcin. Las flechas indican que el punto de partida de la flecha es un argumento de la funcin 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, mxima verosimiltud o algn otro criterio de estimacin.
Input
Output
Target
Variable Independiente
Valor Predicho
Variable Dependiente
Figura 1. Red Neural para regresin lineal Simple 10.1 El "Perceptron" simple Un "percenton" es un modelo de una neurona. En terminos de redes neurales un "perceptron" calcula una combinacin lineal de inputs (posiblemente con un intercepto, que es llamado el temino sesgo). Luego, una funcin de activacin, la cual es por lo general no lineal es aplicada a esta combinacin lineal para producir un output. Es decir el output yj es
yj = f j(
inputs:i
w x)
ij i
fj representa a la funcin de activacin y wij son los pesos, que los estadsticos llamamos parmetros, La red neural aprende los pesos de los datos que se han recolectado.
92
Tabla de funciones de Activacin Nombre Lineal Logstica Gaussiana Threshold Funcin Act(x)=x Act(x)=(1+e-x)-1 Act(x)=e-x2/2 Act(x)=0 si x<0, 1 en otro caso
En las siguientes figuras se muestran perceptron que son usadas en regresin logstica y anlisis discriminante respectivamente, este ltimo tambin es llamado ADELINE (Adaptive Linear Element, ver Widrow and Hoff (1960). En clasificacin, se prefiere usar una variable binaria yj para representar la clase j, y fj es una funcin threshold o la funcin logstica. En regresin lineal fj (w)=w.
Inputs
X1
Output
Target
W1
Variable Dependiente
93
Inputs
X1
Output
Target
X2
10.2 El "Perceptron" de multiple niveles (MLP) Una red neural de dos niveles puede ser escrita en dos ecuaciones
z j = ( j + h
y k = ( k + o
w
i
j
ij
xi )
xi )
ik
Aqui zj son las unidades del nivel escondido (Hidden Layer) , yk las unidades de salida, y o h son funciones de activacin. Casi siempre es la funcin logstica, tambin conocida como la h funcin de activacin sigmoidal, puede ser lineal, logstica o threshold. Sustituyendo la o primera ecuacin en la segunda se obtiene
y k = ( k + o
w
j
jk
( j + h
w
i
ij
xi ))
donde wij y i representan los pesos, es una funcin de activacin tipicamente logstica y es h o una funcin de activacin usualmente lineal, logistica o "threshold".
94
El MLP tambin es llamado red de alimentacin hacia adelante (FFNN) o red de propagacin hacia atras.
(y
i =1 j =1
i j
y ij ) 2
con respecto a los pesos (j, wij) Para clasificacin: Se minimiza la funcion entropia cruzada E=
[y
i j
ij
log y ij + (1 y ij ) log(1 y ij )]
Mtodos de Minimizacin 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
E ( w) = (
dE ( w) dE ( 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 travs del aloritmo de "Backpropagation". Una aproximacin 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 )
Tambin se puede usar una aproximacin de segundo orden que involucra el uso de la matriz Hessiana H-1= E de segundas derivadas. E puede ser minimizada usando mtodos de anlisis numrico y modelos nolineales incluyendo: Gradiente Descendente, mtodos Quasi-Newton (recomendado si el nmero de pesos es menor de 1000), Mtodo Gradiente Conjugado (recomendado si hay una gran cantidad de pesos a ser estimados) y "Simulated Annealing", Algoritmos Genticos.
95
La mayor dificultad de minimizar E es la presencia de multiples mnimos y el riesgo de elegir uno de ellos que no sea optimo.A menudo es necesario reempezar el proceso de minimizacin usando distintos valores iniciales.
96
y = +
(|| x
j j j =1
c j ||)
donde cj son centros pre-especificados, y j son pesos a ser estimados, las son las funciones j bases usualmente se consideran las mismas para todo j y las mas usadas son la gaussiana (r)=exp(-r2/2), la cuadrtica r 2 + ar + b y la "thin plate spline" (r)= (r)=r2log(r). El modelo es muy similar a mezclas gaussianas y a estimadores de densidad por kernel. Los centros son elegidos usando anlisis por conglomerados, knn, mezclas normales o minimos cuadrados ortogonales y el nmero de componentes m es elegido de tal manera que no ocurra "underfit" o "overfit" y usualmente se aplica validacin cruzada.
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
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 clasificacin 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]
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
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%
101
102
REFERENCIAS 1. Acua, 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 knearest 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. SpringerVerlag, New York.
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.