Está en la página 1de 19

ESTADÍSTICA ESPAÑOLA

Vol. 46, Núm. 157, 2004, págs. 389 a 407

Predicción económica con algoritmos


genéticos: operadores genéticos versus
matriz de transición(1)

por
MONTSERRAT HERNÁNDEZ LÓPEZ
Departamento de Economía de las Instituciones, Estadística Económica y Econometría
Facultad de Ciencias Económicas y Empresariales
Universidad de La Laguna

RESUMEN

Los algoritmos genéticos se diseñaron originalmente como método


de optimización. En este trabajo, se sostiene que los algoritmos gené-
ticos también pueden ser utilizados en el contexto económico como
herramienta predictiva de los cambios en la composición de una po-
blación de agentes económicos. Además, y como novedad metodoló-
gica en la definición del algoritmo utilizado con este fin, se propone
sustituir los operadores de cruce y mutación por una matriz de transi-
ción que permita incorporar explícitamente información económica en
la determinación de las probabilidades de transformación de las ca-
racterísticas de los individuos de la población bajo estudio.

(1) La autora de este trabajo desea agradecer sinceramente al Dr. D. José Juan Cáceres
Hernández y al evaluador anónimo de la Revista sus útiles y acertados comentarios que, sin
duda, han contribuido a mejorar notablemente la versión final de este trabajo.
390 ESTADÍSTICA ESPAÑOLA

Palabras clave: Algoritmos genéticos, predicción económica, operado-


res genéticos, matriz de transición.

Clasificación AMS: 62M45.

1. ALGORITMO GENÉTICO COMO TÉCNICA COMPUTACIONAL PREDICTIVA

Los algoritmos genéticos describen el proceso de transformación de los indivi-


duos de una población, definidos mediante un vector de características, de acuerdo
con fundamentos teóricos (Holland, 1975; Goldberg, 1989) que se basan en los
procesos genéticos de formación, aprendizaje, adaptación y evolución de los
organismos biológicos, y, especialmente, en el principio de selección natural o
supervivencia de los mejores —término acuñado por Charles Darwin en The Origin
of Species de 1859—, y en los resultados de los intercambios genéticos. En la
naturaleza, los procesos de selección natural y alteración genética ocurren en una
generación, y luego en su descendencia, y a continuación en la descendencia de
ésta, y así sucesivamente. Después de cada generación, o al menos así se desea,
la población será mejor —o más adaptada a su entorno— que las anteriores, es
decir, los individuos estarán más evolucionados (Moreno y Moreno, 1999).

Tradicionalmente, los algoritmos genéticos han sido considerados y aplicados


como algoritmos de búsqueda de soluciones mejores —no necesariamente ópti-
mas—, especialmente útiles en problemas específicos de gran dimensión. Esta
técnica difiere de los procedimientos tradicionales de optimización en varios as-
pectos que contribuyen a la robustez del algoritmo genético en cierto tipo de pro-
blemas y le proporcionan una ventaja sobre otras técnicas de optimización(2). Pero,
además de su uso con fines de optimización, los algoritmos genéticos podrían
considerarse como radiografías del proceso dinámico de transformación interna de
la población bajo estudio. Es decir, más que determinar el punto final de un proceso
iterativo hasta que se alcanza la convergencia, puede ser interesante observar la
forma en que la población se adapta a su entorno en cada momento, cómo sus
individuos se enfrentan mejor al contexto cambiante que les rodea, y cómo, en
suma, la población evoluciona; lo que, en última instancia, sugiere un segundo uso
alternativo de un algoritmo genético, especialmente útil en el contexto económico:

(2) Los algoritmos genéticos utilizan procesos de búsqueda o acercamiento al óptimo


basados en reglas de transición probabilísticas.
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 391

reflejar el modo en que se transforma tal población, o lo que es lo mismo, servir


como herramienta de predicción sobre la composición de la población(3).

Cuando el algoritmo genético se emplea con la finalidad de optimizar o mejorar


el resultado de alguna función, la población inicial está formada por cadenas bina-
rias generadas aleatoriamente, a cada una de las cuales corresponde un determi-
nado valor de la función que se desea optimizar. Además, la nueva población suele
ser creada sobre la base de las probabilidades de actuación asignadas a determi-
nados operadores. Sin embargo, si se pretende aplicar un algoritmo genético sobre
una población económica conocida con el objetivo de predecir su composición en el
futuro, la estructura básica del algoritmo genético —en lo que se refiere a la propia
transformación de la población inicial en final— podría ser modificada para lograr
resultados más apropiados al conocimiento del que se disponga sobre el entorno.
Como señala Davis (1991), para derivar un algoritmo genético con un alto grado de
eficacia en un contexto determinado es conveniente especializarlo en dicho con-
texto, lo que conlleva el uso de parámetros y operadores especialmente adaptados
al problema en cuestión. Así, en un entorno real, la definición de cadenas binarias
puede ser insuficiente para recoger las características relevantes de los individuos
de la población. Además, la obtención de la nueva población a partir de la actua-
ción de operadores estocásticos convencionales podría, por una parte, conducir a
la aparición de individuos con características incoherentes, y, por otra, impedir la
consideración explícita de que determinadas transformaciones de unos individuos
en otros pueden ser más probables que otras. Desde este punto de vista, parece
necesario sustituir los operadores genéticos por cualquier otro mecanismo que sea
capaz de incorporar una mayor dosis de adaptación al entorno real y de información
cualitativa conocida.

El objetivo de este trabajo es justificar la utilidad de los algoritmos genéticos


como herramienta de predicción de la composición de determinadas poblaciones y,
en concreto, diseñar un algoritmo genético basado en la actuación de una matriz de
transición como fórmula para incorporar explícitamente la información específica del
entorno que pueda orientar el proceso de transformación. Para ello, el texto se
estructura en las siguientes secciones. En la primera, se presenta la estructura
habitual de los algoritmos genéticos y se definen los operadores genéticos en su
versión más simple. A continuación, se sugieren modificaciones teóricas que sería
conveniente incluir si se desea usar esta técnica con fines predictivos en un con-

(3) Los algoritmos genéticos se han utilizado con el fin de predecir el valor de una mag-
nitud económica (véase, por ejemplo, Mahfoud y Main, 1996; Álvarez-Díaz y Álvarez, 2002; o
Venkatesan y Kumar, 2002). Sin embargo, no se tiene constancia del uso de esta herramienta
con la finalidad de predecir cambios en la composición de una población de agentes econó-
micos, excepto en Hernández López (2002).
392 ESTADÍSTICA ESPAÑOLA

texto particular y se describe la forma y actuación de la matriz de transición en el


ámbito de la predicción de una población concreta de agentes económicos. El
artículo finaliza con la exposición de las conclusiones obtenidas.

2. ESTRUCTURA CONVENCIONAL DE LOS ALGORITMOS GENÉTICOS

El algoritmo genético es una herramienta capaz de transformar una población


original, cuyos individuos están identificados por un vector de características o
cadena, en otra población final, formada por un cierto número de individuos —no
necesariamente coincidente con el de la población original—, la mayor parte de los
cuales poseen, previsiblemente, características similares a aquéllos que, en la
población original, parecían mejor adaptados al entorno.
Es decir, en el momento temporal t se observa la población inicial,
Ω t = {I t,1 , I t,2 ,...,I t,n }, integrada por n individuos cuyas características están repre-
sentadas a través de cadenas codificadas. Cada cadena es evaluada para tener
una medida de su adecuación al contexto a través de la función objetivo que se
pretende mejorar, llamada función de calidad o fitness function.
La población final en el momento t+1, Ω t+1 , se forma seleccionando, en primer
lugar, los individuos más adaptados de Ω t , definiendo el grado de adaptación del
individuo como el valor de la función de calidad correspondiente a dicho individuo.
Después de esta fase, en la que se tiende a producir un incremento de la calidad
media de los individuos, se aplican los operadores genéticos para provocar la
transformación de la población inicial en población final. Estos pasos se reiteran
hasta que se cumpla algún criterio de parada.

Con ayuda de los términos propios del lenguaje de programación Borland C++, la
estructura básica del código que define un algoritmo genético puede representarse,
de forma simplificada, del siguiente modo(4):

Main Algoritmo Genético

t=0;
Lectura de valores de los parámetros;

Creación o Lectura de la población inicial ( Ω t );


Evaluación de Ω t a través de la función de calidad (f);
While condición de parada

(4) Consúltense las obras de Holland (1975), Goldberg (1989), Michalewicz (1994), Da-
wid (1996), Bagchi (1999) y Moreno y Moreno (1999).
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 393

Creación de la población futura ( Ω t+1 ) a partir de la población inicial ( Ω t ) apli-


cando el procedimiento de selección y los operadores genéticos;
Evaluación de Ω t+1 a través de la función de calidad (f);
Comprobación de la condición de parada(5);

Return

Como se observa en esta estructura, una vez que la codificación de las cadenas
ha sido establecida, la población inicial ha quedado determinada y la función de
calidad ha sido definida, la transformación de una población inicial en otra final se
deja en manos del procedimiento de selección y los llamados operadores genéti-
cos, los cuales, de forma probabilística, son los encargados de introducir cambios
en la población inicial de tal forma que se obtenga una nueva población que, se
espera, tendrá un mayor valor de la calidad media.
Desde este punto de vista, el estado de la población en el momento t+1 depen-
de sólo del estado en el momento t. Si se conoce el estado Ω t , no se conseguirá
más información sobre el estado Ω t+1 a partir de cualquier estado previo de la
población. Como la actuación de los operadores que producen la nueva población
en t+1 dependen de la ocurrencia de sucesos tales como que una cadena determi-
nada pase al fondo de emparejamiento o se produzca la señal para mutar un
determinado bit, la dependencia del estado Ω t+1 respecto del estado Ω t es esto-
cástica.
Estas consideraciones implican que el cambio en la población descrito por el al-
goritmo genético puede considerarse un proceso estocástico { Ω t }, t=1,...,T, de
naturaleza markoviana; es decir, cuando el proceso está en el estado i en el mo-
mento t, hay una probabilidad fija, pij, de que el proceso realice una transición al
estado j en el momento t+1:

P({Ω t +1 = j / Ω t = i; Ω t −1 = i t −1 ;...; Ω1 = i1 ; Ω 0 = i0 }) = p ij , t≥0

para todos los estados i0,i1,...i,j(6). Por supuesto, se tiene que:

(5) Los criterios de parada suelen ser, entre otros, que se haya procesado el algoritmo
un número determinado de veces, que el valor medio de la función de calidad haya alcanza-
do un determinado umbral, o que un determinado porcentaje de individuos haya superado
un determinado nivel en su valor de calidad.
(6) Nótese que se están considerando probabilidades de transición estacionarias en el
tiempo. El análisis de las cadenas de Markov ha sido utilizado para calcular el ratio de con-
vergencia hacia la solución óptima de los algoritmos genéticos. Consúltense los artículos de
Goldberg y Segrest (1987), Nix y Vose (1992), Rudolph (1994) y Suzuki (1995).
394 ESTADÍSTICA ESPAÑOLA


p ij ≥ 0, i, j ≥ 0, ∑p
j= 0
ij = 1, con i = 0,1,...

La propia supervivencia de los mejores, la imitación de la herencia genética que


se produce de generación en generación, o la incorporación de nuevo material
genético debido a mutaciones en los bits de las cadenas, son principios que inspi-
ran los diferentes operadores. La mayoría de ellos fueron planteados originaria-
mente por Holland (1975) y popularizados y modificados por Goldberg (1989). A
continuación se realiza una breve descripción de los operadores genéticos más
usados.
Procedimiento de Selección
Tratado generalmente como operador, lo cierto es que la selección consiste en
un procedimiento que determina el número de individuos de la nueva población que
son copias de cada uno de los existentes en la población original, bajo el supuesto
de que, a mayor adaptación de un individuo, mayor probabilidad de sobrevivir y
mayor herencia genética dejará para la siguiente generación. De esta forma, crea
una población intermedia seleccionando un determinado número de cadenas o
individuos de la población inicial.

Existen varias definiciones para realizar esta selección previa de cadenas, pero
la más utilizada es la selección de tipo proporcional que, sobre una población inicial
de tamaño r obtiene una población intermedia de tamaño n del siguiente modo. Se
generan aleatoriamente los resultados de n pruebas multinomiales de tamaño r con
probabilidades p1,...,pr, siendo pi, con i=1,...,r, la probabilidad de que se copie el
individuo i de la población original en la posición en que finalmente quedará ubica-
do uno cualquiera de los n individuos de la población final. Dicha probabilidad se
define como el cociente entre la calidad del individuo i y la suma de las calidades
de los r individuos de la población inicial. Efectuadas las copias de los individuos de
la población inicial en el número adecuado, se obtiene una nueva población del
tamaño deseado.

En términos formales, si se denota por Ω1 = {I1,1,..., I1,r } el conjunto de r indivi-


duos de la población inicial y se define J = {1,..., n} como el conjunto de las n posi-
ciones en que se ubican los n individuos de la población resultante de las copias, la
población intermedia, Ω 2 = {I2,1 ,..., I2,n }(7), se obtiene a través del operador selec-
ción s : J → Ω1 , definido como s(j) = I2,j, de tal manera que:

(7) Nótese que los subíndices que irán apareciendo en estas descripciones acompañan-
do al símbolo Ω, no se refieren a poblaciones finales, sino a las poblaciones que van surgien-
do como consecuencia de la aplicación de los distintos operadores.
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 395

fˆi
P(s(j) = I1,i ) = P(I2, j = I1,i ) = p i = r
i = 1,..., r; ∀j = 1,...n
∑ fˆi
i=1

Operador Cruce

El operador cruce es la llave para generar nuevas cadenas o nuevos miembros


en la población. Una vez creado un fondo de emparejamiento o población interme-
dia, el cruce se aplica para fundir el material genético de dos cadenas con calidad
alta y producir otras dos nuevas, que, incluso, pueden estar más adaptadas al
entorno que sus progenitores.
El tipo de cruce más habitual en las aplicaciones de los algoritmos genéticos es
el conocido como cruce simple o de un punto. Este cruce opera como sigue: con los
individuos de la población intermedia generada tras la aplicación del procedimiento
de selección, se forman pares elegidos aleatoriamente y, sobre cada uno de estos
pares, el cruce se efectuará con una probabilidad dada, χ, eligiéndose aleatoria-
mente el punto de cruce. Es decir, fijada aleatoriamente una posición en las cade-
nas, se intercambiarán los caracteres especificados a la derecha de dicha posición.
Sea Ω 3 = {I3,1 ,..., I3,n } la población resultante de efectuar los cruces sobre el
fondo de emparejamientos definido por el procedimiento de selección ( Ω2 ). Cada
par (I3,a , I3,b ) ⊂ Ω 3 se obtiene como resultado de la aplicación del operador cruce, c,
sobre el par (I2,a , I2,b ) ⊂ Ω 2 . Designando por ci(Ia,Ib) al par de individuos resultantes
de efectuar el cruce en la posición i-ésima del par de individuos (Ia,Ib), entonces el
operador cruce actúa sobre el par de individuos (I2,a , I2,b ) en dicha posición de
modo que (I3,a , I3,b ) se obtiene como c i (I2,a , I2,b ) , donde P((I3,a , I3,b ) = c i (I2,a , I2,b )) = χ
y P((I3,a , I3,b ) = (I2,a , I2,b )) = 1 − χ .

Por ejemplo, sean las cadenas A y B de longitud fija igual a 5, A = 01110 y B =


10011, cuyo punto de cruce ha recaído en la posición número 3. Entonces, las
cadenas resultantes del cruce son A’ = 01111 y B’ = 10010.

Evidentemente, el grado de transformación de la población provocado por cual-


quier operador depende de las probabilidades de actuación que se le asignen. Con
poblaciones generadas aleatoriamente y formadas por individuos caracterizados
por variables binarias, los resultados empíricos han aconsejado un valor para la
probabilidad del operador cruce en torno a 0.6 (Dawid, 1996).
396 ESTADÍSTICA ESPAÑOLA

Operador mutación

El operador mutación es el encargado de proporcionar innovaciones o cambio


en el valor de algún bit de las cadenas, lo que permite que el algoritmo genético
encuentre soluciones con nuevo material genético inexistente en la población
inicial.

Designando por xi,g al valor de la característica g del individuo i, donde g=1,...,k,


e i=1,...,n, entonces, dicho carácter puede mantener su valor o transformarse en el
otro valor del rango de la variable binaria Xg.

Si la probabilidad de que este carácter cambie su valor es µ, entonces el opera-


dor mutación, m, puede ser definido como m : x i,g → R g , tal que:

P(m(x i,g ) = x i,g ) = 1 − µ , y P(m(x i,g ) ≠ x i,g ) = µ

Por ejemplo, si R g = {0,1} y la cadena donde ha recaído el efecto de la mutación


sobre la característica g situada en el tercer dígito de la misma, es A=1111, enton-
ces la cadena resultante de la mutación es A’=1101.

Se debe hacer notar que, mientras el procedimiento de selección reduce la di-


versidad de la población, la mutación, como ocurre también con el operador cruce,
puede incrementarla de nuevo. A mayor µ, menor peligro de convergencia prematu-
ra. Además, la acción del operador mutación podría dar lugar a una población final
con menor calidad que la inicial. Con objeto de controlar este riesgo, se asume que
la probabilidad de mutación en cada uno de los caracteres de las cadenas de la
población sea suficientemente pequeña(8) —normalmente del orden de 10-3.
Además de los operadores genéticos básicos, existen otros que han sido usa-
dos en distintas aplicaciones. Entre los más conocidos se encuentra el operador
inversión, por el cual se invierte el orden de los dígitos entre dos puntos de la
cadena elegidos aleatoriamente (Holland, 1975). Otro operador secundario es el
operador elección, por el que, después de que se haya aplicado el procedimiento
de selección, y los operadores cruce y mutación, se calcula el valor de calidad para
cada par de descendientes en el entorno actual y se enfrentan las cadenas iniciales

(8) El crecimiento del valor esperado de la calidad en la población intermedia derivada


del procedimiento de selección es una consecuencia de la definición del operador. Pero la
posterior transformación de dicha población intermedia en una población final no exige un
incremento del nivel esperado de la calidad. No obstante, si la probabilidad de aplicación de
los operadores cruce y mutación es suficientemente baja, difícilmente se producirá un
decremento de la calidad media de la población final.
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 397

con las finales y, de estas cuatro cadenas, las dos con mayor calidad se transfieren
a la población final (Arifovic, 1989)(9).

Goldberg y otros (1989) definieron además otros dos operadores, admitiendo la


modificación de la longitud de la cadena: el de empalme y el de corte. Por el prime-
ro, dos cadenas se unen, una a continuación de la otra, apareciendo así una nueva
cadena de mayor tamaño; por el segundo, una cadena es cortada, por un punto
elegido aleatoriamente, generando dos cadenas nuevas, de menor tamaño.
Si bien han ido apareciendo definiciones sobre nuevos operadores, lo cierto es
que la inclusión de éstos en la estructura básica de un algoritmo genético no ha
admitido ningún tipo de duda en la literatura. En todos los casos, se trataba de
mejorar las propiedades del algoritmo(10). Sin embargo, y como apuntaba De Jong
(1985) en una revisión sobre la historia de la investigación en torno a los algoritmos
genéticos, tampoco parecía haberse mejorado sustancialmente las ideas originales
de Holland (1975) ya que, por ejemplo, no se había resuelto adecuadamente el
problema de asignar valores iniciales a las probabilidades de actuación de los
operadores genéticos y la modificación de dichos valores a lo largo de la ejecución
de un algoritmo genético.

3. ALGORITMOS GENÉTICOS Y PREDICCIÓN. CARACTERÍSTICAS POBLA-


CIONALES Y MATRIZ DE TRANSICIÓN

La transformación de una población en otra a través de una combinación del


procedimiento de selección y los operadores genéticos parece apropiada cuando
las poblaciones se generan aleatoriamente, cada individuo está caracterizado por
variables binarias, y se aplican con determinadas probabilidades sin suponer que
determinados cruces o mutaciones son más verosímiles que otros. Sin embargo, en
contextos reales y conocidos, la aplicación mecánica de estas definiciones puede
conducir a la generación de poblaciones de individuos cuyas características son
incoherentes. Además, puede existir información de tipo cualitativo que sugiera la
mayor verosimilitud de unas determinadas transformaciones frente a otras, informa-
ción que sería interesante incorporar en la ejecución del algoritmo. En casos como

(9) Nótese que cada par de individuos del fondo de emparejamiento se compara con el
par resultante de la aplicación de los operadores de cruce y mutación.
(10) Baker (1987) señalaba que un algoritmo genético debe generar poblaciones exactas,
consistentes y eficientes: exactas, en el sentido de que no hubiera diferencia —o hubiera la
menor posible— entre la población real y la esperada, es decir, el sesgo debería ser bajo;
consistentes o precisas, en el sentido de que la propagación —o el rango de valores posibles
para el número de descendientes de cada individuo— fuera la menor posible; y eficientes,
desde el punto de vista de que no provocaran incrementos en la complejidad del algoritmo
genético.
398 ESTADÍSTICA ESPAÑOLA

éstos, es necesario redefinir las cadenas que identifican a los individuos de la


población en términos de caracteres no binarios. Entonces, es imprescindible
replantear la definición de operadores de cruce y mutación. Y, sobre todo, quizás
resulte apropiado mantener el operador selección para determinar una población
intermedia del tamaño deseado. Pero, una vez determinadas las copias, el plan-
teamiento idóneo sería conocer los valores pij de una hipotética matriz de transición
M que, para cada individuo i observado en la población inicial, indique la probabili-
dad de que dicho individuo se transforme en el individuo j, entre todos los posibles
que pudieran ser considerados por combinación de los distintos valores de cada
una de las características o variables que los definen.

Antes incluso de construir el algoritmo, su aplicación está condicionada por la


definición de los individuos de la población. En un contexto real, carece de sentido
que la población inicial se genere aleatoriamente, pero, además, las cadenas o
estructuras que identifican a los individuos deben definirse apropiadamente. Algu-
nas de las características individuales serán atributos policotómicos difíciles de
recoger con cadenas binarias si se pretende evitar inconsistencias lógicas sin una
pérdida notable de información.
Obviamente, es necesario establecer una función de calidad que determine el
grado de adaptación al entorno de cada individuo en función de sus características.
En poblaciones reales, esta función suele ser desconocida de antemano, en cuyo
caso tendrá que ser estimada. Y en dicho proceso de estimación, la conversión de
una característica multimodal en una variable dicotómica puede introducir sesgos
considerables como consecuencia de la pérdida de información. La solución ele-
mental consiste en definir tantas variables dicotómicas como modalidades posea la
característica original. Es decir, si el individuo i está definido por el vector de ca-
racterísticas X i : (X i,1 ,..., X i,k ) y la característica X i,g posee m modalidades, la
información proporcionada por X i,g puede sustituirse por la que aportan m varia-
bles dicotómicas Yi,g,1 ,..., Yi,g,m cada una de las cuales toma el valor 1 si la modali-
dad es una determinada y el valor cero en otro caso. Ahora bien, si la cadena o
vector de características que define al individuo se expresa en términos de estos
conjuntos de variables dicotómicas, la aplicación de los operadores de cruce y
mutación puede conducir a inconsistencias lógicas. En las m posiciones de la
cadena que identifica la característica X i,g debe aparecer un 1 en la posición
correspondiente a la modalidad que caracteriza al individuo i y el valor cero en el
resto de posiciones. Pero esta disposición no está garantizada cuando se aplican
los operadores de cruce o mutación.
La solución a problemas de este tipo exige rediseñar el algoritmo de forma que
el operador cruce actúe directamente sobre cadenas no binarias. Evidentemente,
dado que el carácter xi,g puede transformarse en cualquier otro de los valores del
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 399

rango de X g , sería necesario también redefinir el operador mutación de forma que

∑ P(m(x ) = x' ) = µ
x'i, g∈R g
i,g i,g .
x'i, g ≠ x i, g

En cualquier caso, y aunque no se produzcan inconsistencias, si se pretende


que la dinámica de transformación de la población original se adapte al proceso
real, los operadores de mutación y cruce difícilmente pueden discriminar transfor-
maciones de acuerdo con su naturaleza de modo que unas sean más probables
que otras. Desde este punto de vista, y como ya se comentó, la matriz de transición
es una herramienta adecuada para este fin. A continuación, se define con precisión
el mecanismo de actuación de esta matriz.

Supóngase que el individuo i, i = 1,...,n, puede transformarse en el individuo j,


donde j = 1,...,m, con probabilidad pij. En general, m es igual a n, pero se ha inclui-
do el parámetro m para recoger el caso en que sólo m de los n individuos se dife-
rencien en, al menos, una característica. Por supuesto, pii es la probabilidad de que
el individuo i no cambie, es decir, que en la población final (generación t+1) aparez-
ca un individuo cuyas características son idénticas a las de un individuo de la
población original (generación t).
Entonces, puede construirse una matriz M que en la fila i-ésima contenga los
valores pij, j = 1,...,m, es decir, la probabilidad de que el individuo i se convierta en
cada uno de los m individuos posibles. De este modo, la transformación de un
individuo i es el resultado de una prueba multinomial de tamaño m, con probabili-
dades pi1,...pim.

El problema de esta nueva aproximación radica en que la dimensión de la matriz


puede ser muy grande, y además, en que no existe un criterio único para determi-
nar los valores pij, aunque la incorporación de información cualitativa y del conoci-
miento más profundo de la población puede hacer que estos problemas no sean,
finalmente, tan graves.
Supóngase que existen m individuos cuyas cadenas representativas o estructu-
ras, E1,...,Em, son diferentes(11). Se asume que cada estructura Ei, con i=1,...,m,
puede transformarse en otra estructura Ej, con j=1,...,m, con probabilidad pij. Por
supuesto, pii es la probabilidad de que las características del individuo no cambien.
Estas probabilidades pueden recogerse en una matriz cuya fila i-ésima contenga
los valores pij, j=1,...,m, que indican la probabilidad de que la estructura Ei se con-
vierta en cada una de las m estructuras posibles.

(11) Nótese que, en una población real, varios individuos diferentes pueden tener las
mismas características y, por tanto, estar definidos por la misma cadena o estructura.
400 ESTADÍSTICA ESPAÑOLA

Con la finalidad de ilustrar el proceso de determinación de las probabilidades de


transformación, pij, supóngase que el conocimiento que se tiene de la población
real en el momento t no sugiere grandes cambios para una generación posterior
t+1. En este caso, una posible forma de establecer las probabilidades de transición
sería considerando que pij es inversamente proporcional al número de bits distintos
entre las estructuras Ei y Ej. Es decir, si existe un bit de diferencia, p ij = β ;
p ij = β / 2 si existen dos bits diferentes; p ij = β / 3 si las dos estructuras se diferen-
cian en 3 bits, etcétera; y si entre dichas estructuras no existe ningún bit de diferen-
cia, p ij = α , i,j=1,...,m. En general, se tiene que pij = β / δij , en el caso de que las
estructuras Ei y Ej difieran en δij bits o caracteres, cumpliéndose que la suma por
m
filas debe ser igual a la unidad, es decir, ∑p j =1
ij = 1, ∀i = 1,..., m .

Definida así, la matriz de transición podría ser esquematizada como sigue:

Ej (t+1)
E1 E2 .... Em
Ei (t)
E1 p11 = α p12 = β/δ12 p1m = β/δ1m
...
E2 p21 = β/δ21 p22 = α p2m = β/δ2m
...
E3 p31 = β/δ31 p32 = β/δ32 p3m = β/δ3m
...
... ... ... …

Em pm1 = β/δm1 pm2 = β/δm2 pmm = α

Para determinar el valor de β, una vez fijado el valor α correspondiente a la pro-


babilidad de que cada estructura aparezca inalterada en la siguiente generación,
debe tenerse en cuenta el número de variables, y el de sus correspondientes
modalidades, que integran la definición de cada estructura. Si una estructura viene
definida por R variables, Ei = {Xi,1,...,Xi,R}, y cada variable Xh admite nh modalidades,
con h=1,…,R, entonces:

N2 N N
α + β N1 + β + β 3 + ... + β R = 1
2 3 R

siendo Nδ el número de estructuras que difieren de una dada en δ caracteres,


δ=1,2,...,R. Algunos casos particulares del cálculo de Nδ son los siguientes:

R R
N1 = ∑ (n − 1) = ∑ n − R
i=1
i
i =1
i
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 401

R R R R R R R R R R
N2 = ∑ ∑ (n − 1)(n − 1) = ∑ ∑ (n n ) −∑ ∑ (n ) −∑ ∑ (n ) +∑ ∑ 1 =
i=1 j=i+1
i j
i=1 j =i +1
i j
i =1 j =i+1
i
i=1 j=i+1
j
i=1 j=i+1
R R
= ∑ ∑ (n n ) −[(R − 1)n
i=1 j=i+1
i j 1 + (R − 2)n2 + ... + nR −1 ] −

R
− [(n2 + ... + nR ) + (n3 + ... + nR ) + ... + nR ] + ∑ (R − i) =
i=1
R R
R(R − 1)
= ∑ ∑ (n n ) −(R − 1)[n
i=1 j=i+1
i j 1 + n2 + ... + nR ] +
2
=

R R R
R 
= ∑ ∑ (n n ) −(R − 1)∑ n
i=1 j=i+1
i j
i=1
i +  
2

R R R R R R R R R
N3 = ∑ ∑ ∑ (n − 1)(n
i=1 j=i+1l= j +1
i j )
− 1 (nl − 1) = ∑ ∑ ∑ (n n n ) −∑ ∑ ∑ (n n ) −
i=1 j =i+1l= j +1
i j l
i=1 j=i+1l= j +1
i j

R R R R R R R R R R R R
− ∑ ∑ ∑ (n n ) −∑ ∑ ∑ (n n ) + ∑ ∑ ∑ (n ) +∑ ∑ ∑ (n ) +
i=1 j =i+1l= j +1
i l
i=1 j =i+1l= j +1
j l
i=1 j=i+1l= j +1
i
i=1 j =i+1l= j+1
j

R R R R R R
+ ∑ ∑ ∑ (nl ) − ∑ ∑ ∑1 =
i=1 j =i+1l= j +1 i=1 j =i+1l= j +1
R R R
(R − 1)(R − 2) R R R
R
= ∑ ∑ ∑ (n n n ) − (R − 2)∑ ∑ (n n ) +
i=1 j=i+1l= j +1
i j l
2 ∑n i=1 j =i+1
i j
i=1
i −  
3

En general:

  
NR = (n1 − 1)...(nR − 1) = n1...nR − ∑  ∑ 

ni1 ...niR + ... + (− 1)R1 
i1 =1  i2 =i1 +1  iR −1 = iR − 2 +1
∑ 


Teóricamente, la matriz de transición será una matriz cuadrada y simétrica cuyo


número de filas y columnas coincide con el número total de estructuras diferentes
posibles —según el número de variables y el número de sus correspondientes
modalidades— que se podrían observar en la población inicial.

Sin embargo, en determinadas aplicaciones reales de gran dimensión, la infor-


mación disponible sobre la población puede aconsejar la no consideración de
algunas estructuras. Además, puede que dicha información también aconseje
402 ESTADÍSTICA ESPAÑOLA

limitar las estructuras distintas de la población final del momento t+1 a aquéllas
observadas en el momento t(12).

Manteniendo esta hipótesis, la dimensión de la matriz de transición se reduce


considerablemente, y el valor de β no es el mismo de una fila a otra de la matriz, ya
que varía en función del número de similitudes entre cada estructura Ei observada
en el momento t y las restantes estructuras observadas en dicho momento, únicas
candidatas a la transformación, si la hubiere.
Una vez ha quedado establecida la matriz de transición, su intervención en la
ejecución del algoritmo puede exponerse, formalmente, del siguiente modo.
Sea Ω 2 = {I2,1 ,..., I2,n } el conjunto de n individuos de la población intermedia re-
sultante de las copias y sea E = {E1 ,..., Em } el conjunto de las m estructuras posi-
bles en las que puede transformarse cada uno de los individuos de Ω 2 . Se define
Q : {1,..., n} como el conjunto de las n posiciones en que se ubican los n individuos
de la población final. Esta población final Ω 3 : {I3,1 ,..., I3,n } se obtiene a través del
operador mt(q)=I3,q, definido como mt(q) : Q → E , tal que:

P(mt(q) = E j ) = P(I3,q = E j ) = p q, j , q = 1,..., n, j = 1,..., m

donde pqj es la probabilidad de que el individuo I2,q, que ocupa la posición q en la


población intermedia, se transforme en un individuo cuya estructura venga dada por
Ej. Si el individuo que ocupa la posición q en la población intermedia posee la
estructura Ei, entonces pqj=pij, es decir, el término de la columna j de la fila corres-
pondiente al individuo i en la matriz de transición.

Para determinar en qué individuo I3,q se transforma el individuo I2,q, es decir, pa-
ra decidir en qué elemento Ej se transforma el individuo con estructura Ei, puede
realizarse una prueba multinomial de tamaño m, con probabilidades pi1,...,pim, que
vienen recogidas en la fila i-ésima de la matriz de transición.

En resumen, el algoritmo se ejecuta en dos fases. En la primera, se generan los


individuos de la población intermedia resultante de las copias. En la segunda, se
generan los individuos de la población final utilizando la matriz de transición. En
primer lugar, se construye la matriz de transición, cuya fila i-ésima indica las proba-

(12) Es preciso admitir que esta restricción impide la aparición de nuevo material genéti-
co, pero de este modo se obtienen ventajas computacionales que permitirían la ejecución
práctica del algoritmo en ordenadores personales, en casos en los que los individuos hayan
sido definidos mediante un importante número de características y cada una de éstas pueda
presentar un número elevado de modalidades. Obviamente, esta suposición sólo podría ser
admitida si la información del contexto así lo aconsejara. No se pretende hacer de la misma
una hipótesis generalizable a cualquier caso.
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 403

bilidades de que la estructura Ei se transforme en cada una de las m estructuras Ej


posibles. Luego, se identifica cada uno de los n individuos, I2,q, con q=1,...,n, de la
población intermedia con alguna de las estructuras Ei, i=1,...,m. Finalmente, para
determinar en qué nuevo individuo I3,q, q=1,...,n, se transforma cada uno de los
individuos I2,q —identificado con alguna estructura Ei—, se genera una prueba
multinomial cuyos resultados son las estructuras Ej en que puede transformarse I2,q
y cuyas probabilidades son las de la fila i-ésima de la matriz de transición corres-
pondiente.

Se podría pensar que un adecuado control de las probabilidades de actuación


de los operadores genéticos evitaría la introducción de la matriz de transición. No
obstante, la matriz de transición permite una mayor flexibilidad al posibilitar probabi-
lidades distintas para cada transformación de las cadenas iniciales, algo que no
ocurre con la utilización de los operadores genéticos, cuyas probabilidades de
actuación son aplicables por igual a cualquier individuo de la población sin atender
de forma independiente la mayor o menor versomilitud de ocurrencia de cada una
de las transformaciones de las estructuras integrantes de la población inicial.
Supóngase, por ejemplo, que se trata de predecir la composición de la pobla-
ción que visita un determinado destino turístico(13). Cabe suponer que dicha
población experimenta cambios de una temporada a la siguiente, de modo que los
turistas más satisfechos probablemente repetirán su visita, mientras que aquéllos
no satisfechos difícilmente volverán. En este sentido, el grado de satisfacción
puede cumplir la labor de la función de calidad y ese grado dependerá de caracte-
rísticas del turista tales como la nacionalidad, la renta, la edad, el gasto realizado o
el régimen de alojamiento. Probablemente, en la temporada siguiente aumentará la
participación de los individuos con características similares a aquéllos que en la
temporada anterior mostraron un grado de satisfacción más elevado. Este principio
puede guiar la aplicación del procedimiento de selección. Pero, por otra parte,
parece lógico pensar que es más probable que un turista alemán, con alta renta, de
edad mediana y alojado en hotel de 5 estrellas sea sustituido por un inglés de alta
renta, edad mediana y alojado en hotel de 5 estrellas que por un francés de baja
renta, joven y alojado en apartamento.
Este tipo de informaciones cualitativas pueden incorporarse explícitamente en la
matriz de transición y, en cambio, no se tomarían en consideración si se emplean
los operadores convencionales de mutación y cruce. De este modo, el algoritmo
genético permite predecir el modo en que va cambiando la población de turistas de

(13) En un entorno turístico, Hurley et al. (1998) proponen un algoritmo genético cuya
aplicación se refiere al problema de la localización de almacenes de venta al por menor de un
sitio turístico. Sin embargo, el algoritmo no se emplea con la finalidad de predecir cambios
en la composición de la población de turistas.
404 ESTADÍSTICA ESPAÑOLA

acuerdo con características relevantes para los gestores públicos y privados de esa
rama de actividad en el área geográfica correspondiente.

4. CONCLUSIONES

Este artículo analiza la conveniencia de modificar la estructura habitual de los


algoritmos genéticos cuando éstos son utilizados con fines predictivos en un entor-
no real y conocido. En el contexto económico, la predicción de determinadas pobla-
ciones constituye un objetivo básico para la planificación económica. Pero más
relevante aún puede ser la predicción de los cambios en la composición de dicha
población en términos de características particulares de los individuos de dicha
población. De este modo, la predicción del agregado que proporcionan las técnicas
estadístico-econométricas tradicionales queda complementada por la predicción
más rica que aportan los algoritmos genéticos.

Sin embargo, con la finalidad de la predicción de poblaciones reales se hace


imprescindible algún tipo de modificación en la estructura básica del algoritmo
genético. La definición de poblaciones cuyos individuos están identificados por
características no binarias puede provocar la inconsistencia de los operadores
convencionales. Además, en el proceso de transformación de la población original
sería interesante incorporar información cualitativa sobre el entorno al que pertene-
ce la población analizada.

En este artículo, se ha mostrado que un mecanismo adecuado para este fin


consiste en usar una matriz de transición que, una vez que se ha procedido a la
selección y se ha configurado el fondo de emparejamientos, sea aplicada sobre
cada una de las cadenas integrantes de la población intermedia teniendo en cuenta
la probabilidad de que cada una de aquéllas se transforme en cualquiera de las
otras posibles.

Dado que el proceso de búsqueda está iniciado por el procedimiento de selec-


ción, los individuos de la población intermedia tienden a ser los más adaptados al
entorno, como se espera en la realidad. Además, dado que la matriz de transición
toma en consideración qué transformaciones son más probables, cabe pensar que
la población predicha de esta forma se ajustará mejor a la población real.
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 405

REFERENCIAS

ÁLVAREZ-DÍAZ, M. Y ÁLVAREZ, A. (2002) «Predicción no-lineal de tipos de cambio.


Aplicación de un algoritmo genético», Documento de Traballo, 0205. Departa-
mento de Economía Aplicada. Universidade de Vigo.

ARIFOVIC, J. (1989) «Learning by Genetic Algorithms in Economic Environments»,


Working Paper, 90-001. Santa Fe Institute.
BAGCHI, T.P (1999) Multiobjective Scheduling by Genetic Algorithms. Kluwer Aca-
demic Publishers.

BAKER, J.E. (1987) «Reducing bias and inefficiency in the selection algorithm»,
Genetic algorithms and their applications: Proceedings of the Second Interna-
tional Conference on Genetic Algorithms. John J. Grenfenstett (Ed.). Lawrence
Erlbaum Associates: 14-21. Hillsdale, NJ.
DAVIS, L. (1991) (Ed.) Handbook of Genetic Algorithm. Van Nostrand Reinhold. New
York.

DAWID, H. (1996) Adaptive Learning by Genetic Algorithms. Analytical Results and


Applications to Economic Models. Lecture Notes in Economics and Mathemati-
cal Systems, 441. Springer.

DE JONG, K. (1975) An Analysis of the Behavior of a Class of Genetic Adaptive


Systems. Doctoral Dissertation. Dissertation Abstracts International. 36(10)
5140B, University Microfilms, nº 76-9381. University of Michigan.

DE JONG, K. (1985) «Genetic Algorithms: A 10 year perspective», Proceedings of


the First International Conference on Genetic Algorithms and their Applications.
John J. Grenfenstett (Ed.). Lawrence Erlbaum Associates: 285-306. Hillsdale,
NJ.
GOLDBERG, D.E. (1989) Genetic Algorithms in Search Optimization, and machine
Learning. Addison Wesley. Reading, M.A.

GOLDBERG, D.E. Y P. SEGREST (1987) «Finite Markov chain analysis of genetic


algorithms», Genetic algorithms and their applications: Proceedings of the Sec-
ond International Conference on Genetic Algorithms John J. Grenfenstett (Ed.).
Lawrence Erlbaum Associates: 1-8. Hillsdale, NJ.
GOLDBERG, D.E.; B. KORB Y K. DEB (1989) «Messy Genetic Algorithms: Motivation,
Analysis, and First Results», Complex Systems, 3: 493-530.

HERNÁNDEZ LÓPEZ, M. (2002) Algoritmos Genéticos y Predicción de la Composición


de la Demanda Turística. Tesis Doctoral. Universidad de La Laguna.
406 ESTADÍSTICA ESPAÑOLA

HOLLAND, J.H. (1975) Adaptation in Natural and Artificial Systems. Ann Arbor. The
University of Michigan Press.

HURLEY, S.; MOUTINHO, L.; Y W ITT, S.F. (1998), «Genetic algorithms for tourism
marketing», Annals of Tourism Research, 25 (2): 498-514.

MAHFOUD, S. Y MANI, G. (1996), «Financial forecasting using genetic algorithms»,


Applied Artificial Intelligence, 10: 543-565.
MICHALEWICZ, Z. (1994) Genetic Algorithms + Data Structures = Evolution Programs.
Springer Verlag.

MORENO, J.M. Y J.A. MORENO (1999) Heurísticas en Optimización. Colección Textos


Universitarios.

NIX, A. Y M.D. VOSE (1992) «Modeling genetic algorithm with Markov chains»,
Annals of Mathematics and Artificial Intelligence, 5: 79-88.
RUDOLPH, G. (1994) «Convergence analysis of canonical genetic algorithms», IEEE
Transactions Neural Netwoks, Special Issue on Evolutional Computing, 5(1):
96-101.
SUZUKI, J. (1995) «A Markov chain analysis on simple genetic algorithms», IEEE
Transactions on Systems, Man, and Cybernetics, 25(4): 655-659.

VENKATESAN, R. Y KUMAR, V. (2002) «A genetic algorithms approach to growth


phase forecasting of wireless subscribers», International Journal of Forecasting,
18: 625-646.
PREDICCIÓN ECONÓMICA CON ALGORITMOS GENÉTICOS: OPERADORES GENÉTICOS VERSUS MATRIZ DE TRANSICIÓN 407

ECONOMIC FORECASTING USING GENETIC ALGORITHMS:


GENETIC OPERATORS VERSUS TRANSITION MATRIX

ABSTRACT

Genetic algorithms were originally designed as a method for opti-


mization purposes. This paper demonstrates another use. Genetic al-
gorithms can be transformed into a forecasting tool by means of new
methodological developments on their usual structure. Genetic ope-
rators may not be appropriate to randomly search the final population
when the aim is to forecast the internal composition of an economic
population. In this case a transition matrix should replace the genetic
operators to guide the search. Thus, it would be possible to insert in-
formation about the environment through the transformation probabili-
ties of each one of the population members.

Keywords. Genetic algorithms, economic forecasting, genetic opera-


tors, transition matrix.

AMS Classification: 62M45.

También podría gustarte