Sie sind auf Seite 1von 10

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

Programacin gentica:

La regresin simbLica
Rafael Alberto Moreno Parra

Resumen
El anlisis de regresin es una tcnica estadstica que busca deducir el patrn de una serie de datos o investigar la relacin estadstica entre una variable dependiente (Y) y una o ms variables independientes, el resultado es una expresin algebraica del tipo Y=F(X1, X2, Xn). En este artculo se trabaja con el tipo de anlisis de regresin ms usual: la regresin lineal que tiene una variable independiente Y=F(X). El usuario comn tiene contacto con la regresin lineal al usar las hojas electrnicas que implementen la deduccin de lneas de tendencia dada una serie de datos. Sin embargo, se percatar que existen varios lmites en esta tcnica, por ejemplo, los datos tienen comportamientos sinusoidales o siguen un comportamiento de alguna funcin algebraica o combinacin de funciones algebraicas por fuera del men ofrecido: lineal, polinomial, potencial, logartmica o exponencial. La regresin simblica (una aplicacin de la Programacin Gentica) tiene el mismo objetivo de la regresin lineal pero con un espectro mucho mayor de bsqueda y menos limitaciones: Dados los datos, buscar el patrn (expresin algebraica) que identifique el comportamiento de estos accediendo a todo tipo de funciones y combinaciones algebraicas.

SISTEMAS

Abstract
Regression analysis is a statistical analysis that aims to deduct the pattern in a series of data or research the statistical relation between a dependent variable (Y) and one or more dependent variables, the result is an algebraic expression type Y=F (X1, X2, Xn). This article has the most common regression analysis: lineal regression which has one independent variable Y=F(X). A common user comes into contact with lineal regression when using electronic sheets that implement tendency line deduction given a series of data. However, he/she will notice there are certain limits to this technique for example, the data has sinusoidal behavior or follows some algebraic function behavior or a combination of algebraic functions beyond the offered menu: lineal, polynomial, potential, logarithmic or exponential. Symbolic
Fecha de recepcin: 01 - 05- 2007

regression (a genetic programming application) has the same objective as lineal regression but with a much greater search spectrum and much less limitations: Given the data, it will search for the pattern (algebraic expression) that identifies their behavior ascending to all types of functions and algebraic combinations.

Palabras clave
Programacin gentica, regresin simblica, anlisis de regresin, inteligencia artificial, evolucin artificial, computacin evolutiva.

Keywords
Genetic programming, symbolic regression, regression analysis, artificial intelligence, artificial evolution, evolutionary computation
Fecha de aceptacin: 13 - 06 - 2007

76
Unilibre Cali

Entramado 2007; 5: 76-85

Moreno, R

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

La regresin simblica (una aplicacin de la Programacin Gentica) tiene el mismo objetivo de la regresin lineal pero con un espectro mucho mayor de bsqueda y muchas menos limitaciones. Dados los datos, buscar la expresin algebraica que identifique el comportamiento de estos accediendo a todo tipo de funciones y combinaciones algebraicas.

Introduccin
Si se tiene una serie de valores histricos, se puede predecir el comportamiento futuro? La respuesta es: Muy probable. Y cmo? Analizando esos valores histricos por si hay algn patrn que los conecta. Una vez encontrado el patrn ya se pueden hacer predicciones realistas. Y cmo se halla ese patrn? Existe un procedimiento estadstico llamado correlacin entre variables, pero no funciona en todos los casos. Qu otros procedimientos existen para hallar patrones cuando la correlacin falla? Existe uno llamado la regresin simblica que es una aplicacin de la Programacin Gentica (una rama de la Inteligencia Artificial).

el futuro si poseemos datos histricos. Se le conoce como Anlisis de Regresin. Por ejemplo, si se tienen los siguientes datos histricos
Mes
1 2 3 4 5

Valor
3 5 7 9 11

Se puede deducir que la ecuacin es: Valor = 2*mes+1 y con esa ecuacin se puede predecir que en el mes 6 el valor ser 13. En el ejemplo anterior, es relativamente sencillo deducir la ecuacin, pero si se enfrenta a datos histricos como por ejemplo:
Mes
1

Planteamiento del problema


Cmo se comportar el mercado en los prximos meses? Eso trasnocha a todo gerente porque si supiera qu va a pasar, entonces podra tomar medidas para maximizar la rentabilidad de la empresa o minimizar las prdidas. Saber qu suceder en el futuro es sueo de todo ser humano. Afortunadamente existe una herramienta estadstica que puede colaborarnos para visualizar cmo se comportar

Valor
7 10 18 28 44

2 3 4 5

Ya no es tan sencillo dar con una ecuacin. El anlisis de regresin nos permite encontrar ecuaciones que se aproximen a esos valores.

77

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

Anlisis de Regresin
Utilizando una hoja de clculo (como Microsoft Excel1) simplemente se escriben los datos como se ve en la imagen y se genera una grfica estadstica (Ver Grfica 1).

Grfica 1. Datos dados para generar una grfica estadstica con una hoja de clculo (como Microsoft Excel)

Se genera la lnea o curvas de tendencia para poder dar con la mejor ecuacin que se acerque a los datos histricos (Ver Grfica estadstica 2).

Grfica 2. Lnea o curva de tendencia generada

Hay varias curvas para escoger: lineal, exponencial, polinomial, etc. en el ejemplo se selecciona Lineal (Ver Grfica estadstica 3).

78
Unilibre Cali

Grfica 3. Tipos de curvas para escoger

Moreno, R

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

Presentar ecuacin en el grfico y Presentar el valor R cuadrado en el grfico (Ver Grfica 4).
Por ltimo en las opciones se selecciona

El resultado obtenido se puede oservar en la Grfica 5 (Ver grfica 5). La hoja de clculo dedujo que si es una lnea de tendencia recta, la ecuacin con mejor aproximacin es :

y=9,2x-6,2 con una aproximacin R2 = 0,9371


El valor R2 se conoce como coeficiente de correlacin lineal o correlacin de Pearson, el cual muestra la exactitud de la correlacin:

si tiene valor 1 la correlacin es perfecta, por encima de 0,65 se considera buena, entre 0,4 y 0,649 se considera regular y por debajo de este valor se considera mala. Lo ideal, por lo tanto, es que sea de valor 1.

Grfica 4. Indicaciones para agregar lnea de tendencia

Grfica 5. Resultado final: Grfica generada o curva de tendencia generada

79

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

La correlacin se calcula as:

Yt (tendencia): Es el resultado de reemplazar X en la


ecuacin deducida por la hoja de clculo.

Si seleccionamos otra ecuacin, como la polinomial de grado 2 se obtiene una ecuacin como la que se obserava en la Grfica 6, que es mejor. Inclusive la correlacin de Pearson est muy cercana a 1 (Ver Grfica 6).

X Ye Yt (tendencia) Ye- Ye Yt- Yt (Ye-Ye*Yt-Yt )


1 2 3 4 5 7 10 18 28 44 3 12,2 21,4 30,6 39,8 -14,4 -11,4 -3,4 6,6 22,6 -18,4 -9,2 0 9,2 18,4 264,96

104,88
0 60,72 415,84 846,40

Grfica 6: Ecuacin polinomial de grado 2

Ye Yt

= 21,4 (promedio) = 21,4 (promedio) Una segunda tcnica conocida como suma de diferencias absolutas puede ser usada para verificar la calidad de las ecuaciones (entre ms se acerque al valor cero o sea cero mejor) (Ver Tabla 1).
Diferencia absoluta entre Ecuacin 1 y Valor Y
4 2,2 3,4 2,6 4,2 16,4

Calculamos la covarianza:

Covarianza =

S(Ye -Ye )*(Yt -Yt )


n-1

846,4 5-1

=211,6

Mes Valor

Ecuacin 1

Ecuacin 2

Diferencia absoluta entre Ecuacin 2 y Valor Y


0 0,2 0,6 0,6 0,2 1,6

Sye

= Desviacin tpica

1 2 3

7 10 18 28 44

3 12,2 21,4 30,6 39,8

7 10,2 17,4 28,6 43,8

1 de Ye =

15,02664301

4 5

Sye = Desviacin tpica de Yt = 14,54647724


211,6 r= Covarianza= 15,02664301-14,54647724 =0,9680457

Sumando las diferencias

Tabla 1: Suma de diferencias

Sye * Syt

Correlacin de Pearson =r2 0,96804572= 0,9371125 que es el valor que nos muestra automticamente la hoja de clculo.

Efectivamente, en este caso, la ecuacin polinomial de grado 2 es ms precisa que la ecuacin lineal y por lo tanto, es mejor usar esa ecuacin para predecir el futuro (por ejemplo para saber cmo ser el sexto mes, solo ingrese el valor 6 a X). La labor del usuario, es entonces encontrar la mejor ecuacin (idealmente que la correlacin de Pearson sea uno(1) o la suma de diferencias absolutas sea cero).

80
Unilibre Cali

Moreno, R

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

Sin embargo, encontrar la mejor ecuacin para la serie de puntos que se observa en la Grfica 7 no es sencillo. La hoja de clculo nos lleva hasta un valor polinomial de grado 6, pero su correlacin de Pearson es 0,195, en otras palabras, no es posible con esta herramienta encontrar una correlacin adecuada. (Ver Tabla 2)

tendencia: polinomio (de grado 2 a grado 6), lineal, logartmica, potencial y exponencial. Estos son los pasos que deben darse para hacer regresin simblica (inspirados en cmo trabaja la naturaleza y la evolucin de las especies2):

Grfica 7: Ecuacin polinomial de grado 2

Ecuacin de lnea de tendencia


y = -0,2402x + 2,0044 y = -0,0458x*x + 0,9038x - 2,7433 y = -0,0083x*x*x + 0,2668x*x - 2,2155x + 3,6904 Tabla 2: Ecuacin polinomial de grado

Correlacin de Pearson
0,0291 0,0734 0,133

1. Se genera una poblacin inicial de N ecuaciones (formadas al azar). 2. A cada ecuacin se le deduce su correlacin de Pearson. 3. Ordene las ecuaciones en orden descendente (segn el dato de la correlacin de Pearson) y seleccione las M primeras. 4. Esas M ecuaciones son reproducidas y generan Q hijas, pero cada hija al azar se le hace un pequeo cambio (esto se conoce como mutacin) o la hija es el producto combinado de dos ecuaciones padres (esto se conoce como cruce). 5. Reemplace las Q ecuaciones peores de la poblacin inicial con las Q ecuaciones hijas. 6. Vuelva al punto 2 repitindose el ciclo constantemente hasta que se obtengan ecuaciones con un valor de correlacin de Pearson aceptable.
Ejemplo: Dada la siguiente serie de puntos

Una aplicacin de la programacin gentica para hallar las ecuaciones de correlacin: La regresin simblica.
La regresin simblica se define como la bsqueda de funciones que se ajusten a una serie de puntos dado. La regresin simblica tiene acceso a una mayor variedad de funciones (por ejemplo, funciones sinusoidales, valor absoluto, divisin modular, truncamiento, redondeos, polinomios de grado N, races, etc.) comparada con la bsqueda determinstica mostrada en la hoja de clculo que est limitada a trabajar con los siguientes tipos de

X
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Ye
0

0,00998334 0,03973387 0,08865606 0,15576734 0,23971277 0,33878548 0,45095238 0,57388487 0,70499422 0,84147098

81

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

Determinar la mejor ecuacin f(x) que dado el valor de X se acerque a Ye Paso 1: Se genera una serie de ecuaciones al azar (Poblacin=N=10)
Ecuacines generadas
Y = 2*seno(x)+coseno(x) Y = 5*tangente(x/3)-coseno(x/2) Y = 17-seno(x)+coseno(x) Y = 4.91-tangente(x)-coseno(x)+seno(x) Y = x*coseno(x)-seno(x) + 7.19 Y = x*x seno(x/2) + 3 Y = 2*x 4*seno(x) + 6*coseno(x) Y = 1-seno(2*x)+tangente(x)-seno(x)-tangente(x) Y = 2*seno(x)-coseno(x*x) Y = 5-seno(x*2)-coseno(x-x)+tangente(4)

Paso 2: Se deduce a cada ecuacin su correlacin de Pearson

Ecuacin
Y = 2*seno(x)+coseno(x) Y = 5*tangente(x/3)-coseno(x/2) Y = 17-seno(x)+coseno(x) Y = 4.91-tangente(x)-coseno(x)+seno(x) Y = x*coseno(x)-seno(x) + 7.19 Y = x*x seno(x/2) + 3 Y = 2*x 4*seno(x) + 6*coseno(x) Y = 1-seno(2*x)+tangente(x)-seno(x)-tangente(x) Y = 2*seno(x)-coseno(x*x) Y = 5-seno(x*2)-coseno(x-x)+tangente(4)

Correlacin de Pearson
0,945542986 0,960871256 0,964631111 0,510068073 0,961439088 0,924849655 0,985267147 0,771527756 0,963507321 0,629947087

Paso 3: Orden en forma descendente y tome los tres primeros puestos (M=3)
Ecuacin
Y = 2*x 4*seno(x) + 6*coseno(x) Y = 17-seno(x)+coseno(x) Y = 2*seno(x)-coseno(x*x) Y = x*coseno(x)-seno(x) + 7.19 Y = 5*tangente(x/3)-coseno(x/2) Y = 2*seno(x)+coseno(x) Y = x*x seno(x/2) + 3 Y = 1-seno(2*x)+tangente(x)-seno(x)-tangente(x) Y = 5-seno(x*2)-coseno(x-x)+tangente(4) Y = 4.91-tangente(x)-coseno(x)+seno(x)

Correlacin de Pearson
0,985267147 0,964631111 0,963507321 0,961439088 0,960871256 0,945542986 0,924849655 0,771527756 0,629947087 0,510068073

82
Unilibre Cali

Moreno, R

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

Paso 4: Tome esas M ecuaciones padres y genere Q hijas (las hijas varan por mutacin). Observe el cambio de padre a hija. En este caso cada padre genera una sola hija (Q=3)

Ecuacin padre
Y = 2*x 4*seno(x) + 6*coseno(x) Y = 17-seno(x)+coseno(x) Y = 2*seno(x)-coseno(x*x)

Ecuacin hija
Y = x 4*seno(x) + 6*coseno(x) Y = seno(x)+coseno(x) Y = 2*coseno(x)-coseno(x*x)

Paso 5: Reemplace las peores ecuaciones de la poblacin anterior con las hijas
Ecuacin
Y = 2*x 4*seno(x) + 6*coseno(x) Y = 17-seno(x)+coseno(x) Y = 2*seno(x)-coseno(x*x) Y = x*coseno(x)-seno(x) + 7.19 Y = 5*tangente(x/3)-coseno(x/2) Y = 2*seno(x)+coseno(x) Y = x*x seno(x/2) + 3 Y = x 4*seno(x) + 6*coseno(x) Y = seno(x)+coseno(x) Y = 2*coseno(x)-coseno(x*x)

Correlacin de Pearson
0,985267147 0,964631111 0,963507321 0,961439088 0,960871256 0,945542986 0,924849655

Paso 6: Vuelva al Paso 2 hasta que se obtenga una ecuacin cuya correlacin de Pearson sea aceptable (por ejemplo, ms de 0,9988). No hay un absoluto que as siempre se deba proceder en hacer regresin simblica utilizando programacin gentica, el concepto se mantiene pero los pasos pueden tener variaciones:

1. En el ejemplo se trabaj con una poblacin inicial de 10, pero tambin puede usarse 100, 1000 o 2000 (una poblacin grande dara ms variedad pero tambin requiere ms poder de cmputo). 2. Las ecuaciones generadas usan funciones como seno, coseno, tangente, pero podran haberse usado otras funciones como exponenciales, logaritmo natural, cosecante, etc. (Da una mayor variedad).

3. La funcin de evaluacin fue la correlacin de Pearson pero esta requiere varios clculos por ecuacin para conseguirla (lo que conlleva usar mucho poder de cmputo), quizs sea mejor usar otro clculo ms rpido, como la suma de diferencias absolutas. 4. La seleccin de las mejores ecuaciones para ser reproducidas fue simplemente ordenar de mayor a menor y extraer las primeras M ecuaciones; el nmero a escoger puede variar y la escogencia puede ser de otra manera (por torneo, por ruleta, etc.) siempre premiando las mejores pero no cerrndoles la puerta de tajo a las que no les fue tan bien. 5. Solo se gener una hija por padre. Pueden generarse dos o ms ecuaciones hijas,

83

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

adems solo se us el operador de mutacin para variar la hija del padre, tambin se puede hacer cruce. 6. Las ecuaciones hijas reemplazaron las peores ecuaciones, pero tambin puede usarse otra forma de reemplazo (por ejemplo, se escogen Q ecuaciones de la poblacin en forma aleatoria y esas sern reemplazadas por las hijas).

Conclusiones
Toda teora cientfica al final genera una aplicacin prctica, la Programacin Gentica y su aplicacin en regresin simblica es una aplicacin de la Teora de la Evolucin de las Especies de Charles Darwin. Solo es una pequea muestra de lo que se puede hacer con lo descubierto por Darwin. La regresin simblica nos permite ir ms all de la simple relacin causal entre dos variables, la realidad trabaja con muchas variables. Obsrvese la siguiente tabla:

Problemas con el uso de la Programacin Gentica


1. Requiere alto poder de cmputo. 2. Se debe pensar cmo formar las ecuaciones al azar, de tal manera que haya una gran variedad pero que sean algebraicamente correctas. 3. El resultado de este procedimiento depende mucho de cmo se implementa el algoritmo y los parmetros a usar (poblacin inicial, criterio de seleccin, nmero de hijos, reemplazo, etc.) 4. Consume gran cantidad de nmeros aleatorios (el generador de nmeros aleatorios debe tener un periodo bastante grande como el Mersenne Twister). 5. La simulacin puede que quede paralizada en un mximo local (La poblacin se qued formada con ecuaciones que por ms mutaciones o cruces se hagan, no hay forma de mejorar). 6. Las ecuaciones generadas no estn factorizadas e inclusive pueden tener operaciones que se anulan entre s (por ejemplo: x-x+x-x). 7. No hay garantas que la ecuacin encontrada sea la mejor.

Valor X
2 4 5 7

Valor Y
7 2 1 5

Valor Z
15 18 9 11

Valor Z es el resultado de una ecuacin en que participan el Valor X y el Valor Y. La pregunta es cul es la ecuacin?, ser Z=3*X-2*Y o Z=5*X*X+X*Y-3*Y o .? Si nos enfrentamos a problemas con tres, cuatro, cinco o ms variables involucradas? La vida es la respuesta a los problemas complejos de mltiples variables que nos plantea la realidad y la evolucin es la herramienta que la vida usa para resolverlos. Qu nos impide hacer uso de esta herramienta para resolver nuestros problemas?

84
Unilibre Cali

Moreno, R

Entramado

Vol.3 No. 1, 2007 (Enero - Junio)

CITAS
1 En Microsoft Excel, la desviacin tpica o desviacin estndar se calcula con la funcin =DESVEST(rango) 2 La programacin gentica tiene como base la Teora de la Evolucin de las Especies de Charles Darwin

BIBLIOGRAFA
SANTOS J., Richard J. Duro. Evolucin Artificial y Robtica Autnoma. Alfaomega, Ra-Ma. 2005. NILSSON Nils, J. . Inteligencia Artificial. Una nueva sntesis. McGrawHill. 2001. VLEZ, Antonio . Del Big Bang al Homo sapiens. Villegas Editores. 2004 DARWIN, Charles . El Origen de las Especies. 1859

Rafael Parra

Alberto

Moreno

Ingeniero de Sistemas. Universidad de San Buenaventura, Cali. Docente hora ctedra, facultad de Ingeniera de Sistemas, Universidad Libre, Cali. Docente hora ctedra, programa de Ingeniera de Sistemas e Ingeniera Industrial, Universidad de San Buenaventura.

85

Das könnte Ihnen auch gefallen