ESTADÍSTICA ESPAÑOLA Vol. 49, Núm. 165, 2007, págs. 333 a 347 Algoritmos meméticos para selección de variables en el análisis discriminante por JOAQUIN PACHECO BONROSTRO SILVIA CASADO YUSTA Departamento de Economía Aplicada Universidad de Burgos LAURA NÚÑEZ LETAMENDIA Departamento de Finanzas Instituto de Empresa RESUMEN En este trabajo se propone un método de selección de variables para su uso posterior en el análisis discriminante. El objetivo consiste en encontrar de entre un conjunto de m variables, un subconjunto de menor tamaño que nos permita clasificar de forma eficaz obteniendo un porcentaje de aciertos elevado. Para la resolución de este problema se propone un procedimiento que sigue el esquema de los Algoritmos Meméticos (AM). El funcionamiento de este método se ilustra con diversos ejemplos y se comprueba que obtiene significativamente mejores resultados que los conocidos métodos Stepwise, Backward o Forward que utilizan los paquetes estadísticos más conocidos. Palabras clave : Selección de variables, análisis discriminante, Algoritmos Meméticos Clasificación AMS: 62H30 334 ESTADÍSTICA ESPAÑOLA 1. INTRODUCCIÓN En el problema de clasificación el objetivo es determinar la clase a la que pertenecen una serie de individuos caracterizados por atributos o variables. Más concretamente, se tiene un conjunto de n individuos o casos donde cada uno de ellos viene caracterizado por un cierto número m de variables (que pueden ser cualitativas). Este conjunto de individuos, de los que se conoce su clasificación correcta, frecuentemente se obtiene de bases de datos denominadas training sample (muestra o conjunto de entrenamiento). A través de este conjunto de individuos se pretende diseñar y generalizar el conjunto de reglas que permita clasificar con la mayor precisión posible este conjunto de individuos. Existen varias metodologías para abordar este problema: Análisis discriminante clásico, regresión logística, redes neuronales, árboles de decisión, instance-based learning, etc. En una parte importante de los métodos de análisis discriminante se buscan los hiperplanos en el espacio de las variables que mejor separen a las clases de individuos. Ésto se traduce en buscar funciones lineales a partir de las cuales realizar la clasificación (Wald, Fisher, etc). El uso de funciones lineales permite una mejor interpretación de los resultados (por ejemplo, importancia y/o significación de cada variable en la clasificación) al analizar el valor de los coeficientes obtenidos. No todos los métodos de clasificación resultan tan cómodos para realizar este tipo de análisis (a algunos incluso se les clasifica como modelos de “caja negra”). Por esta razón el análisis discriminante clásico sigue siendo una metodología interesante. Tutoriales sobre esta metodología se pueden encontrar en Peña (2002) o Cuadras (1991). Cuando se tienen muchas variables antes del diseño de cualquier método de clasificación es necesario seleccionar de las variables originales aquellas que son realmente relevantes, es decir, el problema consiste en encontrar un subconjunto de variables con las que se pueda llevar a cabo la tarea de clasificar de forma óptima. Este problema es conocido como problema de selección de variables. La investigación en este campo empezó a principios de la década de los sesenta (Lewis, 1962 y Sebestyen, 1962). Según Liu y Motoda (1998) la selección de variables conlleva diversas ventajas como la reducción del coste en la adquisición de datos, mejora en la comprensión del modelo final del clasificador, incremento en la eficiencia del clasificador y mejora en la eficacia del clasificador. Durante las cuatro últimas décadas se ha investigado mucho en este problema. Muchos trabajos sobre selección de variables están relacionados con la medicina y la biología, tales como Sierra y otros (2001), Ganster y otros (2001), Inza y otros (2000), Lee y otros (2003), Shy y Suganthan (2003) y Tamoto y otros (2004). ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 335 Desde un punto de vista computacional la búsqueda del subconjunto de variables es un problema NP-Hard (Cotta y otros, 2004), es decir, que el problema se puede resolver en tiempo polinómico respecto al tamaño del problema en una máquina de Touring no determinística ( NP = ‘non-deterministic polynomial-time). En este trabajo se propone un método diseñado “ad-hoc” que trata de encontrar los subconjuntos de mayor capacidad clasificatoria para su uso posterior en análisis discriminante lineal. Este método sigue el esquema de los Algoritmos Meméticos (AM). Los AM son métodos evolutivos o basados en población que combinan procedimientos de Búsqueda Local con operadores de cruce o mutación. Los resultados obtenidos por el Algoritmo Memético van a ser comparados con los obtenidos por los métodos tradicionalmente usados en selección de variables para análisis discriminante lineal: Backward, Forward y Stepwise. El trabajo se estructura de la siguiente forma: En la sección 2 se introducen los principales métodos existentes para selección de variables en clasificación y en la sección 3 se plantea el problema y se describe el Algoritmo Memético. En la sección 4 se muestran los resultados de las experiencias computacionales realizadas. Finalmente en la sección 5 se exponen las principales conclusiones obtenidas. 2. MÉTODOS PREVIOS DE SELECCIÓN DE VARIABLES EN CLASIFICACIÓN Tal y como se ha mencionado anteriormente, antes del diseño de cualquier método de clasificación hay que seleccionar de entre las variables originales aquellas que son realmente necesarias. Para resolver el problema de selección de variables se desarrollan dos tipos de algoritmos o métodos: los métodos exactos u óptimos, que encuentran la solución óptima pero que sólo son aplicables cuando el tamaño del problema es pequeño; y los métodos aproximados o heurísticos que, aunque no garantizan el óptimo, encuentran buenas soluciones en un tiempo razonable. Entre los métodos exactos el más conocido es el de Narendra y Fukunaga (1977), pero como señala Jain y Zongker (1997) el algoritmo es inviable para problemas con un número elevado de variables. Por otra parte la calidad de las soluciones “heurísticas” difiere mucho según los métodos empleados. Como en otros problemas de optimización, las estrategias metaheurísticas están demostrando ser metodologías superiores al resto. Así, destacan los trabajos de Bala y otros (1996), Jourdan y otros (2001), Oliveira y otros (2003), Inza y otros (2001a y 2001b) y Wong y Nandi (2004) que desarrollan algoritmos genéticos y el más reciente de García y otros (2004) que presenta un método basado en Búsqueda Dispersa. 336 ESTADÍSTICA ESPAÑOLA Estos métodos buscan los subconjuntos de mayor capacidad clasificatoria según diferentes criterios, pero ninguno de ellos está enfocado al uso posterior de las variables seleccionadas en análisis discriminante lineal. En la literatura para este específico propósito existe el conocido método Stepwise (Efroymson, 1960) y variantes como O’Gorman (2004), así como los métodos Backward y Forward. Éstos son sencillos procedimientos de selección basados en criterios estadísticos (Landa de Wilks, F de Fisher, etc.) y que han sido incorporados en algunos de los paquetes estadísticos más conocidos como SPSS, BMDP, etc. Como destacan Huberty (1989) y Salvador (2000) estos métodos no son muy eficaces, y cuando las variables originales son muchas raramente alcanzan el óptimo. Concretamente: − El método Forward (o de selección hacia adelante): Inicialmente no hay ninguna variable seleccionada. Se comienza eligiendo la variable que más discrimina según algún criterio. A continuación selecciona la segunda más discriminante y así sucesivamente. El algoritmo finaliza cuando entre las variables no seleccionadas ninguna discrimina de forma significativa. − El método Backward (o de eliminación hacia detrás) actúa de forma inversa. Se comienza seleccionando todas las variables. En cada paso se elimina la menos discriminante. El algoritmo finaliza cuando todas las variables que permanecen discriminan significativamente. − El método Stepwise (o regresión por pasos), que fue originalmente propuesto por Efroymson (1960), ha estado disponible en los paquetes estadísticos desde hace muchos años. Este método utiliza una combinación de los dos algoritmos anteriores: en cada paso se introduce o elimina una variable dependiendo de la significación de su capacidad discriminatoria. Permite además la posibilidad de “arrepentirse” de decisiones tomadas en pasos anteriores, bien sea eliminando del conjunto seleccionado la variable introducida en un paso anterior del algoritmo, bien sea seleccionando una variable previamente eliminada. Una descripción más detallada de estos métodos la encontramos en Salvador (2000). En este trabajo el método usado de selección de variables para análisis discriminante sigue el esquema de los Algoritmos Meméticos (AM), también denominados por algunos investigadores “Algoritmos Genéticos Híbridos” o “Algoritmos Genéticos Paralelos”. Según Goldberg (1989) y Davis (1991) la evolución natural tiene algunas características que motivaron a John Holland a comenzar un intento de búsqueda en un área que podría eventualmente llegar a ser lo que es ahora conocido como Algoritmos Genéticos (AG). Los Algoritmos Genéticos son “ técnicas de búsqueda basadas en la selección natural y la genética” (Goldberg, 1989). ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 337 La principal característica de los AG es el uso de un operador de recombinación o cruce como mecanismo principal de búsqueda: construye descendientes que poseen características de los cromosomas que se cruzan. Su utilidad viene dada por la suposición de que diferentes partes de la solución óptima pueden ser descubiertas independientemente y luego ser combinadas para formar mejores soluciones. Adicionalmente se emplea un operador de mutación cuyo uso se considera importante como responsable del mantenimiento de la diversidad. El principal problema de los Algoritmos Genéticos se debe a que no utilizan información sobre el problema que están intentando resolver. Así como los Algoritmos Genéticos se basan en los procesos de “evolución biológica”, han surgido nuevas técnicas metaheurísticas que se basan en procesos de “evolución cultural”. Estas técnicas son los Algoritmos Meméticos. Este método, descrito originalmente en el trabajo de Moscato (1989), está ganando amplia aceptación en los problemas de optimización combinatoria donde grandes ejemplos se han solventado óptimamente y donde otras estrategias metaheurísticas han fallado. Dos recientes tutoriales sobre Algoritmos Meméticos se pueden encontrar en Moscato (2002), Moscato y Cotta (2002) y Krasnogor y Gustafson (2004). Así mismo, información sobre Algoritmos Meméticos se puede encontrar en: http://densis.fee.unicamp.br/~moscato/memetic_home.html. 3. ALGORITMO MEMÉTICO En esta sección inicialmente se plantea el problema de optmización con la notación que se va a usar, y a continuación se describe exhaustivamente el Algoritmo Memético propuesto para resolver este problema. 3.1 Planteamiento del problema e ideas básicas El problema de seleccionar el subconjunto de variables con más capacidad clasificatoria se puede formular de la forma siguiente: Considérese un conjunto V de m variables, simplificando V = {1, 2,..., m}, y un conjunto A de n casos. Para cada caso se conoce además la clase a la que pertenece. En el caso concreto tratado en este trabajo consideramos la discriminación entre dos posibles clases. Considérese además un valor predeterminado p ∈ N, p < m. Hay que encontrar el subconjunto S ⊂ V de tamaño p con la mayor capacidad clasificatoria en análisis discriminante, f (S). Más concretamente, la función f (S) se define como el porcentaje de aciertos en A del clasificador de Fisher obtenido a partir de las variables de S. Por tanto, la evaluación de f (S) se puede hacer en θ(p2) + θ(n) operaciones: el primer sumando corresponde al cálculo de la inversa de la matriz de varianzas-covarianzas de S y el 338 ESTADÍSTICA ESPAÑOLA segundo a la clasificación de los casos. En definitiva, a la vez que se calcula f (S) se obtiene como paso previo el clasificador lineal de Fisher. Recuérdese que en el caso de 2 grupos este clasificador se obtiene como sigue: sea W la matriz de varianzas entre-grupos y B la matriz de varianzas intra-grupos, el clasificador lineal de Fisher, F, es la función lineal cuyos coeficientes son los componentes del autovector de la matriz W-1B asociado al mayor valor propio. Un individuo x se clasificara en uno u otro grupo según el valor de F(x) 3.2 Descripción del algoritmo y sus componentes Tal y como se ha señalado anteriormente los Algoritmos Meméticos son procedimientos basados en población y se han mostrado como técnicas más rápidas que los tradicionales Algoritmos Genéticos para algunos tipos de problemas (Moscato y Laguna, 1996). La descripción de nuestro Algoritmo Memético en pseudocódigo se muestra a continuación. Posteriormente se explican cada uno de los pasos y componentes. Algoritmo Memético Generar una población inicial P de soluciones aleatorias y mejorarlas con Búsqueda local; Repetir a) Seleccionar aleatoriamente un subconjunto de elementos (par) de la población con una probabilidad proporcional a su bondad. b) Cruce Reproducción: Emparejar o cruzar aleatoriamente estas soluciones (Padres) para dar lugar a nuevas soluciones (Hijos). De cada pareja de Padres se han de generar una nueva pareja de Hijos. c) Mutación: Los soluciones de la población pueden cambiar con una probabilidad, pmut, alguno de sus elementos (genes). d) Hacer factibles las soluciones hijas. e) Mejorar las soluciones hijas con Búsqueda Local. f) Renovación: Sustituir las peores soluciones de la población con las nuevas soluciones hijas; Hasta alcanzar algún criterio de parada Este algoritmo genera las soluciones iniciales de forma aleatoria. Se van a considerar representaciones binarias de las soluciones. Así, por ejemplo, ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 339 S = (1, 0, 0, 1, 0, 0, 0, 1) representa una solución S que contiene a las variables 1, 4 y 8. La bondad de cada solución S ∈ P se define como f(S)-fmin, donde fmin = min{f(S) / S ∈ P}. El operador de cruce es el conocido “one-point crossover”, es decir, sea un par de soluciones S y S’ S = (s1, s2, ... sm) y S’ = (s’1, s’2, ... s’m) se genera aleatoriamente un ‘punto de cruce’ entre 1 y m-1, (pto_cruce), de forma que las nuevas soluciones hijas S* y S** se definen como S* = (s1, s2, ..., spto_cruce , s’pto_cruce+1 , ..., s’m) S** = (s’1, s’2, ... s’pto_cruce , spto_cruce+1, ..., sm). Los valores de cada nueva solución hija pueden cambiar o mutar (de 0 a 1 o 1 a 0) con una pequeña probabilidad, p_mut. Para decidir si un determinado elemento de la solución cambia, se genera un valor aleatorio entre 0 y 1; Si este valor es inferior a p_mut se hace el cambio. Este proceso de mutación tiene por objeto dar diversidad al proceso y evitar que éste se encajone en una región en torno a un mínimo local. Obsérvese que cada una de las soluciones hijas S obtenidas en los pasos b) y c) podría no tener el tamaño p prefijado. Si |S| < p se van añadiendo a S elementos j∈V –S hasta que |S| = p. En cada paso se elige el j con mayor f (S ∪ {j}). Si |S| > p se van quitando elementos j de S hasta que |S| = p. En cada paso se elige el j de mayor f(S - {j}). Tanto las soluciones iniciales como las “hijas” generadas de esta manera son mejoradas. Finalmente, si alguna solución hija mejora a la peor de la población (P) la reemplaza. El criterio de parada suele ser uno de los siguientes: un número máximo de iteraciones (“generaciones”), un tiempo máximo de computación o un número de iteraciones sin mejora. En este trabajo se considera un tamaño de población de 10, en cada generación se seleccionan 4 padres y el valor de p_mut es de 0.10. El procedimiento usado para mejorar la población inicial y cada una de las soluciones hijas (paso e) es un procedimiento de búsqueda local. Los procedimientos de búsqueda local son sencillos métodos de mejora, en los que en cada iteración se sustituye la solución por una solución vecina mejor. Más concretamente en este caso, sea S una solución, definimos el “vecindario” de S, N(S), como sigue N(S) = { S’ / S’ = S ∪ {j’} – {j}, ∀ j ∈ S, j’ ∉ S } 340 ESTADÍSTICA ESPAÑOLA es decir, el conjunto de soluciones que se obtiene intercambiando un elemento que está fuera de S con otro que está dentro. Nuestro procedimiento de búsqueda local se puede describir como sigue Leer Solución Inicial S Repetir Hacer valor_ant = f(S) Buscar f(S*) = max { f(S’) / S’ ∈ N(S) } Si f(S*) > f(S) entonces hacer S = S* hasta f(S*) ≤ valor_ant Como se observa el procedimiento finaliza cuando ningún intercambio produce mejora. 4. RESULTADOS COMPUTACIONALES Para chequear y comparar la eficacia de nuestro Algoritmo Memético se han hecho una serie de pruebas con diferentes problemas tests. Para ello se han usado 6 conjuntos de datos. Los 5 primeros se pueden encontrar en el conocido repositorio de datos de la Universidad de California, UCI (ver Murphi y Aha, 1994). Se puede acceder en www.ics.uci.edu/~mlearn/MLRepository.html. Concretamente se trata de las siguientes bases de datos: • Covertype Data: Se trata de una base de datos forestal, con 54 variables explicativas, 8 clases y más de 580000 casos. Para las pruebas se ha hecho una selección aleatoria de 200 casos pertenecientes a los 2 primeros grupos (86 y 114) • Ionosphere Database: Con 34 variables, 2 clases y 351 casos. De éstos se seleccionan los 200 primeros. • Mushrooms Database: Con 22 variables nominales, 2 clases y más de 8100 casos. De los casos en los que no faltan datos se han seleccionado aleatoriamente 200 (104 y 96). Las 22 variables nominales se han transformado en 121 variables binarias: 1 por cada variable binaria (i.e. con 2 posibles respuestas), y 1 por respuesta posible para el resto de variables. • Spambase Database: 57 variables, 2 clases y 4601 casos. De éstos se seleccionan aleatoriamente 200. • SPECTF heart database: 44 variables, 2 clases y 80 casos en los datos de entrenamiento. ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 341 Además de éstos se ha usado un conjunto de datos financieros (Ratios) con 141 variables 2 clases y 198 casos. Esta base de datos se explica con detalle en Gómez y otros (2004). Las pruebas consisten en comparar el Algoritmo Memético con los métodos tradicionales, Stepwise, Fordward y Backward. Todos los experimentos se han realizado en un ordenador PC Pentium IV 2.4 GHz. usando el compilador BORLAND DELPHI (ver. 5.0). El criterio de parada para el Algoritmo Memético es un tiempo máximo de computación de 300 segundos para cada valor de p. Con cada uno de los 6 conjuntos de datos anteriores se han ejecutado los métodos Backward, Forward y Stepwise. En la tabla 1 se muestra un resumen de las soluciones obtenidas en los pasos intermedios (capacidad clasificatoria y número de variables seleccionadas, p). Concretamente, se reflejan las soluciones con algunos valores de p. También se ha ejecutado nuestro Algoritmo Memético para cada conjunto de datos y con esos mismos valores de p. En el método Stepwise además se añade la solución final. Para cada conjunto de datos aparecen en negrita las soluciones no dominadas (considerando el doble objetivo de maximizar la capacidad clasificatoria, f, y minimizar el número de variables, p). Tabla 1 COMPARACIÓN ENTRE EL ALGORITMO MEMÉTICO Y LOS MÉTODOS TRADICIONALES (Continúa) Datos Cover Ionosphere Mushrooms m p Forward Backward Stepwise Memético 54 3 0,7200 0,6300 0,7200 0,7900 54 4 0,7250 0,6550 0,7250 0,8050 54 5 0,7300 0,6350 0,8000 54 6 0,7550 0,6500 0,8150 54 7 0,7600 0,6550 0,8250 54 8 0,7750 0,6550 0,8250 34 3 0,8150 0,8150 0,8150 0,8800 34 4 0,8100 0,8100 0,8100 0,8900 34 5 0,8300 0,8300 0,8300 0,8900 34 6 0,8450 0,8450 0,8450 0,8950 34 8 121 3 0,9550 0,9300 0,9550 1,0000 121 4 0,9850 0,9350 0,9850 1,0000 121 5 0,9950 0,9350 20 0,9950 1,0000 1,0000 121 0,8700 342 ESTADÍSTICA ESPAÑOLA Tabla 1 COMPARACIÓN ENTRE EL ALGORITMO MEMÉTICO Y LOS MÉTODOS TRADICIONALES (Conclusión) Datos Spam SPECTF Ratios m p Forward Backward Stepwise Memético 57 3 0,8300 0,8300 0,8300 0,8950 57 4 0,8700 0,8700 0,8700 0,9100 57 5 0,8800 0,8800 0,8800 0,9200 57 6 0,8850 0,8850 0,8850 0,9300 57 7 0,8950 0,8950 0,8950 0,9350 57 8 0,9050 0,9050 0,9050 0,9400 57 14 44 3 0,8375 0,8000 0,8375 0,9250 44 4 0,8750 0,8000 0,8750 0,9125 44 5 0,8750 0,8500 0,8750 0,9250 44 6 0,8875 0,8875 0,8875 0,9500 44 7 0,9125 0,8750 0,9125 0.9250 0,9375 0,9250 44 6* 141 3 0,7121 0,6919 0,7121 0,8333 141 4 0,7222 0,6919 0,7222 0,8434 141 5 0,7424 0,7071 0,7424 0,8535 141 6 0,7576 0,7172 0,7576 0,8535 141 7 0,7727 0,7222 141 8 0,7626 0,7172 0,8535 141 9 0,7778 0,7222 0,8586 141 10 0,7828 0,7273 0,8636 141 11 0,7929 0,7273 0,8636 141 12 0,7677 0,7323 0,8586 0,8535 En 4 de los 6 conjuntos de datos el método Stepwise coincide con los primeros pasos del método Forward. Concretamente realiza 4 introducciones con Cover, 8 en Ionosphere, 14 en Spam y 6 en Ratios. En Mushrooms realiza 21 introducciones y una exclusión y en SPECTF realiza 7 introducciones y una exclusión final (*). En la tabla 1 se pueden hacer las siguientes observaciones: − El método Backward parece funcionar peor que el método Forward y Stepwise. Estos 2 últimos dan resultados similares. ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 343 − Nuestro Algoritmo Memético mejora muy significativamente a las soluciones de los métodos tradicionales para cualquier valor de p. La diferencia es quizás mayor cuanto mayor es la complejidad del problema. Todas las soluciones de los métodos tradicionales son dominadas por soluciones del Algoritmo Memético. Así por ejemplo, para los datos Cover el método Forward obtiene su máxima capacidad clasificatoria, f = 0.775 con p = 8, mientras que el Algoritmo Memético para p = 3 ya supera ese valor (f = 0.79). En los datos Ionosphere, Forward y Stepwise obtienen un máximo f de 0.87 con p = 8, mientras que para p = 3 el algoritmo Memético obtiene un f de 0.88. Con el resto de los conjuntos de datos se obtienen iguales conclusiones Así se aprecia en el gráfico 1 que ilustra las soluciones obtenidas por Forward, Backward y Memetico para Ratios. Gráfico 1 CAPACIDAD CLASIFICATORIA f OBTENIDA POR LAS DIFERENTES TÉCNICAS PARA EL CONJUNTO DE DATOS RATIOS 0,9 0,85 0,8 Forward Backward Memético 0,75 0,7 0,65 3 4 5 6 7 8 9 10 11 12 Valores de p Finalmente hemos de señalar lo siguiente: Si bien en todos los conjuntos de datos descritos anteriormente se considera el caso de discriminación entre dos posibles clases, los resultados que se obtendrían, en términos de comparación entre los 344 ESTADÍSTICA ESPAÑOLA métodos, en caso de discriminación entre más de dos clases serían similares y los tiempos de computación no se verían incrementados de forma importante. 5. CONCLUSIONES En este trabajo se aborda el problema de selección de variables para análisis discriminante. Aunque existen muchas referencias en la literatura para selección de variables para su uso en clasificación, no son abundantes las referencias importantes que existen sobre selección de variables para su uso específico en análisis discriminante lineal. De hecho los paquetes estadísticos más conocidos siguen usando los métodos de selección tradicionales. Como alternativa, en este trabajo se propone un Algoritmo Memético. Para todas las bases de datos analizadas nuestro Algoritmo Memético obtiene un conjunto de soluciones que superan y dominan a las obtenidas por los métodos tradicionales: con menos variables superan la capacidad clasificatoria. Esto ayuda a la interpretación de los datos y en definitiva a la construcción de modelos más eficaces y eficientes. Finalmente hay que indicar que, efectivamente, el tiempo de cálculo de nuestros métodos es mayor: en este trabajo se han considerado 5 minutos para cada número de variables seleccionadas p frente a los escasos segundos de los métodos tradicionales. Sin embargo, entendemos que para muchas aplicaciones y estudios esto no es relevante si se tienen en cuenta las ventajas antes analizadas. REFERENCIAS BALA J., DEJONG K., HUANG J., VAFAIE H. Y WECHSLER H. (1996). «Using Learning to Facilitate the Evolution of Features for Recognizing Visual Concepts». Evolutionary Computation, 4 (3): 297-311. COTTA C., SLOPER C. Y MOSCATO P. (2004). «Evolutionary Search of Thresholds for Robust Feature Set Selection: Application to the Analysis of Microarray Data». Lecture Notes In Computer Science, 3005: 21-30. CUADRAS C. M. (1991).«Métodos de Análisis Multivariante» Barcelona, PPU. DAVIS L. (Editor) (1991). «Handbook of Genetic Algorithms». Van Nostrand Reinhold, New York. EFROYMSON M.A. (1960). «Multiple Regression Analysis». Mathematical Methods for Digital Computers (Ralston, A. y Wilf, H.S., ed.), Vol.1. Wyley , New York. ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 345 GANSTER H., PINZ A., ROHRER R., WILDLING E., BINDER M. Y KITTLER H.(2001). «Automated Melanoma Recognition». IEEE Transactions on Medical Imaging, 20 (3): 233-239. GARCÍA F.C., GARCÍA M., MELIÁN B., MORENO J.A. Y MORENO M. (2004). «Solving Feature Selection Problem by a Parallel Scatter Search». In press in European Journal of Operational Research. GOLDBERG D. (1989). «Genetic Algorithms in Search». Optimization and Machine Learning. Addision-Wesley, reading, MA. GÓMEZ O., CASADO S., NÚÑEZ L., Y PACHECO J. (2004). «The Problem of Variable Selection for Financial Distress: Applying GRASP Metaheuristics». Working Paper WP04-30 del Instituto de Empresa. HUBERTY, C.J.(1994). «Applied Discriminant Analysis». Wiley, Interscience. INZA I., LARRAÑAGA P., ETXEBERRIA R. Y SIERRA B. (2000). «Feature Subset Selection by Bayesian networks based optimization». Artificial Intelligence, 123: 157-184. INZA I., MERINO M., LARRANAGA P., QUIROGA J., SIERRA B. Y GIRALA M. (2001a). «Feature Subset Selection by Genetic Algorithms and Estimation of Distribution Algorithms - A Case Study in the Survival of Cirrhotic Patients Treated with TIPS». Artificial Intelligence In Medicine, 23 (2): 187-205. INZA I., LARRANAGA P. Y SIERRA B. (2001b). «Feature Subset Selection by Bayesian Networks: A Comparison with Genetic and Sequential Algorithms». International Journal of Approximate Reasoning, 27 (2): 143-164. JAIN A. Y ZONGKER D. (1997). «Feature Selection: Evaluation, Application, and Small Sample Performance». IEEE Trans. Pattern Analysis and Machine Intelligence, 19 (2): 153-158. JOURDAN L., DHAENENS C. Y TALBI E. (2001). «A Genetic Algorithm for Feature Subset Selection in Data-Mining for Genetics». MIC 2001 Proceedings, 4th Metaheuristics Internationl Conference, 29-34. KRASNOGOR N. Y GUSTAFSON S. (2004). «A study on the use of “self-generation” in memetic algorithms». Natural Computing, 3: 53−76. LEE S., YANG J. Y OH K.W. (2003). «Prediction of Molecular Bioactivity for Drug Design Using a Decision Tree Algorithm». Lecture Notes in Artificial Intelligence, 2843: 344-351. LEWIS P.M. (1962). «The Characteristic Selection Problem in Recognition Systems». IEEE Trans. Information Theory, 8: 171-178. 346 ESTADÍSTICA ESPAÑOLA LIU H. Y MOTODA H. (1998). «Feature Selection for Knowledge Discovery and Data Mining». Boston, Kluwer Academic. MOSCATO P. (1989). «On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Toward Memetic Algorithms». Caltech Concurrent Computation Program, C3P Report 826. MOSCATO P. (2002). «Memetic Algorithms», Handbook of Applied Optimization, P. M. Pardalos and M. G. C. Resende (Eds.), Oxford University Press: 157-167. MOSCATO P. Y COTTA C. (2002). «A Gentle Introduction to Memetic Algorithms», to appear in Handbook of Metaheuristics. Kluwer. MOSCATO P. Y LAGUNA L. (1996). «Algoritmos Genéticos». Optimización Heurística y Redes Neuronales, A. Díaz (coord). Paraninfo, Madrid. MURPHY P.M. Y AHA D. W. (1994). UCI repository of Machine Learning. University of California, Department of Information and Computer Science, http://www.ics.uci.edu/~mlearn/MLRepository.html. NARENDRA P.M. Y FUKUNAGA K. (1977). «A Branch and Bound Algorithm for Feature Subset Selection». IEEE Trans. Computers, 26 (9): 917-922. O’GORMAN T.W. (2004). «Using Adaptive Methods to Select Variables in CaseControl Studies». Biometrical Journal, 46 (5): 595-605. OLIVEIRA L.S., SABOURIN R., BORTOLOZZI F. Y OTROS (2003). «A Methodology for Feature Selection Using Multiobjective Genetic Algorithms for Handwritten Digit String Recognition». International Journal of Pattern Recognition and Artificial Intelligence, 17 (6): 903-929. PEÑA D. (2002). «Análisis de datos multivariantes». Mc Graw Hill, Madrid. SALVADOR M. (2000). Análisis Discriminante, [en línea] 5campus.com, Estadística http://5campus.com/lección/discri[10 de febrero de 2005]. SEBESTYEN G. (1962). «Decision-Making Processes». Pattern Recognition. New York, MacMillan. SHY S. Y SUGANTHAN P.N. (2003). «Feature Analysis and Clasification of Protein Secondary Structure Data». Lecture Notes in Computer Science, 2714: 11511158. SIERRA B., LAZKANO E., INZA I., MERINO M., LARRAÑAGA P. Y QUIROGA J. (2001). «Prototype Selection and Feature Subset Selection by Estimation of Distribution Algorithms. A Case Study in the Survival of Cirrhotic Patients Treated with TIPS». Lecture Notes in Artificial Intelligence, 2101: 20-29. ALGORITMOS MEMÉTICOS PARA SELECCIÓN DE VARIABLES EN EL ANÁLISIS DISCRIMINANTE 347 TAMOTO E., TADA M., MURAKAWA K., TAKADA M., SHINDO G., TERAMOTO K., MATSUNAGA A., KOMURO K., KANAI M., KAWAKAMI A., FUJIWARA Y., KOBAYASHI N., SHIRATA K., NISHIMURA N., OKUSHIBA S.I., KONDO S., HAMADA J., YOSHIKI T., MORIUCHI T. Y KATOH H. (2004). «Gene expression Profile Changes Correlated with Tumor Progression and Lymph Node Metastasis in Esophageal Cancer». Clinical Cancer Research, 10 (11): 3629-3638. WONG M.L.D. Y NANDI A.K. (2004). «Automatic Digital Modulation Recognition Using Artificial Neural Network and Genetic Algorithm». Signal Processing, 84 (2): 351-365. MEMETIC ALGORITHMS FOR FEATURE SELECTION PROBLEM IN DISCRIMINANT ANALYSIS ABSTRACT In this work, a method of variable selection for discriminant analysis is proposed. The aim consists on finding among a set of m variables a small subset of these that let us classify effectively. To solve this problem a metaheuristic procedure named Memetic Algorithm is proposed. We prove that our Memetic Algorithm obtains significantly better results than the traditional methods Stepwise, Backward and Forward used by some statistics software. Keywords: Feature selection, discriminant analysis, Memetic Algorithm. AMS classification: 62H30