Revista de Matema´tica: Teor´ıa y Aplicaciones 1999 6(1) : 35–50 cimpa – ucr – ccss issn: 1409-2433 ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software William Castillo Elizondo∗– Oldemar Rodr´ıguez Rojas† Recibido: 23 Octubre 1998 Resumen El propo´sito de este art´ıculo es presentar una implementacio´n computacional del Ana´lisis Discriminante Descriptivo. Para ello hemos desarrollado los aspectos teo´ricos que nos permiten formular el algoritmo que ha sido programado en C++. Finalmente se ilustra el funcionamiento del software y el me´todo, mediante un ejemplo. Palabras clave: Ana´lisis discriminante, algoritmo, variable discriminante, grupo a priori, baricentro. Abstract The objective of this article is to present a computational implementation of the Descriptive Discriminant Analysis. We have developed some theoretical aspects in or- der to formulate an algorithm that was implemented using C++. Finally, the method and the software are illustrated by an example. Keywords: Discrimination, algorithm, discriminant variable, a priori group, baricenter. AMS Subject Classification: 62-07,62H30,68N99. 1 Introducio´n Un problema de Ana´lisis Discriminante (tambie´n decimos: un problema de discriminacio´n) se presenta cuando es necesario ‘explicar’ una variable cualitativa con base en un cierto nu´mero de variables cuantitativas llamadas variables explicativas o predictores. Pero es ∗ CIMPA, Escuela de Matema´tica, Universidad de Costa Rica, 2060 San Jose´, Costa Rica; Tel.: +(506) 2075574, Fax: +(506) 207 4397; E-Mail: wcastill@cariari.ucr.ac.cr † CEREMADE, Universite´ de Paris IX-Dauphine, Place du Mare´chal de Lattre de Tassigny, 75775 Par´ıs Cedex 16, Francia. E-Mail: orodrigu@ceremade.dauphine.fr 35 36 w. castillo – o. rodr´ıguez bien conocido que existe una amplia gama de me´todos para hacer discriminacio´n en presen- cia de predictores cualitativos [1]. Uno de estos me´todos, importante por sus aplicaciones, es el me´todo ‘Disqual’ de G. Saporta usado para el ca´lculo de puntajes (credit scoring) [6]. El Ana´lisis Discriminante se puede entender como un conjunto de me´todos y proce- dimientos estad´ıstico-matema´ticos orientados a la bu´squeda de dos objetivos, que pueden ser complementarios: 1. Determinar si las variables observadas permiten distinguir (discriminar) los r grupos a priori. Este objetivo es de cara´cter descriptivo y se relaciona con el Ana´lisis en Componentes Principales. Es natural entonces que se de´ la mayor importancia a la construccio´n de representaciones bidimensionales de los individuos, de las variables y de los grupos a priori. 2. Construir reglas de clasificacio´n -reglas decisionales- para asignar cada nuevo objeto a uno de los grupos a priori. Este objetivo es de cara´cter decisional y su nexo es con los me´todos probabil´ısticos. Esencial a este e´nfasis es la construccio´n de reglas de decisio´n y los procedimientos para su evaluacio´n Este art´ıculo trata el Ana´lisis Discriminante solo en relacio´n con el primer objetivo. Es decir, desde un punto de vista descriptivo, por eso le llamaremos Ana´lisis Discriminante Descriptivo (ADD). En la seccio´n siguiente se presentara´n las definiciones y resultados concernientes al ADD. En la seccio´n 3 se halla un algoritmo a partir del cual se desarrollo´ la implementacio´n computacional tal como se explica en la seccio´n 4. Por u´ltimo en la seccio´n 5, se usa un ejemplo para ilustrar la aplicacio´n del software y algunos aspectos metodolo´gicos del ADD. 2 Propiedades y resultados del ADD Se consideran p variables continuas (variables explicativas) x1, . . . , xp observadas en una muestra E de n individuos. Cada individuo i ∈ E se identifica con su vector de medi- ciones en Rp, xi = (xi1, . . . , xip) y cada variable xj con su vector de valores asumidos xj = (x1j , x2j , . . . , xnj)t. La variable cualitativa Y (a explicar) determina una particio´n de E, P = {E1, . . . , Er}; cada clase Ei se llama categor´ıa o grupo a priori. 2.1 Definiciones ba´sicas Se supondra´ que las variables { x1, . . . , xp } ⊂ Rn son centradas. V = XtDX es la matriz de correlaciones de las p variables x1, . . . , xp, donde D = diag(pi) es la matriz diagonal de pesos de los individuos y X = [ x1 · · · xp]. W = ∑r l=1 ∑ i∈El pi (xi − gl) t (xi − gl) es la matriz de inercia intraclases, donde gl = ∑ i∈El pi ql xi con ql = ∑ i∈El pi el peso de la clase El. B = ∑r l=1 qlg t lgl es la matriz de inercia interclases. ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 37 inter(xj) = ∑r l=1 qlg 2 jl es la varianza interclases de la variable x j = (x1j , . . . , xnj)t con respecto a la particio´n P = {E1, . . . , Er} , donde gjl es la entrada j de gl. Por su parte la varianza intraclases de xj es: intra(xj) = ∑r l=1 ∑ i∈El pi (xi − gjl) 2 . Son bien conocidas las siguientes relaciones: ([2]) Teorema 1: 1. B = CtgDqCg, donde Cg es la matriz r× p cuyas filas son g1, . . . , gr y Dq = diag(ql). 2. 0 = ∑r l=1 qlgl. Es decir, Cg es de rango ≤ r − 1. 3. rango(Cg) = rango(B) ≤ r − 1 y si r = 2, entonces rango(B) = 1. 4. V = B +W. 5. var(z) = αtV α = αtWα+ αtBα para todo z = Xα ∈ Rn. 6. intra(z) = αtWα e inter(z) = αtBα. 2.2 Ca´lculo de las funciones discriminantes: un ACP particular El objetivo principal del ADD consiste en determinar m variables z1, . . . , zm llamadas funciones discriminantes, que poseen (y son determinadas por) las propiedades siguientes (ver [2]): 1. Cada zj ∈ Rp es una combinacio´n lineal de las p variables. Esto es, zj = p∑ s=1 αjsx s = Xαj , donde αj = (αj1, . . . , αjp) t ; j = 1, . . . ,m. 2. Las variables zj son D ortonormadas. Es decir, no correlacionadas y de varianza 1. 3. Los valores de cada variable zj en los individuos de un mismo grupo, deben ser lo ma´s pro´ximos posible. Es decir, se debe minimizar intra(zj) (la varianza intraclases). 4. Los valores de cada variable zj en los individuos pertenecientes a clases distintas, deben ser lo ma´s diferentes posible. Esto es, se debe maximizar inter(zj) (la varianza interclases). De acuerdo con la ecuacio´n 1 = Var(z) = αtV α = αtBα + αtWα se ve que las propiedades 3. y 4. de las funciones discriminantes son equivalentes: max { αtBα ∣∣αtV α = 1}⇔ min{αtWα ∣∣αtV α = 1} . 38 w. castillo – o. rodr´ıguez Diremos que (α1, λ1) es la primera solucio´n del problema de ma´ximo (salvo por el signo de α1) si λ1 = αt1Bα1 = max { αtBα ∣∣αtV α = 1} . La primera variable discriminante es z1 = Xα1. Las otras variables discriminantes se obtienen resolviendo el problema de ma´ximo secuencialmente, con restriccio´n de V − ortogonalidad sobre α. Esto es, (αk, λk) es la k−e´sima solucio´n si λk = αtkBαkmax { αtBα ∣∣ αtV α = 1, αtV αs = 0, s = 1, . . . , k − 1} . donde los α1, . . . , αk−1 fueron previamente calculados. As´ı, λk es la inercia interclases de la k−e´sima variable discriminante. No´tese que λk ∈ [0, 1] . Se va a probar que las variables zj se obtienen a partir de un ACP y que las representa- ciones bidimensionales de los individuos, de las clases y de las variables son consecuencia de este resultado. Estas representaciones ayudan a verificar si las variables discriminan las clases a priori y si es posible describirlas en te´rminos de las variables originales. Teorema 2: Sea X de rango p –es decir, V es invertible–. Si β1, . . . , βt son los vectores propios V −1− ortonormados del ACP del triplete (Cg, V −1,Dq), entonces las variables discriminantes son zj = XV −1βj , j = 1, . . . , t. Prueba: Sea β = V α entonces ‖α‖V = ‖β‖V −1 e inter(z) = αtBα = βtV −1BV −1β. Es claro entonces que max { αtBα |‖α‖V = 1, α ∈ Rp } = max { βtV −1BV −1β | ‖β‖V −1 = 1, β ∈ Rp } . Por otra parte, βtV −1BV −1β = βtV −1 ( CtgDqCg ) V −1β es la inercia de la nube de baricentros de las clases (es decir, las filas de la matriz Cg), V −1 proyectada sobre la recta determinada por β. De lo anterior es claro que los vectores propios V −1− ortonormados del ACP del triplete ( Cg, V −1,Dq ) proveen la solucio´n al problema de ma´ximo. Sean β1, . . . , βt dichos vectores propios asociados a los valores propios λ1 ≥ · · · ≥ λt > 0. Definiendo αj = V −1βj resulta que las variables zj = Xαj = XV −1βj , j = 1, . . . , t son D− ortonormadas y satisfacen las otras propiedades que caracterizan las variables discriminantes1. Cada valor propio λl se llama poder discriminante y el vector propio correspondiente βl, eje discriminante. Los ejes discriminantes son entonces los ejes de ma´xima inercia de la nube de baricentros. En este sentido decimos que son los ejes que ma´s discriminan los grupos a priori. El siguiente teorema tiene un intere´s pra´ctico en la implementacio´n computacional del ADD. Se sabe que el proceso de diagonalizacio´n de una matriz representa un esfuerzo computacional significativo. Para lograr ma´s eficiencia en ese proceso se debe procurar diagonalizar siempre una matriz sime´trica del menor taman˜o posible, au´n cuando poste- riormente se deban hacer ciertas transformaciones. El teorema 3 nos garantiza que esto siempre es posible en ADD [4]. 1Mediante un procedimiento similar al empleado en la prueba del teorema 2, se pueden deducir las funciones discriminantes resolviendo el problema de ma´ximo max { utBu utWu | u 6= 0 } , el cual es equivalente a: max { vtBv ∣∣ vtWv = 1} . ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 39 Teorema 3: Sea C = CtgD 1 2 q , p× r. 1. Se tiene que B = CCt 2. Sean w1, . . . , wt tales que CtV −1Cwj = λjwj con λj 6= 0 y wtjIrws = δjs. Entonces existen β1, . . . , βt tales que BV −1βj = λjβj y βtjV −1βs = δjs. 3. Rec´ıprocamente, sean β1, . . . , βt tales que BV −1βj = λjβj con λj 6= 0 y βtjV −1βs = δjs. Entonces existen w1, . . . , wt tales que CtV −1Cwj = λjwj con wtjIrws = δjs. 4. Existe una matriz S tal que SBV −1S−1 = HBH donde H = U∆− 1 2U t con U = (u1, . . . , up), ∆ = diag(µi) y u1, . . . , up son los vectores propios de V aso- ciados a µ1 ≥ · · · ≥ µp > 0. Los vectores propios de BV −1, V −1 ortonormados son: βj = H−1wj donde los wj son los vectores propios de HBH, Ip ortonormados. Prueba: 2. Definiendo βj = Cwj√ λj se obtiene el resultado. 3. Definiendo wj = 1√ λj CtV −1βj se obtiene el resultado. 4. Se sabe que V −1 = ( U∆− 1 2U t )2 = H2 por lo tanto BV −1 ∼ HBV −1H−1 = HBH. De aqu´ı sigue que BV −1βj = λjβj con βj = H−1wj. Adema´s, βjV −1βs = wtjH −1V −1Hws = wtjIpws = δjs. 2.3 Representaciones en ADD A partir de los resultados obtenidos con el teorema 2, se pueden construir las siguientes representaciones bidimensionales para el caso de ma´s de dos grupos a priori. Es decir, r > 2. 2.3.1 Representacio´n de los grupos a priori Hemos visto que el ADD se puede interpretar como la bu´squeda de los ejes (en Rp) ma´s discriminantes de los grupos a priori, en el sentido de maximizacio´n de la inercia interclases (teorema 2). Estos ejes son los vectores propios del ACP de ( Cg, V −1,Dq ) , lo que nos permite al mismo tiempo calcular las funciones discriminantes. Para obtener las representaciones bidimensionales de los baricentros de los grupos, se proyectan e´stos, V −1− ortogonalmente sobre los planos principales del ACP. De lo anterior sigue que la coordenada del baricentro gl del grupo El, sobre el eje j− e´simo es: coordj (gl) = glV −1βj . 2.3.2 Representacio´n de las variables como son definidas por los grupos a priori Las columnas de la matriz Cg representan las variables tal como son determinadas por los grupos a priori ya que cada columna yj de Cg es el vector (gj1, . . . , gjr), donde gjl es el promedio de la variable xj en el grupo El. Se les llamara´ variables promedio. 40 w. castillo – o. rodr´ıguez Por las fo´rmulas de dualidad del ACP se sabe que las columnas de la matriz (β1 . . . βt)D√λ son las coordenadas de las columnas y j de Cg. Es decir, coords ( yj ) = √ λsβjs para j = 1, . . . , p y s = 1, . . . , t. Superponiendo el gra´fico de los grupos a priori y el de las variables promedio, es posible analizar la influencia de las variables en la determinacio´n de los grupos a priori. 2.3.3 Representacio´n de los individuos Los individuos se proyectan en suplementario sobre los ejes discriminantes. Es decir, sobre los ejes principales del ACP de ( Cg, V −1,Dq ) . Sea xi el i−e´simo individuo, su coordenada sobre el j− e´simo eje es coordj (xi) = xiV −1βj . Es claro que el vector de coordenadas de los individuos sobre el j− e´simo eje es la funcio´n discriminante zj. 2.3.4 Representacio´n de las variables Las variables se representan en el sistema D− ortonormado determinado por las variables discriminantes. La coordenada de la variable xj (columna j− e´sima de X) sobre el eje s− e´simo es: coords ( xj ) = xjDzs = βjs. En efecto, como zs = XV −1βs entonces el vector de coordenadas de las variables en la direccio´n de la variable discriminante zs es, XtDzs = XtDXV −1βs = βs. Si las variables son estandarizadas (varianza igual a 1) entonces coords ( xj ) = corr ( xj, zs ) y las variables se pueden representar como en ACP normado, en un c´ırculo de correlaciones. 2.3.5 El caso de dos grupos a priori Cuando solo hay dos grupos a priori, las representaciones se simplifican ya que el rango de B (y por tanto el de BV −1) vale 1. En este caso g2 − g1 es un vector propio de BV −1 asociado al u´nico valor propio q1q2 ‖g2 − g1‖V −1 . Se puede leer una prueba de este resultado por ejemplo en [7]. En consecuencia, las representaciones tanto de los individuos y baricentros como de las variables, se hacen sobre una recta. 2.3.6 Indices de calidad La calidad de la discriminacio´n en un subespacio principal de dimensio´n q es el porcentaje de inercia explicada: 100 ∑q j=1 λj Inercia Total = 100 ∑q j=1 λj∑t j=1 λj donde t es el nu´mero de valores propios positivos del ACP de ( Cg, V −1,Dq ) . La calidad de la representacio´n de los baricentros y de los individuos en cada eje discriminante se mide por medio de los cosenos cuadrados de la misma forma como se hace en ACP. Las fo´rmulas para el ca´lculo de estos cosenos son: ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 41 • Baricentros: cos2 (gl, s) = ‖Prs (gl)‖2V −1 ‖gl‖2V −1 = ∥∥(glV −1βs)βs∥∥2V −1 glV −1gtl = ( glV −1βs )2 glV −1gtl . • Individuos: cos2 (i, s) = ‖Prs (xi)‖2V −1 ‖xi‖2V −1 = ∥∥(xiV −1βs)βs∥∥2V −1 xiV −1xti = ( xiV −1βs )2 xiV −1xti . 3 Algoritmo para la implementacio´n computacional del ADD En esta implementacio´n se usaron las mismas notaciones introducidas en el texto prece- dente y se asume que todos los individuos tienen peso igual: pi = 1n , i = 1, 2, . . . , n. El nu´mero de grupos a priori debe ser mayor que 2, es decir r > 2. Para el ca´lculo de los cosenos de individuos y baricentros, se utilizaron las identidades: xiV −1xti = t∑ h=1 [coordh(xi)] 2 y glV −1gtl = t∑ h=1 [coordh(gl)] 2 . 1. Operacio´n de centraje y reduccio´n: 1.1 Para j = 1, . . . , p se calcula xj = 1n ∑n i=1 xij y σ 2 j = 1 n ∑n i=1 x 2 ij − ( xj )2 . 1.2 Para i = 1, . . . , n y j = 1, . . . , p se sustituye la entrada xij de X por xij − xj para el centraje, y por xij−x j σj para la reduccio´n. 2. Baricentros de los grupos: para l = 1, . . . , r; j = 1, . . . , p calcular gjl = 1nl ∑ i∈El xij donde nl = |El| . 3. Calcular V = 1nX tX = (vij)p×p, donde vij = 1 n ∑n s=1 xsixsj para i, j = 1, . . . , p. 4. Calcular V −1 : 4.1 Para V calcular sus valores propios µ1 ≥ · · · ≥ µp > 0 y los vectores propios correspondientes u1, . . . , up, Ip− ortonormados. 4.2 Sea V −1 = (tij) ; para i, j = 1, . . . , p; calcular tij = ∑p s=1 1 µs uisujs, con uts = (u1s, . . . , ups) . 5. Sea C la matriz definida en el teorema 3. Si r ≤ p calcular A = CtV −1C, sus valores propios no nulos, los vectores propios Ir− ortonormados, y los βj correspondientes (ver la prueba del teorema 3, parte 2.): 5.1 Para l, k = 1, . . . , r calcular ( CtV −1C ) lk = √ nlnk n p∑ b=1 gbk  p∑ f=1 gfl tfb  42 w. castillo – o. rodr´ıguez 5.2 Calcular los valores propios λ1 ≥ · · · ≥ λt > 0 de A y los vectores propios correspondientes w1, . . . , wt, Ir− ortonormados. 5.3 Calcular βj = Cwj√ λj : Es decir, para j = 1, . . . , t y s = 1, . . . , p calcular: βsj = 1√ nλj r∑ k=1 √ nkgskwkj. 6. Si r > p calcular A = HBH y sus valores propios no nulos, sus vectores propios Ip− ortonormados y los βh correspondientes (ver teorema 3, parte 4.): 6.1 Ca´lculo de B y H: para i, j = 1, . . . , p calcular 6.1.1 Bij = 1n ∑r s=1 nsgisgjs 6.1.2 Hij = ∑p k=1 1√ µk uikukj 6.2 Ca´lculo de HB y HBH : 6.2.1 para i, j = 1, . . . , p calcular (HB)ij = ∑p s=1HisBsj 6.2.2 para i, j = 1, . . . , p calcular (HBH)ij = ∑p s=1 (HB)isHsj 6.3 Calcular los valores propios λ1 ≥ · · · ≥ λt > 0 de A y los vectores propios correspondientes w1, . . . , wt, Ip− ortonormados. 6.4 Ca´lculo de βj = H−1wj : para j = 1, . . . , t, s = 1, . . . , p calcular βsj = ∑p k=1wkj [∑p h=1 √ µhushuhk ] . 7. Ca´lculo de coordenadas: 7.1 Baricentros: para s = 1, . . . , t; l = 1, . . . , r; calcular coords (gl) = ∑p j=1 βjs ∑p k=1 gkltkj. 7.2 Individuos: para s = 1, . . . , t; i = 1, . . . , n; calcular coords (xi) = ∑p j=1 βjs ∑p k=1 xiktkj. 7.3 Variables: para s = 1, . . . , t; j = 1, . . . , p; calcular coordzs ( xj ) = βjs. 8. Ca´lculo de los cosenos cuadrados: 8.1 Individuos: para s = 1, . . . , t; i = 1, . . . , n; calcular cos2 (i, s) = [ coords(xi)]2∑t h=1[coordh(xi)] 2 . 8.2 Baricentros: para s = 1, . . . , t; l = 1, . . . , r; calcular cos2 (l, s) = [ coords(gl)]2∑t h=1[coordh(gl)] 2 . ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 43 4 Acerca de la implementacio´n [5] El algoritmo anterior fue implementado en lenguaje C++ utilizando la Programacio´n O- rientada a Objetos. Se programaron las clases Matriz, TablaDatos, MatrizV, MatrizA, Plano-Principal, CirculoCorrelacion, CosenosIndividuos y CosenosVariables. La clase Matriz se encarga de aspectos comunes a todas las clases, como son manipular la matriz en memoria, guardarla y recuperarla de disco, adema´s tiene me´todos para calcular estad´ısticas ba´sicas como la media, la correlacion, la desviacio´n esta´ndar entre otras. La clase TablaDatos hereda de la clase Matriz y se encarga de ma- nipular la tabla datos y la variable cualitativa. Tiene me´todos (adema´s de los heredados) para centrar y reducir la tabla, para calcular y almacenar los baricentros de los grupos (paso 2 del algoritmo). La clase MatrizV hereda de la clase Matriz y se encarga de los pasos 3 y 4 del algoritmo, es decir, tiene me´todos para calcular V , V −1 y los valores y vectores propios de V . La clase MatrizA hereda de clase MatrizV y se encarga de los pasos 5 y 6 del algoritmo por lo que tiene me´todos para calcular tanto la matriz A como los βj . Los me´todos para calcular los valores y vectores propios los hereda de la clase MatrizA. La clase PlanoPrincipal hereda de la clase Matriz y tiene me´todos para calcular las coorde- nadas de los individuos y de los baricentros (pasos 7.1 y 7.2 del algoritmo), as´ı como para generar el plano principal en formato LATEX y en formato Windows. Similarmente, la clase CirculoCorrelacion hereda de la clase Matriz y tiene me´todos para calcular las coor- denadas de las variables (paso 7.3 del algoritmo) y para generar el c´ırculo de correlacio´n en formato LATEX y en formato Windows. Finalmente, las clases CosenosIndividuos y CosenosVariables se encargan de los pasos 8.1 y 8.2 del algoritmo. Es decir, calculan los cosenos cuadrados de los individuos y los baricentros. 5 Ejemplo ilustrativo Esta seccio´n tiene el propo´sito de ilustrar el uso del software y de mostrar los productos que se pueden obtener mediante su aplicacio´n. 5.1 Sobre los datos de contaminacio´n de r´ıos Vamos a considerar 13 variables relacionadas con la contaminacio´n de aguas (entre pare´nte- sis se coloca el nombre abreviado de la variable ): Fosfato (FOS), Nitratos (NITA), Calidad del agua (CAL), So´lidos totales (STOT), Acidez (PH), Manganeso (MN), Zinc (ZN), So´lidos Sedimentales (SS), Alcalinidad (ALCA), Cloro (CL), Caudal (CAU), Demanda Bioqu´ımica de Ox´ıgeno (DBO) y Porcentaje de Saturacio´n de Ox´ıgeno (PORS). Estas variables fueron medidas en los r´ıos que forman el embalse La Garita, en 9 puntos de muestreo que corresponden a la Presa, los r´ıos Alajuela, Ciruelas, Virilla y Quebrada Soto; tres en el Embalse (Orilla, Centro y Salida) y uno en el Desfogue-Garita. Se hace una medicio´n por estacio´n: Verano (V), Verano-Invierno (VI), Invierno (I) e Invierno- Verano (IV). El nombre de un punto de muestreo cualquiera se forma con las primeras letras del nombre del sitio seguido por el nombre abreviado de la estacio´n. Por ejemplo, 44 w. castillo – o. rodr´ıguez PV es la Presa en Verano, VVI es el r´ıo Virilla en Verano Invierno y EOV es el Embalse Orilla en Verano. La tabla de datos contiene el promedio de cada variable para cada caso “sitio-estacio´n” dando como resultante una matriz de datos de 36 filas (sitio-estacio´n) y 13 columnas (ver [3]). Los grupos a priori que se quieren discriminar son los definidos por las 4 estaciones: V, VI, I e IV. La composicio´n de estos grupos se presenta en la tabla siguiente: G1 PV – DV – EOV – ESV – ECV – AV – CV – QV – VV G2 PVI – DVI – EOVI – ESVI – ECVI – AVI – CVI – QVI – VVI G3 PI – DI – EOI – ESI – ECI – AI – CI – QI – VI G4 PIV – DIV – EOIV – ESIV – ECIV – AIV – CIV – QIV - VIV 5.2 Los archivos de datos y etiquetas Para hacer los ca´lculos el sistema necesita cuatro archivos tipo texto, los cuales se describen a continuacio´n: • El archivo de datos: debe tener extensio´n TXT. El primer registro (fila) debe con- tener dos nu´meros separados por blancos que indican respectivamente el nu´mero de individuos y variables. Los dema´s registros contienen los datos propiamente dichos. En el caso de los datos de contaminacio´n de r´ıos el archivo tiene 37 registros y 13 columnas. Los primeros 4 registros del archivo son los siguientes: 36 13 1.44 0.78 58.25 126.75 7.29 0.21 0.02 0.66 120.50 3.92 17.85 25.00 53.25 2.70 1.13 62.50 195.00 7.50 0.20 0.02 1.15 104.50 4.10 28.20 90.70 77.00 3.89 0.35 79.25 176.50 7.41 0.37 0.28 0.62 80.25 3.35 53.27 3.77 89.75 • El archivo de etiquetas de los individuos: debe tener extensio´n ETI (de ETiqueta de los Individuos). Consta de una sola columna que contiene en la primera posicio´n un nu´mero que indica cuantos individuos hay. En las restantes posiciones vienen las etiquetas de los individuos. En el caso de los datos de contaminacio´n de r´ıos el archivo tiene 37 registros. Los primeros 4 registros del archivo son los siguientes: 36 PV PVI PI • El archivo de etiquetas de las variables: debe tener extensio´n ETV (de ETiqueta de las Variables). Consta de una sola columna que contiene en la primera posicio´n un nu´mero que indica cuantas variables hay. En las restantes posiciones vienen las etiquetas de las variables (las cuales no pueden tener espacios en blanco). En el caso de los datos de contaminacio´n de r´ıos el archivo tiene 14 registros. Los primeros 4 registros del archivo son los siguientes: 13 ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 45 NITA FOS CAL • El archivo de la variable cualitativa: debe tener extensio´n CUA (de variable CUAlitativa) y consta de una sola columna. En la primera posicio´n contiene un nu´mero que indica cuantas clases hay. En las restantes posiciones se escribe un nu´mero entero que indica el nu´mero de clase a la que pertenece el individuo en cuestio´n. En el caso de los datos de contaminacio´n de r´ıos el archivo tiene 37 registros. Los primeros 5 registros del archivo son los siguientes: 4 1 2 3 4 5.3 El submenu´ Discriminante-Paso-a-Paso El mo´dulo de Ana´lisis Discriminante se integro´ al Programa Interactivo para Me´todos de Ana´lisis de Datos en su versio´n 3.0 (PIMAD 3.0). Se dispone de tres variantes para ejecutar los ca´lculos: • El uso de los botones para conseguir los gra´ficos en pantalla, los cosenos de los individuos y de los baricentros. • El submenu´ Discriminante-Directo con el cual se despliegan los gra´ficos en pan- talla. • El submenu´ Discriminante-Paso-a-Pasopermite ejecutar el algoritmo de la seccio´n 3 paso a paso a trave´s de 16 opciones. A continuacio´n se describe cada opcio´n del submenu´ Discriminante-Paso-a-Paso. Todos los archivos de ‘salida’ son tipo ASCII con extensio´n TXT. 1. Opcio´n: Centraje y Reduccio´n de la Tabla de Datos. Con esta opcio´n se crea un archivo de nombre tabla.txt que contiene en columna las variables explicativas centradas y reducidas (es decir, estandarizadas). 2. Opcio´n: Calcula los Baricentros. Calcula los baricentros de cada grupo a priori. 3. Opcio´n: Calcular la matriz V. Crea un archivo de nombre mat V.txt que con- tiene la matriz de correlaciones de las variables explicativas (V ). 4. Opcio´n: Calcular los Vectores y Valores Propios de V. Crea dos archivos de nombres vectorp.txt y valorp.txt que contienen respectivamente los vectores pro- pios I13 ortonormados de V y los valores propios correspondientes. 46 w. castillo – o. rodr´ıguez 5. Opcio´n: Calcular la Matriz V^(-1). Crea un archivo de nombre vinv.txt que contiene la matriz inversa de V. 6. Opcio´n: Calcular la Matriz A. Crea un archivo de nombre mat A.txt que con- tiene la matriz A (ver pasos 5. y 6. del algoritmo). En nuestro ejemplo, este archivo es: A =  0.547 −0.223 −0.260 −0.064 −0.223 0.654 −0.223 −0.207 −0.260 −0.224 0.650 −0.166 −0.064 −0.207 −0.166 0.436  7. Opcio´n: Calcular los Vectores y Valores Propios de A. Crea dos archivos de nombres vec p A.txt y val p A.txt que contienen respectivamente los vectores propios de A, I5 ortonormados y los valores propios correspondientes (que son al mismo tiempo los valores propios positivos de BV −1). Para nuestro ejemplo, estos valores propios son: λ1 λ2 λ3 0.9283 0.8617 0.4203 El archivo de los correspondientes vectores propios de A, tiene la apariencia siguiente: w1 w2 w3 0.425 0.499 -0.566 0.309 -0.808 -0.038 -0.843 -0.004 -0.196 0.109 0.313 0.800 8. Opcio´n: Calcular la matriz Beta. Con esta opcio´n se calcula la matriz de vec- tores propios de BV −1, V −1 ortonormados y la guarda en un archivo de nombre beta.txt. Estos vectores propios son: β1 -0.39 0.60 -0.89 0.14 0.25 -0.29 -0.18 0.24 0.32 0.19 -0.33 0.45 -0.50 β2 -0.19 -0.73 0.10 -0.53 0.06 -0.31 0.13 -0.34 0.28 -0.26 0.04 -0.69 -0.17 β3 -0.27 -0.18 0.25 -0.21 -0.05 -0.30 0.81 -0.00 -0.41 -0.17 0.41 -0.14 -0.26 Aqu´ı se presentan los βj en las filas, sin embargo debe notarse que en el archivo beta.txt los vectores β1, . . . , β4 se almacenan en las columnas. 9. Opcio´n: Calcular Componentes Principales y las Coordenadas de Baricentros. Crea un archivo de nombre compone.txt que contiene las coordenadas de los indi- viduos en los ejes determinados por los vectores propios de BV −1. Los primeros 5 ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 47 registros de este archivo son: Eje 1 Eje 2 Eje 3 PV 1.326 0.589 -0.751 PVI 0.524 -1.689 -0.757 PI -1.695 -0.229 0.806 PIV 0.340 0.737 3.656 AV 0.745 1.444 -2.288 10. Opcio´n: Graficar el Plano Principal. Despliega una ventana donde el usuario puede escoger dos ejes para representar simulta´neamente los individuos y los bari- centros de los grupos a priori. Opcionalmente el usuario puede escoger los individuos que desea representar y el taman˜o del gra´fico. 11. Opcio´n: Generar Archivo LATEX del Plano Principal. Crea un archivo tipo LATEX con las coordenadas de los individuos en el plano principal escogido (plano discrimi- nante). El nu´mero al final de las etiquetas indica el grupo a priori al que pertenece el individuo. Por ejemplo, QIV-4 en el extremo inferior del eje vertical indica que el individuo QIV pertenece a la clase a priori nu´mero 4. Para nuestro ejemplo el plano principal es: Eje 2 Eje 1 6 ? -ff • P V -1 • PVI-2 • P I -3 • PIV -4 • AV-1 • AVI -2 • AI -3 • AIV-4 • EOV-1 • EOVI-2 • EOI-3 • EOIV-4 • ECV-1 • ECVI -2 • ECI-3 • ECIV -4• ESV-1 • ESVI-2 • ESI -3 • ESIV -4 • QV -1 • QVI-2 • QI -3 •QIV -4 • CV -1 • CVI -2 • CI -3 • CIV -4 • VV-1 • VVI-2 • VI-3 • VIV -4 • DV -1 • DVI-2 • DI -3 • DI -4 • G-1 • G-2 • G-3 • G-4 48 w. castillo – o. rodr´ıguez 12. Opcio´n: Calcular Principales Correlaciones. Crea un archivo de nombre prin- corr.txt que contiene las coordenadas de las variables explicativas centradas y re- ducidas, en los ejes determinados por las variables discriminantes. 13. Opcio´n: Graficar el Cı´rculo de Correlacio´n. Despliega una ventana donde el usuario puede escoger dos ejes, las variables que desea representar y el taman˜o del gra´fico. Las coordenadas son tomadas del archivo princorr.txt. 14. Opcio´n: Generar Archivo LATEX del Cı´rculo de Correlacio´n. Crea un archivo tipo LATEX con las coordenadas de las variables, para nuestro ejemplo el c´ırculo de correlacio´n es: 6 - ? ff Eje 2 Eje 1 • NITA • FOS • CAL • STOT • PH • MN • ZN • SS • ALCA • CL • CAU • DBO • PORS 15. Opcio´n: Calcula Cosenos Cuadrados de los Individuos. Crea un archivo de nombre cos ind.txt que contiene los cuadrados de los cosenos del a´ngulo que forma cada individuo con su proyeccio´n V −1 - ortogonal, sobre los ejes discriminantes. Los cinco primeros registros de cos ind.txt son: cos2(i, 1) cos2(i, 2) cos2(i, 3) PV 0.659 0.130 0.211 PVI 0.074 0.771 0.155 PI 0.804 0.015 0.182 PIV 0.008 0.039 0.953 AV 0.070 0.265 0.665 ana´lisis discriminante descriptivo: teor´ıa, algoritmo y software 49 16. Opcio´n: Calcula Cosenos Cuadrados de los Baricentros. Crea un archivo de nombre cos bar.txt que contiene los cuadrados de los cosenos del a´ngulo que forma cada baricentro con su proyeccio´n V −1 ortogonal, sobre los ejes discriminantes. Para nuestro ejemplo estos cosenos valen: cos2(gl, 1) cos2(gl, 2) cos2(gl, 3) G-1 0.241 0.332 0.427 G-2 0.128 0.870 0.002 G-3 0.949 0.000 0.051 G-4 0.016 0.131 0.853 References [1] Celeux, G.; Nakache, J.P. (1994) Analyse Discriminante sur Variables Qualitatives. Polytechnica, Paris. [2] Diday, E.; Lemaire, J.; Pouget, J.; Testu, F. (1982) Ele´ments d’Analyse de Donne´es. Dunod, Paris. [3] Gonza´lez, J.; Morales, V. (1993) “Ana´lisis multivariado de la calidad del agua: proyecto hidroele´ctrico Ventanas-Garita”, VI Congreso Internacional de Biomatema´ticas, J. Oviedo et al. (Eds.), Universidad de Costa Rica: 227–236. [4] Lebart, L.; Morineau, A.; Piron, M. (1994) Statistique Exploratoire Multidimension- nelle. Dunod, Paris. [5] Rodr´ıguez, O. (1997) Introduccio´n a la Programacio´n C++ para Ambiente Windows. Editorial Tecnolo´gica de Costa Rica, Cartago, Costa Rica. [6] Saporta, G. (1994) “Los me´todos y las aplicaciones del credit-scoring”, VII y VIII Simposios, W. Castillo & J. Trejos (Eds.), Editorial de la Universidad de Costa Rica, San Jose´: 103–109. [7] Saporta, G. (1994) “Ana´lisis discriminante”, Me´todos Matema´ticos Aplicados a las Ciencias, VII y VIII Simposios, W. Castillo & J. Trejos (Eds.), Editorial de la Univer- sidad de Costa Rica, San Jose´: 75–102. [8] Saporta, G. (1980) L’Analyse des Donne´es. Que sais-je?, Presses Universitaires de France, Paris.