Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dialnet ProgramacionGenetica 3991956 PDF
Dialnet ProgramacionGenetica 3991956 PDF
Programación genética:
La regresión simbólica
Rafael Alberto Moreno Parra
Resumen
El análisis de regresión es una técnica estadística que busca deducir el patrón de una serie de datos o
investigar la relación estadística entre una variable dependiente (Y) y una o más variables independientes,
el resultado es una expresión algebraica del tipo Y=F(X1, X2, …Xn). En este artículo se trabaja con el tipo de
análisis de regresión más usual: la regresión lineal que tiene una variable independiente Y=F(X). El usuario
común tiene contacto con la regresión lineal al usar las hojas electrónicas que implementen la deducción
de líneas de tendencia dada una serie de datos. Sin embargo, se percatará que existen varios límites en
esta técnica, por ejemplo, los datos tienen comportamientos sinusoidales o siguen un comportamiento
SISTEMAS
de alguna función algebraica o combinación de funciones algebraicas por fuera del menú ofrecido:
lineal, polinomial, potencial, logarítmica o exponencial. La regresión simbólica (una aplicación de la
Programación Genética) tiene el mismo objetivo de la regresión lineal pero con un espectro mucho mayor
de búsqueda y menos limitaciones: Dados los datos, buscará el patrón (expresión algebraica) que identifique
el comportamiento de estos accediendo a todo tipo de funciones y combinaciones algebraicas.
1 7
¿Cómo se comportará el mercado en los próximos 2 10
meses? Eso trasnocha a todo gerente porque si supiera 3 18
qué va a pasar, entonces podría tomar medidas para
4 28
maximizar la rentabilidad de la empresa o minimizar las
5 44
pérdidas. Saber qué sucederá en el futuro es sueño de
todo ser humano.
Ya no es tan sencillo dar con una ecuación. El análisis
Afortunadamente existe una herramienta estadística que de regresión nos permite encontrar ecuaciones que se
puede colaborarnos para visualizar cómo se comportará aproximen a esos valores.
77
Entramado Vol.3 No. 1, 2007 (Enero - Junio)
Análisis de Regresión
Utilizando una hoja de cálculo (como Microsoft Excel1) simplemente se escriben los datos como se ve en la imagen y
se genera una gráfica estadística (Ver Gráfica 1).
Gráfica 1. Datos dados para generar una gráfica estadística con una hoja de cálculo (como Microsoft Excel)
Se genera la línea o curvas de tendencia para poder dar con la mejor ecuación que se acerque a los datos históricos
(Ver Gráfica estadística 2).
Hay varias curvas para escoger: lineal, exponencial, polinomial, etc. en el ejemplo se selecciona “Lineal” (Ver Gráfica
estadística 3).
Por último en las opciones se selecciona “Presentar El resultado obtenido se puede oservar en la Gráfica 5
ecuación en el gráfico” y “Presentar el valor R (Ver gráfica 5).
cuadrado en el gráfico” (Ver Gráfica 4).
La hoja de cálculo dedujo que si es una línea de tendencia
recta, la ecuación con mejor aproximación es :
79
Entramado Vol.3 No. 1, 2007 (Enero - Junio)
Ye = 21,4 (promedio)
Una segunda técnica conocida como suma de diferencias
Yt = 21,4 (promedio) absolutas puede ser usada para verificar la calidad de las
ecuaciones (entre más se acerque al valor cero o sea cero
Calculamos la covarianza: mejor) (Ver Tabla 1).
Diferencia Diferencia
Covarianza =
S(Ye -Ye )*(Yt -Yt )
846,4 absoluta absoluta
= =211,6 Mes Valor Ecuación entre Ecuación entre
n-1 5-1 Y 1 Ecuación 1 y
Valor Y
2 Ecuación 2 y
Valor Y
1 7 3 4 7 0
Sye = Desviación típica
2 10 12,2 2,2 10,2 0,2
r= Covarianza= 15,02664301
211,6
- 14,54647724
=0,9680457 Efectivamente, en este caso, la ecuación polinomial de
Sye * Syt grado 2 es más precisa que la ecuación lineal y por lo
tanto, es mejor usar esa ecuación para predecir el futuro
(por ejemplo para saber cómo será el sexto mes, solo
Correlación de Pearson =r2 0,96804572= 0,9371125 ingrese el valor 6 a X).
que es el valor que nos muestra automáticamente la hoja
de cálculo. La labor del usuario, es entonces encontrar la mejor
ecuación (idealmente que la correlación de Pearson sea
uno(1) o la suma de diferencias absolutas sea cero).
80
© Unilibre Cali
Moreno, R
Sin embargo, encontrar la mejor ecuación para la serie tendencia: polinomio (de grado 2 a grado 6), lineal,
de puntos que se observa en la Gráfica 7 no es sencillo. logarítmica, potencial y exponencial.
La hoja de cálculo nos lleva hasta un valor polinomial Estos son los pasos que deben darse para hacer regresión
de grado 6, pero su correlación de Pearson es 0,195, simbólica (inspirados en cómo trabaja la naturaleza y la
en otras palabras, no es posible con esta herramienta evolución de las especies2):
encontrar una correlación adecuada. (Ver Tabla 2)
1. Se genera una población inicial de N ecuaciones
(formadas al azar).
2. A cada ecuación se le deduce su correlación de
Pearson.
3. Ordene las ecuaciones en orden descendente
(según el dato de la correlación 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 pequeño
cambio (esto se conoce como mutación) o la hija
es el producto combinado de dos ecuaciones pa-
Gráfica 7: Ecuación polinomial de grado 2
dres (esto se conoce como cruce).
5. Reemplace las Q ecuaciones peores de la pob-
Ecuación de línea de tendencia Correlación de Pearson lación inicial con las Q ecuaciones hijas.
y = -0,2402x + 2,0044 0,0291 6. Vuelva al punto 2 repitiéndose el ciclo constante-
y = -0,0458x*x + 0,9038x - 2,7433 0,0734 mente hasta que se obtengan ecuaciones con un
y = -0,0083x*x*x + 0,2668x*x - 2,2155x + 3,6904 0,133 valor de correlación de Pearson aceptable.
Tabla 2: Ecuación polinomial de grado
Ejemplo: Dada la siguiente serie de puntos
Una aplicación de la X Ye
Ecuaciónes 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)
Y = 2*seno(x)+coseno(x) 0,945542986
Y = 5*tangente(x/3)-coseno(x/2) 0,960871256
Y = 17-seno(x)+coseno(x) 0,964631111
Y = 4.91-tangente(x)-coseno(x)+seno(x) 0,510068073
Y = x*coseno(x)-seno(x) + 7.19 0,961439088
Y = x*x – seno(x/2) + 3 0,924849655
Y = 2*x – 4*seno(x) + 6*coseno(x) 0,985267147
Y = 1-seno(2*x)+tangente(x)-seno(x)-tangente(x) 0,771527756
Y = 2*seno(x)-coseno(x*x) 0,963507321
Y = 5-seno(x*2)-coseno(x-x)+tangente(4) 0,629947087
Paso 3: Orden en forma descendente y tome los tres primeros puestos (M=3)
82
© Unilibre Cali
Moreno, R
Paso 4: Tome esas M ecuaciones padres y genere Q hijas (las hijas varían por mutación). Observe el cambio de
padre a hija. En este caso cada padre genera una sola hija (Q=3)
Paso 5: Reemplace las peores ecuaciones de la población anterior con las hijas
Paso 6: Vuelva al Paso 2 hasta que se obtenga una 3. La función de evaluación fue la correlación
ecuación cuya correlación de Pearson sea aceptable de Pearson pero esta requiere varios cálculos
(por ejemplo, más de 0,9988). por ecuación para conseguirla (lo que
No hay un absoluto que así siempre se deba proceder
conlleva usar mucho poder de cómputo),
en hacer regresión simbólica utilizando programación quizás sea mejor usar otro cálculo más
genética, el concepto se mantiene pero los pasos pueden rápido, como la suma de diferencias
tener variaciones: absolutas.
4. La selección de las mejores ecuaciones para
1. En el ejemplo se trabajó con una población ser reproducidas fue simplemente ordenar
inicial de 10, pero también puede usarse de mayor a menor y extraer las primeras
100, 1000 o 2000 (una población grande M ecuaciones; el número a escoger puede
daría más variedad pero también requiere variar y la escogencia puede ser de otra
más poder de cómputo). manera (por torneo, por ruleta, etc.)
2. Las ecuaciones generadas usan funciones siempre premiando las mejores pero no
como seno, coseno, tangente, pero cerrándoles la puerta de tajo a las que no
podrían haberse usado otras funciones les fue tan bien.
como exponenciales, logaritmo natural, 5. Solo se generó una hija por padre. Pueden
cosecante, etc. (Da una mayor variedad). generarse dos o más ecuaciones hijas,
83
Entramado Vol.3 No. 1, 2007 (Enero - Junio)
84
© Unilibre Cali
Moreno, R
CITAS
1 En Microsoft Excel, la desviación típica o desviación estándar se calcula con la función =DESVEST(rango)
2 La programación genética tiene como base la Teoría de la Evolución de las Especies de Charles Darwin
BIBLIOGRAFÍA
SANTOS J., Richard J. Duro. Evolución Artificial y Robótica Autónoma. Alfaomega, Ra-Ma. 2005.
VÉLEZ, Antonio . Del Big Bang al Homo sapiens. Villegas Editores. 2004