Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y...

50
Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia Discretas. Dr. Pedro Flores Pérez EMNO 2013

Transcript of Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y...

Page 1: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia Discretas.

Dr. Pedro Flores Pérez

EMNO 2013

Page 2: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Orígen del problema

Entradas

Proceso

Salidas

Características del material {

{ Condiciones del proceso

Page 3: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Las series de tiempo son modelos para pronóstico de comportamiento de datos reales.

¿Qué es una serie de tiempo?

Page 4: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Modelos Auto Regresivos

tptpttt azzzz +++++= −−− φφφδ ...2211

Donde zt representa el valor de la serie en el momento t.

Los δ y φ son parámetros que es necesario encontrar y es una variable aleatoria de “ruido”.

ta

Page 5: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Obtención del modelo El modelo para la serie de tiempo se obtiene resolviendo el siguiente problema de optimización:

Si Zt es la serie original y Yt es el pronóstico obtenido de la forma:

Yt = δ + φ1 Zt-1+ φ2 Zt-2+ … + φp Zt-p

Se requiere encontrar valores para δ y φi que minimicen la función RSS: n

Σ ( Zi – Yi )2 p

Page 6: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Para encontrar un modelo que satisfaga nuestro propósito, es necesario resolver las siguientes cuestiones:

1. ¿Cuántos términos p deben considerarse?

2. ¿En qué intervalos están los valores de los términos del punto 1?

3. ¿Cuáles son los k términos más adecuados?

4. ¿Cuáles son los valores de los k términos?

Obtención del modelo

Page 7: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Primero se construye una serie con la cual se

va a trabajar. Para esto se busca una serie

estacionaria aplicando varias veces el

operador de diferencias:

∇ Zt = Zt - Zt -1

y se elige la que en este proceso resulta con

mínima varianza.

Primer Algoritmo

Page 8: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Teniendo ya una serie estacionaria, se aplica el

siguiente resultado:

Si Zt es un modelo auto regresivo para una

serie estacionaria, entonces δ y φj satisface las

siguientes condiciones:

donde µ representa el promedio de la serie

Primer Algoritmo

µ = ____δ_____ 1 - Σ φj

⏐ φ1⏐ < 1 Σ φj < 1

Page 9: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

De este resultado obtenemos una propuesta

heurística para los límites de los coeficientes:

1. El φj término satisface que está en el

intervalo (-1.0,1.0) :

2. Una estimación del intervalo para:

δ es (0,| µ |) o (-| µ |,0)

Primer Algoritmo

Page 10: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Para calcular cuántos términos p son requeridos en nuestro modelo, nosotros usamos la función de autocorrelación y utilizamos una regla heurística tal que el número de términos p es 4 o el número de términos entre dos máximos consecutivos de la función de autocorrelación.

Primer Algoritmo

Page 11: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Una vez que se tiene un modelo auto regresivo para esta serie, se construye otro modelo auto regresivo para la serie original basado en el siguiente resultado:

Si yt es la serie de diferencias yt = xt – xt-1 y tiene un modelo de la forma:

yt = h0 + h1yt-1 +h2yt-2 + …. + hkyt-k

entonces xt = h0 + (1 + h1)xt-1 + (h2 – h1) xt-2 + .. + (hk –hk-1) xt-k – hkxt-k-1

es un modelo para la serie original.

Primer Algoritmo

Page 12: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

En el segundo algoritmo, se siguen los siguientes pasos:

1. Se obtiene la serie de diferencias que pudiera ser estacionaria.

2. Se calcula la función de autocorrelación de la última serie y con base en esta función, se estima el número de términos que el modelo de la serie original debiera tener.

3. El problema de optimización se resuelve con todos los coeficientes en (-1.0, 1.0).

Este es el algoritmo que se utiliza para calcular modelos de Funciones de Transferencia

Segundo Algoritmo

Page 13: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos Algoritmos que se utilizan para optimizar funciones tratando de simular el comportamiento de la naturaleza misma.

A) Selección natural

B) Cruzamiento Genético.

C) Mutación Genética.

Page 14: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos Para aplicarlos se requiere:

Una representación del individuo.

Una forma para crear una población inicial.

Una función de desempeño del individuo

Un procedimiento que seleccione a los mejores.

Operadores de cruzamiento y mutación

Page 15: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos En nuestra propuesta los individuos serán representados por vectores de coordenadas reales que tendrán dos partes: En la primera aparecerán los coeficientes de la expresión lineal de la serie de tiempo y en la segunda los cuatro parámetros autoadaptables que utilizaremos.

Page 16: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos (δ, φ1, φ2 , …, φp , *,*,*,*)

Los individuos de la población inicial

se crearán aleatoriamente generando

uniformemente sus coordenadas

entre los valores de los limites

establecidos de antemano para cada

coordenada.

Page 17: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos Para evaluar a un individuo se toman los coeficientes que aparecen en la primera parte del vector que representa al individuo, y se genera un vector de la misma longitud que la serie original, donde las coordenadas son los valores obtenidos por la expresión lineal.

Page 18: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos Con estos valores se estiman los errores en cada momento y la función de fitness que se utiliza es:

n Σ ( Zi – Yi )2 p

Page 19: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos

Los parámetros que se utilizan son:

tamaño de población,

probabilidad individual de cruzamiento,

repetición de cruzamiento,

probabilidad individual de mutación y

repetición de mutación.

Page 20: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos

En muestro modelo la probabilidad de

cruzamiento y de mutación serán

características de cada individuo (no de

la población como es tradicional en los

GA).El tamaño de población que

utilizamos en nuestra propuesta es de

100.

Page 21: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos Los SAGA fueron desarrollados por

Thomas Back. En ellos, los parámetros

que serán autoadaptables se codifican

en la representación del individuo por

lo cual son alterados por las acciones

de los operadores genéticos.

Page 22: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Algoritmos Genéticos Los mejores valores de estos parámetros producirán mejores individuos los cuales tienen mayor probabilidad de sobrevivir y en consecuencia propagaran los mejores valores de los parámetros. Cabe señalar que se sabe poco de las condiciones bajo las cuales un algoritmo autoadaptable tiene buenas propiedades de convergencia

Page 23: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Aplicación de SAGA Respecto a la forma en que se van a utilizar los SAGA podemos agruparlos en tres etapas. En la primera etapa se usaran para explorar el espacio de soluciones y determinar que variables son las mas importantes para el problema de que se trate.

Page 24: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Aplicación de SAGA En la segunda etapa se aplicaran para encontrar soluciones tomando en cuenta solo las variables importantes del problema y por ultimo, en la tercera etapa se afinaran las mejores soluciones.

Page 25: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

International Joint Conference on Neural Networks (IJCNN) 2007.

NN3 Neural Networks & Computational Intelligence Forecasting Competition.

NN3-Complete 29 participantes (3° lugar)

NN3-Reduced 53 participantes (6° lugar)

Sólo con modelos AR de 4 términos!!!!!!!!!!!

Competencia Internacional

Page 26: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 101

Page 27: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 102*

Page 28: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 103*

Page 29: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 104*

Page 30: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 105*

Page 31: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 106

Page 32: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 107*

Page 33: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 108

Page 34: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 109*

Page 35: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 110

Page 36: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 111

Page 37: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Funciones de Transferencia Las funciones de transferencia son modelos

matemáticos de la respuesta de un sistema ante los cambios de los valores de las variables de entrada del mismo.

Page 38: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Estamos interesados en construir modelos de la variable de salida como una suma de expresiones auto regresivas de las series de las variables de entrada y posiblemente también de la misma serie de salida.

Page 39: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Para lo anterior se utiliza una metodología semejante a la del tratamiento de series de tiempo pero donde se eligen de antemano cuantos términos se van a considerar de todas las series involucradas y aplicando el segundo de los algoritmos heurísticos construidos, donde los limites de las variables se toman en [-10, 10], encontramos modelos lineales para las funciones de transferencia.

Page 40: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

El algoritmo utilizado construye diversas soluciones distintas pero con valores bastante aproximados del error y para elegir la solución más adecuada se toma en cuenta la importancia de la variable de entrada con respecto a la salida tomando el coeficiente de correlación entre estas variables. Para esto se elige la solución en donde aparezca un mayor número de términos en las expresiones de las variables mas correlacionadas.

Page 41: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 1 En este ejemplo se desea estimar las ventas diarias de un cierto producto en base a los resultados de unas encuestas. A continuación aparece la gráfica de resultados de las encuestas:

Page 42: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Para calcular el modelo AR de este problema se tomara L=10 es decir se considera que la venta en un cierto día es función de las ventas y los resultados de las encuestas de los diez días anteriores. Se busca construir un modelo AR que a lo mas tenga 6 términos. Después de aplicar el algoritmo pidiendo 5 soluciones se obtuvieron los resultados: 2.1099 + 1.55271 - 0.56102 + 1.87311,0 - 0.83261,4 - 2.56791,9 16.865 0.9084 + 0.99801 + 0.86801,2 - 0.08021,3 - 0.06311,5 - 0.38141,7 17.322 -1.1815 + 1.27781 - 0.27183 + 3.61731,0 + 3.09691,5 - 3.16911,7 16.293 1.1461 + 0.99691 - 3.68551,1 - 0.50121,4 - 2.48591,5 - 3.20051,7 17.332 0.5842 + 0.75021 + 0.24962 - 0.20621,0 - 0.47591,3 + 0.47331,6 19.195 De estas se eligio la solución: 1.1461 + 0.99691 - 3.68551,1 - 0.50121,4 - 2.48591,5 - 3.20051,7 17.332

Page 43: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Que presenta visualmente retardo en el pronóstico. La grafica original tenia un valor de RSS igual a 17.3352 y un porcentaje de error de 0.4647. Después de aplicar el adelanto del pronóstico el valor de RSS fue de 5.1740 con un porcentaje de error de 0.1744. A continuación se presenta la gráfica de las ventas y del modelo sin aplicar retardo en el pronóstico.

Page 44: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Ejemplo 2

Estos datos corresponden a un reactor químico donde se tiene una entrada que es la velocidad de alimentación de un gas medida en cu. ft./min. y la salida es el %CO2 en los gases de salida. El problema es construir un modelo AR que prediga los valores del %CO2 . A continuación aparece la grafica de la velocidad de entrada del gas:

Page 45: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Para calcular el modelo AR de este problema se tomara L=10 es decir se considera que el %CO2 en un cierto minuto es función de las velocidades de entrada del gas de los diez minutos anteriores. Para este problema se busca construir un modelo AR que a lo mas tenga 6 términos. Después de aplicar el algoritmo pidiendo 5 soluciones se obtuvo el resultado: 1.3639 + 0.97491 – 0.14551,0 -0.20111,2 + 0.04751,6 + 0.04641,8 12.732 3.6344 + 0.99971 - 0.06745 -2.32341,2 + 3.64421,7 - 0.42631,8 11.697 1.4582 + 0.97311 + 0.55771,2 + 0.60371,4 + 1.01971,5 + 2.99461,7 12.732 0.5742 + 2.26721 - 1.27802 + 0.55461,5 + 2.07811,8 + 4.19851,9 8.965 0.4304 + 1.45591 - 0.46392 - 3.25841,2 - 3.89131,4 – 0.10041,5 8.452 De estas se eligó la solución: 1.3639 + 0.97491 – 0.14551,0 -0.20111,2 + 0.04751,6 + 0.04641,8 12.732 que presenta retardo en el pronostico, al aplicarle la operación de adelanto se obtuvo una grafica con RSS de 1.5236 y un porcentaje de error de 0.1259. En la grafica siguiente aparece la solución que presenta retardo en el pronostico.

Page 46: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·
Page 47: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Tercer ejemplo. Este ejemplo consiste en modelar la FT de un proceso en donde la entrada es el índice de nubosidad promedio y la salida es la temperatura promedio ambas medidas diariamente en la ciudad de Taipei en Taiwán durante el periodo del 1 de Junio al 30 de Septiembre del 2006. Este problema ya había sido tratado antes en la literatura y con nuestra metodologia se mejoran los resultados ya presentados. A continuacion se presenta la variación del índice de nubosidad.

Page 48: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Con el modelo aquí obtenido (no se presentan detalles) se tiene la siguiente gráfica para el pronóstico de temperatura que presenta el fenómeno de retardo en el pronóstico.

Page 49: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Los modelos obtenidos producen mejores

resultados al compararlos con modelos lineales

obtenidos con otras metodologías, y en algunos

casos, mejoran los resultados obtenidos con

modelos no lineales.

Conclusiones

Page 50: Algoritmos Genéticos para la Construcción de Modelos Autorregresivos para Series de Tiempo y Funciones de Transferencia …lya.fciencias.unam.mx/gfgf/cubamex2013/miercoles/pedro.pdf ·

Se pueden modelar problemas que no pueden ser tratados con las metodologías

tradicionales.

Se cuenta con una propuesta de metodología automatizada y robusta para la

obtención de modelos de Series de Tiempo y funciones de transferencia

GRACIAS!!!!

Conclusiones