Está en la página 1de 93

í

r:

Departamento de Computación
Facultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires

Tesis de Licenciatura

Estudio comparativo de redes


neuronales artificiales aplicadas
a un problema de predicción
,
,

Pablo Duarte
Pablo Rodríguez

DIRECTORA

Evangelina Lapenta
CO-DIRECTOR

Dr. Juan M. Santos

t:
{

e
Contenido

1. Resumen t, •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 4

2. Introducción , 5

3. Estado del arte........•...•.•......,............•......................•............................................ 7

4. Predicción de Series de tiempo 11

4.1. Introducción , 11

4.2. T écnicas estadísticas 1S


4.2.1. Factores a considerar 15
4.2.2. Modelado de una serie de tiempo 19

4.3. RNs aplicadas a la predicción de series de tiempo •.••••..•..••..•••••••••.•••••••••••.••.•••


21
4.3 .1. Conceptos básicos 21
4.3.2. Componente temporal en la entrada a la RN 22
4.3.3. Componente temporal en la estructura de la RN 26

4.4. Algoritmos de RN utilizados ••••••••••••••.••.••••••••••••.••.••.••.••••••••••••••••.••••.•.••••••••••••••


28
4.4.1. Retropropagación 29
4.4. 1.1. Descripción del algoritmo 29
4.4.1.2. Implementación 34
4.4.2. RNs Modulares 41
4.4.2.1. Descripción del algoritmo 41
4.4.2.2. Implementación 46
4.4.3. RN recurrente con retroalimentación interna 51
4.4.3. l. Descripción del algoritmo 51
4.4.2.1. Implementación , , 52
4.4.4. RN recurrente con retroalimentación externa ,..' 56
4.4.4.1. Descripción del algoritmo , 56
4.4.4.2. Implementación , ,.., 60

4.5. Métricas utilizadas para el error ..••.•••••••.••••••••••••.•••.••••••.....••.•...•...•...•••..•••.••••••


63

5. Predicción de Ventas 66

5.1. Análisis de la serie de tiempo utilizada •..••.••.•...•.•.•••.........••....•..•..••..••..•.•.....•..•


66
(

r:

r: 2
('

r
5.2. Metodología 73

5.3. Comparación de resultados .•••...••.•..•..•..•.•...••••....••••.••••...•••••••••••••.•.••.•..•..•.•.•.•••


75

6. Predicción de la altura del rio Paraná 79

6.1. Introducción 79

6.2. Descripción del problema .......••.•.•...•...••.............•....•.•....•....••....•.......................80

6.3. Métodos actualmente utilizados •••.•...........•...•..•......•••.••.••.•.••.................•..•.•••••.


81

6.4. Metodología 82

6.5. Comparación de resultados ......................................•...............•..............•...•.•.•• 85

7. Conclusiones 87

8. Referencias 89

r:

r:
r:
r 3
1. Resumen

En el presente trabajo se estudia la aplicabilidad del paradigma de Redes


Neuronales Artificiales para la predicción de series de tiempo. El estudio fue
focalizado sobre el análisis comparativo de distintas arquitecturas y reglas de
aprendizaje aplicadas a la resolución de problemas reales. Fueron consideradas,
básicamente cuatro arquitecturas: retropropagación (Backpropagationi, redes
neuronales modulares, redes recurrentes con retroalimentación externa y con
retroalimentación interna. El desempeño de estos modelos fue evaluado mediante
su aplicación a dos casos de estudio para los cuales se disponía de datos reales.
Para el primero de ellos, la predicción de ventas de vinos en Australia (durante el
período 1980-1995). Los resultados fueron comparados contra los obtenidos a
partir de modelos estadísticos habitualmente utilizados en la predicción de series
de tiempo. Dicha comparación mostró un desempeño similar de ambos
paradigmas.
(
Para el segundo caso de estudio, la predicción de la altura del río Paraná en
la provincia de Corrientes, también fueron aplicados los modelos de redes
( neuronales artificiales. Los resultados obtenidos en este caso fueron mejores que
(
en el primer problema evaluado. A su vez, se observó que también mejoran los
resultados obtenidos a partir de un modelo mixto (Hidrodinámico ajustado con un
modelo ARIMA) específicamente diseñado para el problema en cuestión por los
especialistas del Instituto Nacional del Agua (INA).

4
2. Introducción

En el presente trabajo se estudia la predicción de series de tiempo bajo el


paradigma de redes neuronales artificiales (RNs). Para conseguir esto, se analizan
distintas alternativas (arquitecturas, dinámicas y reglas de aprendizaje) de RNs que
toman la historia de una serie de tiempo y a partir de esta información, generan
estimaciones acerca del valor futuro de la serie.
La primera alternativa analizada es retropropagación. Esta fue incluida en el
trabajo con la finalidad de evaluar el desempeño del modelo más difundido de RNs
y compararlo con otro tipos de redes, para el problema particular de predicción de

series de tiempo.
Se analizan también las RNs modulares. Estas RNs se basan en la
posibilidad dividir el conjunto de aprendizaje en subconjuntos. Cuando se emplean
RNs modulares, se consigue que un grupo de RNs compita para modelar distintos
aspectos del problema. Las mismas son coordinadas por una RN denominada RN
Controlante, la cual particiona el problema y asigna a cada RN la parte que le
corresponde resolver. Se considera esta alternativa para determinar si es posible
particionar el problema de predicción de series de tiempo, y de esta forma obtener
mejores resultados.
Por último, se consideran dos alternativas de RNs recurrentes. La primera,
con conexiones recurrentes internas (Modelo propuesto por Jordan); y la segunda,
de conexiones recurrentes externas (Modelo propuesto por Werbos). Estas RNs
fueron utilizadas debido a que, por su estructura, cuentan con la posibilidad de
modelar información temporal.
Las distintas estructuras del RNs fueron aplicadas a dos casos concretos de
predicción de series de tiempo:

5
A) Predicción de volumen de ventas futuro. Se trata de una serie de
tiempo que contiene las ventas mensuales de vinos en Australia a
lo largo de 15 años. Se predicen las ventas mensuales un paso

hacia delante.

B) Predicción de la altura del río Paraná. Los datos consisten en


mediciones diarias de los principales factores que determinan la
altura futura del río (precipitaciones, variaciones de caudal en los
afluentes, etc.). En este caso, se predice la altura del río Paraná,
un día en el futuro.

Para los dos casos considerados, se comparan las soluciones obtenidas a


partir de las RNs con aquellas que resultan de modelos estadísticos habitualmente
utilizados en la predicción de series de tiempo. Para establecer dicha comparación
se ha recurrido a diferentes métricas presentadas en este trabajo.

6
3. Estado del arte

La utilización de RNs con la. finalidad de predecir series de tiempo no es


algo nuevo. En el año 1964 Hu [16] utilizó una red lineal adaptable (red de
Widrow) para realizar predicciones climatológicas. Sin embargo, la falta de un
algoritmo que permitiera resolver problemas no linealmente separables limitaba en
gran medida el avance de la investigación. Esta limitación duró hasta que en el año
1986 el algoritmo de retropropagacion [10] abrió el campo de investigación en las
RNs.
Debido a que es el modelo más difundido, centraremos nuestra atención
principalmente en las RNs con alimentación hacia adelante, y otros modelos que
surgen como variantes del anterior. Este tipo de RNs es el más empleado en
problemas de predicción por su inherente capacidad de relacionar valores de
entrada con valores de salida arbitrarios (ver sección 4.4.1 para más detalles). A
continuación se describen algunos trabajos en este campo.
Tal como observan Zhang y Hu en [32], varios investigadores se centraron
en el tema de encontrar RN s con el tamaño apropiado para realizar la predicción de
series de tiempo del mundo real (no generadas en laboratorio). Weigend [17]
propuso un método de poda de pesos llamado eliminacion de pesos. Introduciendo
a la función de costo del algoritmo de retropropagación un término que penaliza la
complejidad de la RN, este método elimina conexiones dinámicamente, y ayuda a
solucionar el problema de sobre ajuste (overfitting [1]). Cottrel [18] también
analiza el problema de modelado general de RNs. En su trabajo, sugiere un método

r:

r: 7
r:
estadístico para eliminar los pesos insignificantes basándose en las propiedades
asintóticas de los pesos.
Lachtermacher y Fuller [19: utilizaron un modelo híbrido, combinando
Box-Jenkins y RNs con el propósito de mimimizar el tamaño de la RN. En la fase
exploratoria, se utiliza Box-Jenkins para encontrar el modelo ARIMA apropiado.
En la fase de modelado, se construye una RN en base a algunas heurísticas e
información obtenida en la primera etapa del algoritmo. En este sentido, Auda y
Kamel [15] muestran cómo la utilización de RNs Modulares disminuye el tamaño
de las arquitecturas de RNs necesarias para modelar un problema, con el
consiguiente ahorro en tiempo de procesamiento y en tamaño de almacenamiento
(ver sección 4.4.2 para más detalles).
Kuan y Liu [20] sugirieron un procedimiento en dos fases para construir
una RN con alimentación hacia adelante o recurrente, con el propósito de predecir
series de tiempo. En el primer paso, se usa el criterio estocástico de complejidad
predictiva [21] para seleccionar la estructura de la RN. En el segundo paso, se
utiliza el método no lineal de mínimos cuadrados para estimar los parámetros de la
RN. Barker [22] desarrolló un sistema híbrido, combinando una RN con un
sistema experto.
Pelikan [23] presentó un método para combinar varias RNs. En su trabajo,
muestra que el resultado conjunto de varias RNs muestra mejorías sobre una sola
RN o sobre la regresión lineal. Ginzburg y Horn [24] también utilizaron dos RNs
combinadas para mejorar la precisión en la predicción de series de tiempo. Una
de ellas se utiliza para modelar la serie de tiempo en sí, mientras que la segunda
RN se utiliza para modelar el error cometido por la primera. De esta forma, las
predicciones realizadas por la primera RN son ajustadas con las predicciones de su
error realizadas por la segunda RN.
Jordan [31][1] propone un modelo recurrente con retroalimentación interna,
orientado a reconocer y reproducir secuencias temporales. En él, se utiliza la salida

8
de la RN como entrada a la misma RN pero para el siguiente paso en el tiempo.
Para lograr esto, las salidas son almacenadas en una unidad llamada de contexto,
que funciona como una memoria auxiliar donde se va llevando la historia de la
serie (ver sección 4.4.4 para más detalles).
Zhang [25] propone un modelo basado en múltiples RNs en cascada,
utilizadas para realizar la predicción de series de tiempo, varios pasos hacia
delante. La idea consiste en que la primera RN se utiliza para modelar la serie de
tiempo y predecir un paso hacia delante. La segunda RN, predecirá uno y dos
pasos hacia delante tomando como entrada, la entrada y la salida de la primera RN
(es decir, la serie y la predicción un paso hacia delante realizada por la primer RN).
Siguiendo de esta forma, la RN número n toma como entrada los valores pasados
de la serie, más las n-I predicciones realizadas por la RN número n-l. Como
salida, se obtiene una predicción de la serie de tiempo, de 1 a n pasos en el futuro.
Por otro lado, Harrald [30] utilizó una combinación de RNs seleccionadas
mediante un algoritmo genético. Estas RNs generan una predicción conjunta. Los
resultados de esta predicción fueron comparados favorablemente contra el método
de mínimos cuadrados y el método Kernel, los cuales son habitualmente utilizados
en predicción de series de tiempo económicas. Werbos [11] introduce una
variación al algoritmo de retropropagación, denominado retropropagación a través
del tiempo, que utiliza para entrenar una arquitectura recurrente con
retroalimentación externa. Esta arquitectura es llamada red recurrente de retraso
de tiempo (Time-Lagged Recurrent Network), y consiste en tres RN
interconectadas, las cuales son alimentadas con la serie de tiempo en distintos
puntos temporales (ver sección 4.4.3 para más detalles).
Las RNs también han sido utilizadas como una herramienta auxiliar que
permita seleccionar el método de predicción e identificación del modelo ARIMA.
Chu y Widjaja [26] propusieron un sistema de RNs para seleccionar el método de

9
predicción. Dicho método se elige entre un conjunto de seis variantes de suavizado
exponencial (exponential smoothing).
Jhee [27] utiliza una RN para la identificación de modelos Box-Jenkins.
Dos RNs son utilizadas independientemente para modelar la función de
autocorrelación y la de autocorrelación parcial de las series estacionarias. Sus
salidas dan el orden del modelo auto regresivo de media móvil (ARMA). Reynolds
[28] también propuso un método basado en RNs para realizar la identificación del
modelo Box-Jenkins. Se utilizan dos RNs. La primera se usa para determinar el
número de diferencias regulares requeridas para hacer estacionaria una serie no
estacional, mientras que la segunda RN realiza la identificación del modelo
ARMA basada en la información de:la función de auto correlación y la función de
auto correlación parcial.
Más recientemente, se está aplicando la teoría de onditas en conjunto con
RNs. Thomason [29] propuso el procesamiento de una serie de tiempo mediante la
transformación discreta de onditas (Discrete Wavelet Transform, DW1). La serie
resultante se utiliza como entrada para una RN de retropropagación estándar. Los
resultados obtenidos en la predicción fueron mejores que los obtenidos mediante el
pre-procesamiento de la serie con métodos habitualmente utilizados (diferenciado,
promedio móvil, etc).

10
4. Predicción de Series de tiempo

4.1. Introducción

El problema principalmente analizado en este trabajo (predicción de


ventas, utilizando para ello los datos históricos disponibles), es básicamente un
problema de predicción de series de tiempo. Denominamos serie de tiempo a una
colección de observaciones hechas secuencialmente en el tiempo [3].
Consideremos los siguientes ejemplos:

• La cotización del dólar en los últimos meses, medida cada hora.


• El promedio diario de temperatura de los últimos cinco años.
• Las ventas diarias de un determinado producto en un período de 3 años.

En una serie de tiempo, los valores correspondientes a la medición realizada


en el tiempo t, pueden ser dependientes de los valores medidos en tiempo t-I , t-Z, ..,
t-n. Cuando esto sucede, el valor medido en el tiempo t puede ser predicho a partir
de los valores pasados de la serie.
Es importante aclarar que cuando hablamos de predicción, no estamos
hablando de saber con seguridad lo que ocurrirá en el futuro. Por el contrario,
predecir, según el empleo de la palabra que haremos de aquí en adelante, consiste
en estimar valores futuros de una función desconocida, en base a la historia
conocida de dicha función. De acuerdo a esta definición, podemos ver que las
predicciones a las que hacemos mención, como ocurre con las estimaciones en
general, estarán sujetas a error. De hecho, existe una parte del presente trabajo
dedicada a la medición de dichos errores.

11
Se dice que una serie es deterministica si puede ser calculada exactamente a
partir de sus valores pasados. En este caso, la serie puede ser vista de la siguiente

forma:

La gran mayoría de las senes de tiempo no pueden ser calculadas


exactamente. Si bien frecuentemente existe una dependencia de los valores
pasados de la serie, también es habitual que se presente una componente no
determinística que influye sobre los valores futuros. Esto último, imposibilita el
cálculo exacto de los valores futuros de la serie. Este tipo de series son
denominadas estocásticas, y las mismas pueden ser vistas de la siguiente forma:

Xt+l = f (x¿ x..), X t-2 , ... , x t-n) + LÍt,


donde L1t es la componente no determinística de la serie, también llamada error.
Dada la cantidad de series de tiempo estocásticas existentes, y la
imposibilidad de predecir el valor exacto de xt+ 1 , se recurre a diversos modelos de
aproximación. Entre los modelos estadísticos, uno de los más populares es el
ARIMA (Autoregressive Integrated Moving Average), también conocido por Box-
Jenkins.
Podemos clasificar las series de tiempo básicamente en dos tipos:

• Series univariadas: constan de la medición de una sola variable en el


tiempo. Por ejemplo, valor de cotización de una acción minuto a minuto.

• Series multivariadas: están compuesta por la medición de un número de


variables en el tiempo. Por ejemplo, valores de presión sanguínea, pulso,
y respiración de un paciente, tomados cada hora.

12
Existen factores que afectan el comportamiento de una sene de tiempo,
siendo de utilidad su consideración en algunos casos. Por ejemplo, podemos decir
que el precio de un producto influenciará la venta del mismo, o incluso la venta de
otro producto del mismo tipo. Estos factores normalmente pueden ser incorporados
a la serie principal, conformando en conjunto una serie multivariada.
Por otro lado, en una gran cantidad de problemas no es posible tomar en
cuenta estos factores "laterales". Esto puede deberse a diferentes motivos:

• Estos factores no son cuantificables. Por ejemplo, considérese el caso de


cotización de acciones. En este caso, la serie depende de innumerables
factores externos, adicionales a los valores pasados de la serie. Algunos
de estos factores podrían ser: crisis de una bolsa internacional,
declaraciones de un funcionario sobre el panorama económico, etc.

• No se dispone de la información necesaria. Por ejemplo en el caso de


ventas en supermercado, la venta de un producto esta relacionada con su
ubicación dentro del local, pero lamentablemente, en muy pocos casos
se contará con información acerca de la ubicación de un producto en las
bases históricas.

En otros casos, existen factores laterales que están cercanamente


relacionados con los datos disponibles. Cuando esto ocurre, pueden llegar a
reemplazarse estos factores con la i formación mencionada. Para ilustrar esto, se
puede considerar por ejemplo que las ventas dentro de un supermercado están
influenciadas por numerosas variables económicas (por ejemplo, nivel de
actividad, salario mínimo, etc.). Si bien en un primer análisis parece indispensable
la inclusión de estas variables en un problema de predicción, es probable que esta

13
información esté de alguna forma reflejada en otras senes de ventas dentro del
mismo supermercado. Por ejemplo, analizar las ventas de ciertos productos que no
son de primera necesidad puede reflejar el nivel de consumo de la economía de un

lugar.

14
4.2. Técnicas estadísticas

4.2.1. Factores a considerar

En el estudio de las senes de tiempo, podemos identificar distintos


elementos que conforman una serie de tiempo y que se pueden aislar. Estos efectos
se pueden resumir en lo siguiente:

Tendencia: algunas senes de tiempo presentan una variación


sistemática en la media. Por ejemplo, consideremos la serie de tiempo
obtenida a partir de las mediciones de la población mundial desde el
comienzo el año 1900 hasta la actualidad. En este caso, la media de la serie
irá en crecimiento constante. Se dice, entonces, que la serie presenta una
tendencia.

Efecto estacional: ciertas series de tiempo se ven influenciadas por


efectos que están ligados a un momento del año, del mes, etc. Por ejemplo
el consumo de bebidas tiene un aumento considerable durante el periodo
estival. Si existe una tendencia en la serie, y el tamaño del efecto estacional
es directamente proporcional a la media, se dice que el mismo es
multiplicativo, por el contrario si el efecto estacional se mantiene constante
en el tiempo se dice que es aditivo.

En [3] pueden verse varios modelos para el estudio de series de tiempo.


Dichos modelos, requieren que la serie analizada sea "estacionaria". A
continuación se puede ver la definición de este tipo de series de tiempo:

15
Series estacionarias: son aquellas senes de tiempo en las que no existe
ningún cambio sistemático en la media (no hay tendencia), ni presentan un
cambio sistemático en la varianza, y las variaciones estrictamente
estacionales han sido removidas.

Es importante notar que la mayoría de las series de tiempo que pueden


resultar de interés, no son estacionarias. Con lo cual se recurre a un número de
técnicas que permiten transformar una serie en estacionaria. A continuación
podemos ver las técnicas más frecuentemente utilizadas para tal fin:

Ajuste por curvas (Curve fitting): se genera una curva polinomial que siga
la misma tendencia que la serie estudiada. La serie residual, obtenida a
partir de la diferencia entre la serie modelada y la curva generada estaría
libre de tendencia.

Filtros: son transformaciones que se pueden aplicar a una serie de tiempo, y


que permiten remover efectos estacionales. Un ejemplo de este tipo de
filtros podría ser la transformación de la serie usualmente llamada media
móvil (Moving Average). La misma es utilizada también para el modelado
de series de tiempo, como puede verse en detalle en [3].

Diferenciación: se trata de un procedimiento que resulta de especial


utilidad para remover tendencia. Para datos sin variaciones estacionales
pero con tendencia, se utiliza una técnica denominada diferenciación de
primer orden. La misma consiste en lo siguiente:

Delta xt+ 1 = Xt+ 1- x,

16
Es decir, se obtiene una nueva serie a partir de la resta de cada valor
con el anterior.
Por el contrario, para series con variaciones estacionales con período
p (por ejemplo, en el caso de mediciones mensuales de las precipitaciones
acumuladas, tendríamos p= 12), se utiliza el operador Dp. Mediante el uso
de este operador, se aplica diferencia entre cada elemento de la serie y aquel
que se encuentra a una distancia p hacia atrás. Es decir:

Para estos casos, en ocasiones puede ser necesario aplicar el operador


D(Dp) si el efecto estacional es aditivo, o el operador D2p si el efecto
estacional es multiplicativo [12]. Pero esto depende de la serie en cuestión,
y es posible que por sí solo el operador Dp sea suficiente para remover el

efecto estacional.
Es importante notar que diferenciar más allá de lo necesario puede
ser perjudicial debido a que se puede estar perdiendo información relevante
en el comportamiento de la serie. Por este motivo, es conveniente una
diferenciación creciente en complejidad, hasta obtener el resultado deseado.

En el modelado de series de tiempo, existe una herramienta de gran utilidad


llamada correlograma. Intuitivamente, el correlograma expresa el nivel de
dependencia entre un valor determinado de la serie y los valores anteriores. Se
obtiene a partir de graficar la función de autocorrelación.

Podemos definir esta función de la siguiente manera:

17
N-k

I
.1==1
(XI - X)(Xt+k - X)
_
rk = -

donde N es la cantidad de elementos de la serie. Como podemos ver, esta


función es una extensión del coeficiente de correlación lineal, frecuentemente
utilizado en estadística.
Si consideramos todos los pares (XI> Xl-k), cada valor de esta función (cada
uno de los rk), representa el nivel de dependencia entre los primeros y segundos
componentes de estos pares. El valor k es denominado lag.

r
r: 18
4.2.2. Modelado de una serie de tiempo

Convencionalmente, el modelado de series de tiempo se realiza a través de la


construcción de un modelo estadístico. En este proceso de construcción, podemos
identificar las siguientes etapas:

• Especificación del modelo: se propone una hipótesis acerca de la naturaleza


de la serie, analizando sus propiedades. Por ejemplo determinar si la serie se
comporta como un proceso de media móvil (moving average, MA), auto
regresivo (AR, autoregressive), etc. (Para una explicación detallada de estos
modelos, se remite al lector a [3]).
Para llevar a cabo esta tarea, se grafica y analiza la serie por medio
de distintas herramientas como el correlograma. De esta forma se
comprueba la existencia de tendencias, variaciones estacionales, etc.
También se le pueden aplicar transformaciones a la serie, como filtros,
eliminación o recorte de mediciones posiblemente erróneas (outliers),
diferenciación, etc. Todo esto se hace con el objetivo de que la serie
resultante tenga las cualidades requeridas por el modelo utilizado.

• Estimación del modelo: se hallan los parámetros que ajustan el modelo a la


serie en cuestión. Para cada modelo, existen variables que determinan su
comportamiento. En este punto, se construyen estimadores de dichas
variables, utilizando para ello la serie de tiempo.

• Chequeo del modelo: una vez que se tiene el modelo tentativo, se procede a
la verificación del mismo. Esto se puede hacer obteniendo una serie nueva a

r 19
r:
partir de la serie modelada y del modelo, llamada serie residual. Esta serie
se calcula de la siguiente forma:

residuo = serie - estimación,

donde estimación, es la predicción que el modelo hace para la sene


considerada. Si el modelo ha sido bien ajustado, entonces los residuos
deberán ser aleatorios y cercanos a cero.
En base a lo dicho anteriormente, consideremos el siguiente
razonamiento: los coeficientes de autocorrelación rk -correspondientes al
correlograma, mencionados en la sección anterior- de una serie formada por
valores aleatorios, cercanos a cero, tienen una distribución
aproximadamente Normal(O,l/n) para n grande, siendo n el tamaño de la
serie. Por lo tanto, si tenemos un conjunto de datos con esta característica,
podemos esperar que estén en el intervalo:

- -rn2
+--

Es por eso que, si observando el correlograma varios de los rk se encuentran


significativamente fuera de dicho intervalo, entonces podemos decir que los
residuos no son cercanos a cero, o que no tienen un comportamiento
aleatorio. Por lo tanto, el modelo no ha sido bien ajustado y deberá ajustarse
nuevamente.

20
4.3. RN s aplicadas a la predicción de series de tiempo.

4.3.1. Conceptos básicos

Cuando se trabaja con predicción de series de tiempo utilizando para ello


RNs, se está hablando de aproximar el comportamiento futuro de una serie de
tiempo. Si vemos a una serie de tiempo como una función, donde la coordenada x
es el tiempo y la coordenada y la medición correspondiente a ese momento,
podemos decir que, sin saber cuál es dicha función, conocemos cierta porción de la
misma.
En este caso, tal como fue mencionado, lo que se pretende que sea la salida
de la RN, es una aproximación de un valor futuro de la serie .de tiempo. Lo que
podemos intuir es que, este valor futuro depende en gran medida de los valores
pasados de la serie. Por lo tanto, lo que utilizaremos como entrada a la RN será,
justamente, el pasado de la serie. Como se explicó en la sección 4.1, pueden
existir otros elementos que influyan sobre el comportamiento de la serie. Cuando
esto ocurre, es posible incluir estos elementos en la entrada de la RN.
Cuando consideramos el modelado de series de tiempo, tenemos que tener
en cuenta que las mismas no sólo son una colección de datos, sino que existe una
secuencia o componente temporal que los une. Por este motivo, existen
básicamente dos alternativas para modelar la predicción de series de tiempo
mediante RNs:

1. Incluir la componente temporal en el entrada a la RN


2. Incluir la componente temporal en la estructura de la RN

21
También existen alternativas mixtas, que incorporan parte de ambas
técnicas. En el presente trabajo se utilizan arquitecturas de RNs pertenecientes a la
alternativa 1, Ytambién arquitecturas mixtas.
Por último otro factor a tener en cuenta es el grado de entrenamiento que se
le permite a una cierta arquitectura, dado que existe el problema del ajuste
excesivo a la función de costo del algoritmo de retropropagación. Cuando esto
ocurre la RN sobreajusta al conjunto de entrenamiento perdiendo la generalización
del problema (overfitting [1]).

4.3.2. Componente temporal en la entrada a la RN

Cuando se trabaja con este tipo de modelos, la entrada a la RN se estructura


de forma que incluya no sólo un elemento pasado de la serie, sino fragmentos de la
serie que representan el comportamiento de la misma a lo largo de un período de
tiempo.
Este tipo de redes, no conserva información sobre la secuencia u orden en
que le fueron proporcionados los datos. Para explicar mejor esta limitación,
consideremos el siguiente ejemplo:
Supongamos que tenemos la siguiente serie tiempo:
'" 5,2,3,2, 1,3,4 ...
Entonces, utilizamos una RN para que, ante un valor de la serie, calcule el
posible valor siguiente. Supongamos ahora que para entrenar la RN, construimos la
entrada utilizando un solo valor de la serie a la vez. Esto es, usamos los siguientes
pares de datos:

(5:2)

22
(2:3)
(3:2)
(2:1)

(1:3)
(3:4)

donde la primera coordenada es la entrada a la RN y la segunda es la salida


esperada.
Como es posible ver, si no se considera el orden en que aparecen los datos,
existe una ambigüedad en los pares resaltados en negrita. Es decir, por un lado, se
le está pidiendo a la RN que cuando aparezca el valor "2" debe generar la salida
"3", y por el otro lado, también debe generar la salida "1".
Si en vez de entrenar la RN con un único valor de entrada, se la entrena con
patrones construidos a partir de secuencias temporales de valores -es decir,
fragmentos de la serie-, entonces se logra que el comportamiento requerido no
resulte ambiguo.
Volviendo al ejemplo anterior, si se construyen los patrones con la
concatenación de dos valores correlativos de la serie, la ambigüedad desaparece:

(5,2:3)
(3,2:1)

En este caso la RN podrá aSOCIarSIn problemas las entradas y salidas


requeridas.
Mediante la concatenación de valores, se introduce a la RN, la componente
temporal del problema. Esto se hace de esta forma debido a que la misma no tiene
internamente una estructura que represente el orden de llegada de los datos durante
el entrenamiento.

23
De manera general, podemos decir que en este caso los patrones de entrada
a la RN se construyen de la siguiente forma:

Patrón 1 : X j , X2 , .. , Xq

Salida de patrón 1 : Xq + 1

Patrón 2:
Salida de patrón 2 : xq + 2

Patrón n: Xn,Xn+l,··,Xn+q

Salida de patrón n : x n+q+ 1

donde x, es el valor de la serie en el instante t.


El parámetro q es denominado habitualmente tamaño de la ventana. Esto
se debe a que los patrones de entrada ,a la RN pueden ser pensados como "vistas"
de la serie a través de una ventana que se desplaza en el tiempo. En la figura 1 se
grafica este concepto.

q valores ~I
X J, X2 , X3 , ... , xq , xq+J , Xq+2 , Xq+3, ."

Patrón 1
Patrón 2
Patrón 3

Figura 1. Construcción de patrones, utilizando una ventana sobre la


serie de tiempo.

24
Un modelo de RN apropiado para trabajar con este tipo de patrones es la
retropropagación estándar (backpropagation), descripto en la sección 4.4.1. La
figura 2 muestra una representación de este tipo de RN.

t
Capa de salida le\
Capa oculta. •

Capa de
entrada
•t •t •t
1 2 3

Figura 2. RN organizada por capas.

Habitualmente, cada neurona de cada capa esta conectada con todas las
neurona s de la capa siguiente. No existen conexiones recurrentes directas (una
neurona conectada a si misma), ni tampoco indirectas (una neurona de una capa se
conecta con neuronas de una capa anterior). Es decir, las conexiones siempre son
hacia delante. Por tal motivo, este tipo de redes es denominado con alimentación
hacia delante (Feed Forward). Uno de los algoritmos más utilizados en este tipo
de arquitecturas para encontrar el conjunto de pesos que resuelve un problema
dado es el de retropropagación (back propagation).
Pese a que retropropagación es el más difundido, existen múltiples
algoritmo s que utilizan alguna forma de alimentación hacia delante. Un ejemplo de
esto está dado por las RNs modulares, las cuales utilizan una estructura compuesta
por varias RNs. El entrenamiento en ese caso, se hace de una forma diferente que
con el caso de retropropagación.

25
4.3.3. Componente temporal en la estructura de la RN

Como lo mencionamos anteriormente, es posible estructurar una RN de


forma que pueda representar la componente temporal presente en las series de
tiempo. Este tipo de arquitecturas se conocen como RNs recurrentes.
Existen distintos tipos de RNs recurrentes. El nombre de recurrentes
proviene del hecho de que no sólo poseen conexiones entre neuronas de una capa,
con las neuronas de la siguiente (RN Feed Forward), sino que también se permiten
ciclos de conexiones y hasta la conexión de una neurona consigo misma.
En el presente trabajo, dentro de las alternativas de RN recurrentes,
seleccionamos una clase llamada parcialmente recurrentes y dentro de esta
categoría, la arquitectura propuesta por Jordan[l] (ver sección 4.4.3).
En la figura 3 podemos observar un gráfico del esquema propuesto por
Jordan:

Salida

1 t
I Capa Oculta I

u· con~ 11 ~ada

t
Figura 3. Arquitectura de Jordan.

26
En este esquema, la capa oculta recibe la entrada de las unidades de entrada,
más la entrada de las unidades de contexto, las cuales mantienen una copia de la
activación de la capa de salida en el paso anterior. Este tipo de conectividad
permite que la red recuerde datos sobre el pasado de la serie. Esta arquitectura se
explica con mayor detalle en la sección 4.4.3.
La construcción de patrones para este tipo de arquitecturas puede ser
realizada como en el caso anterior (Inclusión de la componente temporal en el
entrada a la RN). Pero, dado que la RN incorpora una memoria de la secuencia, es
posible reducir el tamaño de la entrada. Es importante destacar que en este tipo de
algoritmos es fundamental que el proceso de entrenamiento se realice siguiendo el
orden temporal en el cual se tomaron los valores ya que la secuencia en sí es
representada por la RN.

27
4.4. Algoritmos de RN utilizados

En esta sección se describen los algoritmos de RNs utilizados para realizar


la predicción de la serie de tiempo analizada. Los mismos fueron seleccionados
debido a que consideramos que son algunos de los potencialmente más
prometedores en esta área de la investigación según [14]. Los mismos son:
retropropagación, RN recurrente con retroalimentación interna (arquitectura de
Jordan), RN recurrente con retroalimentación externa (arquitectura de Werbos) y
RNs modulares.
A continuación se puede ver las especificaciones de cada uno de estos
algoritmos, así como también, una descripción de la implementación realizada.

28
4.4.1. Retropropagación

4.4.1.1. Descripción del algoritmo

El algoritmo retropropagación es uno de los más difundidos en el


entrenamiento de RNs. El mismo describe la forma de cambiar los pesos de las
conexiones entre las neuronas (Wpq) en una RN de alimentación hacia delante, con
el fin de aprender los pares de patrones de entrada/salida. Los cambios de los pesos
en cuestión se calculan a partir del método de descenso del gradiente.
En la figura 4, se muestra una RN con alimentación hacia delante donde (x ¡,
X2" X3" X4) representa el patrón de entrada a la RN. Como se puede observar, en este
tipo de RNs las neuronas están dispuestas por capas. Las neuronas de una misma
capa no están interconectadas entre sí. Por otro lado, una neurona cualquiera está
conectada con todas las neuronas de la capa siguiente.

Capa de salida

Capa oculta

Capa de
entrada

X¡ • •
X3

Figura 4. RN de alimentación hacia adelante.

29
Es importante notar que, si bien la RN mostrada sólo cuenta con una capa
oculta, no existen limitaciones en este sentido.
La forma en que se calcula la salida de una RN con alimentación hacia
delante ifeed forward), es bastante simple. Tomemos un patrón de entrada

determinado ~ = {x¿ X2. X3. X4}) con una salida esperada y. El patrón p se ingresa a
las neuronas de la capa de entrada. Las neuronas de la capa oculta reciben la salida
de las neurona s de la capa de entrada ponderadas de acuerdo al peso de las
conexiones que las unen. Es decir,

h}
" "
¿ Xi Il . W ji'
i=l

donde wij es el peso de la conexión que une la neurona de entrada i con la neurona
j de la capa intermedia, y h1 es la entrada neta que recibe la neurona j cuando
se le presenta a la RN el patrón p.
Las neuronas de la capa oculta aplican una función a su entrada neta.
Existen varias alternativas para esta función, entre ellas:

• g(x) = x, (Lineal)

-x
• g(x) = 1 / (1 + e ) (Sigmo ide)

• g(x) = tanh(x). (Tangente Hiperbólica)

La función g se denominafunción de activación de la RN.


En base a esto, se define la salida de una neurona de la capa oculta de la
siguiente forma:

30
n
V i1
J
g (L x ]' . W ji ),
i= 1

donde V:es la salida de la neurona j de la capa oculta (también llamada capa


intermedia) cuando se le ha presentado el patrón f-L a la RN.
La salida de la RN se define como el conjunto de activaciones de las
neuronas ubicadas en la capa de salida. Dichas activaciones se calculan de la
misma forma que en las capas intermedias, con la salvedad de que la entrada a las
neuronas de salida la constituyen las salidas de las neuronas de la capa intermedia
anterior:

h: = ¿ W kj • V/ =¿ W kj . g (¿ xi' W ji ),
j j

donde h; es la entrada neta a la unidad de salida k para el patrón u.


Para calcular las actualizaciones en los pesos, se utiliza el método del
descenso del gradiente. Es decir:

aE
aWI;j

La variable 17 se denomina velocidad de aprendizaje. Cuanto mayor sea el


valor que se asigne a dicha variable, las variaciones en los pesos tendrán mayor
magnitud. La actualización de los pesos de la RN se aplica en sentido inverso al
utilizado para calcular la salida a la RN. Esta característica es la que le da el
nombre al algoritmo, ya que las correcciones de peso se van propagando hacia
atrás. La corrección a los pesos que llegan a las neuronas de salida es como sigue:

31
1. Para las conexiones que llegan a las neurona s de salida definimos:

donde y¡ es la salida esperada en la neurona i para el patrón u, y M es la cantidad


de capas de la RN.

2. Para las conexiones intermedias de la capa m-I a la capa m, la definición


anterior cambia de la siguiente forma:

8m I
= g '(h¡m) . ¿ wij
m +1 .8 m+1
}
j

3. En este punto, definimos la variación de pesos:

=n s:m
:» , .
Vm-I
j

El algoritmo toma todos los patrones de entrada, los presenta a la RN, y


calcula la salida correspondiente. Luego, en base a dicha salida y a la salida
esperada, calcula el error. Básicamente, hay dos formas de hacer la actualización
de pesos:

-Acumular las correcciones correspondientes a todos los patrones y aplicar


dicha corrección acumulada una vez que han sido presentados a la RN todos los
patrones. Habitualmente esta activación se llama por lotes (Batch).

-Por cada patrón presentado a la RN, calcular la corrección de pesos


correspondiente y aplicada. Esta modalidad de actualización se denomina
in cremental.

32
(

El proceso de entrenamiento es iterativo y concluye cuando se ha llegado al


nivel de error esperado o cuando se alcanza la cantidad máxima de iteraciones
previstas.
Existen múltiples modificaciones que pueden ser realizadas al algoritmo de
retropropagaci6n con el fin de mejorar el proceso de búsqueda de una solución.
Entre ellas, encontramos dos que son de especial utilidad:

• Momento: Esta modificación se basa en el concepto físico de inercia o


momento. La idea consiste en que cuando se va a realizar la corrección
de pesos en la iteración n, se toma en cuenta la corrección realizada en
la iteración n-l.

El L1Wij" de la iteración n-I es multiplicado por un valor m, tal que


m<l, que determina la magnitud del momento. Luego, este término se
suma al L1Wij" de la iteración n:

8E
ó. W (n) = -r¡ . -- + m . Ó. W . (n - 1)
Ij 8WIj Ij

• Velocidad de aprendizaje (11) adaptable: dada la importancia del


parámetro 1], es posible modificar el algoritmo de retropropagación de
forma que cuente con la posibilidad de ajustar dicho parámetro
dinámicamente. En forma general podemos decir que el ajuste
automático de 1] puede realizarse según el criterio descripto en [1], y
expresado a continuación:

- Si el error de la solución de la RN baja sostenidamente -digamos


, que el error baja en k iteraciones seguidas-, significa que el

33
algoritmo está aproximándose a la solución. Entonces 17 puede ser
incrementado, y de esta forma acelerar la convergencia.

- Si el error de la solución de la RN aumenta, entonces es posible que


tengamos un valor de 17 demasiado grande para el problema.
Entonces dicho valor se disminuye.

4.4.1.2. Implementación

El mayor problema con el que nos enfrentamos en el momento de realizar


una implementación del algoritmo, fue el desconocimiento de los valores que
toman los parámetros involucrados en cada uno de los casos a resolver.
La mayor incógnita está en la arquitectura que deberá tener la RN para
poder resolver el problema (número de neuronas por capa, número de capas, etc).
En esta aplicación de retropropagación a la predicción de series de tiempo, como
se explicó anteriormente, la cantidad de neuronas de entrada (y por lo tanto la
longitud de los patrones de entrada) está relacionada con el nivel de dependencia
de un valor de la serie con los pasados valores.
A modo de ejemplo, consideremos la siguiente serie:
x¡ = Xt-J - Xt-2 + Xt-3·
Es claro que el valor de x¡ está determinado por los anteriores tres valores de
la serie. En este caso particular, podemos suponer que la RN necesitará patrones de
longitud 3 para poder aprender el comportamiento de la serie. Llamaremos q a este
número, el cual representa la cantidad de valores pasados de la serie que se utiliza
para predecir un valor futuro. En este ejemplo, tomar patrones de mayor longitud
(q> 3) no aportará elementos indispensables y hará que la arquitectura de la RN

34
sea más compleja, lo que posiblemente hará, computacionalmente, más costoso el
aprendizaje.
En el caso que acabamos de mostrar como ejemplo, encontrar el valor de q
es relativamente simple debido a que la serie es determinística, Pero, ¿cómo saber
cuál es el valor de q para una serie estocástica? Al igual que lo que ocurre con la
predicción de estas series, no existe un método exacto que permita calcular el valor
de q para un problema. Por el contrario, existen métodos que permiten realizar una
aproximación de este parámetro. A saber:

- Recurrir al conocimiento del problema: En algunos casos, existen


conocimientos sobre el dominio del problema que pueden ser utilizados en este
sentido. Por ejemplo, supongamos que el valor del pico de temperatura medido un
día dependiera de los picos de temperatura observados como máximo 4 semanas
atrás. En este caso, tendríamos un q=28 dado que las mediciones son diarias, y
ésta es la cantidad de días en el pasado que interesan en la predicción del valor
futuro.

- Utilizar herramientas estadísticas convencionales en el modelado de series


de tiempo. Cuando se modela una serie de tiempo a través de métodos estadísticos,
se recurre al Correlograma, el cual muestra el nivel de dependencia de un valor
determinado de la serie con sus predecesores. A partir de esta herramienta se puede
ver un gráfico que representa la correlación de un valor de la serie con aquellos
que están a distancia (lag) 1, 2,..n. Es importante notar que el correlograma permite
ver el grado de correlación lineal a distintos lags. Las correlaciones no lineales que
pudieran existir en la serie no aparecerán reflejadas en este tipo de análisis.

- Utilizar diferentes valores para q hasta obtener uno que le permita a la RN


generalizar el problema. En este caso, lo recomendable es partir de valores

35
pequeños de q e ir incrementándolo hasta obtener un buen resultado. De esta forma
tenemos mayor probabilidad de obtener el q mínimo que se adapte
satisfactoriamente al problema en cuestión.
Por ejemplo, mediante el análisis del correlograma de la serie utilizada en el
primer caso de estudio de este trabajo, Serie Blanco Seco, se encontraron
dependencias significativas. Dichas dependencias fueron utilizadas en la
construcción de las RNs con alimentación hacia adelante a ser entrenadas con
retropropagación (Ver sección 5.3, arquitecturas en el cuadro comparativo de
resultados). También se utilizó el conocimiento previo de que los datos modelados
consistían en mediciones mensuales.
Con respecto a la actualización de pesos en la RN, en el presente trabajo se
implementaron los dos modelos descriptos en la sección anterior (por lotes e
incremental). Sin embargo, es importante destacar que los mejores resultados
fueron obtenidos mediante la actualización incremental. Por tal motivo, dicho
método de actualización fue el utilizado en las pruebas seleccionadas para la
comparación de resultados.
A medida que el algoritmo va entrenando la RN, el error va disminuyendo.
Sin embargo, existen momentos en los que el error puede llegar a subir para luego
bajar más aún. Incluso es posible que sea alcanzado un mínimo y que si el
algoritmo no se detiene, el error suba a partir de ese momento. Por este motivo, en
la implementación realizada se guarda siempre un resguardo de los pesos de la RN
que produjeron el mejor resultado hasta el momento.
Cuando el algoritmo finaliza debido a que se llegó al límite de iteraciones
preestablecidas, o a que llegó a una cota mínima de error, entonces se devuelve la
RN con los mejores pesos evaluados hasta el momento.
El algoritmo cuenta con la posibilidad de utilizar distintos criterios para
medir el error (explicados en la sección 4.5). Cuando finaliza el algoritmo, el
mismo también devuelve la evaluación de todas estas medidas de error sobre los

36
conjuntos de patrones de entrenamiento, testeo y validación. De modo que es
posible evaluar en forma completa la efectividad de la solución encontrada desde
distintos puntos de vista.
Existe un punto a destacar respecto a los errores en el proceso de
entrenamiento de la RN. Debido a que la solución alcanzada deberá generalizar
correctamente la serie, siempre que se evalúa el error de una RN en el algoritmo
para determinar si la misma es la mejor encontrada hasta el momento, no sólo se
tiene en cuenta el costo de entrenamiento. De hecho, lo que se compara es una
medida del error, ponderando con distinta importancia el error sobre el conjunto de
entrenamiento y el error sobre el conjunto de testeo. Esto es:

Error de la solución = oError de aprendizaje +jl-Error de testeo.

donde O < a.B <=1 y a+/3=1.

La función g(x) utilizada para la activación de la RN es la tangente


hiperbólica.
La figura 5 muestra un gráfico de la función en el rango de salida (-1,1). Por
dicho motivo, los patrones son re-escalados para ser llevados a dicho intervalo.

f(x) = tanh(x)
~~------~1,,~~--~~---,

-~=~----11-L---~·

Figura 5. Gráfico de Tanh(x)


Fueron implementadas las modificaciones de Momento y 11 adaptable, tal
como fueron explicadas en la sección 4.4.1. Esta funcionalidad adicional en el

37
algoritmo de retropropagación fue de gran utilidad a la hora de acelerar el proceso
de aprendizaje y realizar el ajuste de los parámetros de la RN.
Algunos parámetros involucrados en el algoritmo de retropropagación se
estiman y se ajustan empíricamente, siendo esta tarea, la que más tiempo acarrea
en todo el proceso de modelado a través de RNs. Un parámetro no mencionado
hasta el momento es el umbral (bias). Este parámetro está normalmente fijo en -1,
Y se utiliza para sumar o restar su valor a la entrada neta a cada neurona, y de esta
forma, alterar las activaciones en la RN. De acuerdo a lo expresado en [1], puede
ser modelado como una neurona de entrada que está conectada a todas las
neuronas de la RN y cuyo estado de activación es siempre -l.
A continuación se puede observar los parámetros que permiten ajustar el
algoritmo implementado.

Parámetro Descripción

T] Velocidad de aprendizaje.

Indicador utilizado por el algoritmo para determinar SI

Adaptable utilizará T] adaptable o no. En caso de que se utilice T]

adaptable, el parámetro T], anteriormente descripto, es


utilizado sólo como valor inicial.

Cota del error Este parámetro determina cuál es el valor de error que se
utilizará como cota. Cuando el algoritmo alcance este nivel
de error, finalizará.
p Valor que se usa para ponderar la función de activación:
g(x)=f(fJ*x)

38

r-
m Magnitud del Momento utilizado.

Umbral Umbral a utilizar en el algoritmo.


Épocas Es la cantidad máxima de veces que le será presentado a la
RN el conjunto completo de patrones de entrenamiento.
Entrenamiento Cantidad de patrones utilizados para el entrenamiento de la
RN
Testeo Cantidad de patrones utilizados para el testeo de la RN.
Validación Cantidad de patrones utilizados para la validación de la RN.
Capas Cantidad de capas de la RN.
Neuronas Es un vector que contiene la cantidad de neurona s de cada
capa.

El algoritmo implementado recibe como entrada un archivo de texto que


contiene los parámetros mostrados en el cuadro anterior, más los valores de la serie
a predecir. Cuando finaliza el número de iteraciones preestablecida, o cuando se
alcanza la cota mínima de error, genera un archivo de salida. Este archivo contiene
las siguiente información:

• Configuración del sistema: parámetros descriptos anteriormente

• Datos utilizados para la construcción de patrones: Son los valores de la serie


utilizada.

• Error de la RN cuando le fue aplicado el conjunto de patrones de


entrenamiento (Error de entrenamiento).

39
• Evaluación de todos los patrones de entrenamiento, mostrando el valor de
salida esperado y el obtenido a partir de la RN.

• Error de la RN cuando le fue aplicado el conjunto de patrones de testeo

(Error de testeo).

• Evaluación de todos los patrones de testeo, mostrando el patrón de entrada a


la RN, el valor de salida esperado y el obtenido a partir de la RN.

• Error de la RN cuando le fue aplicado el conjunto de patrones de validación


(Error de validación).

• Evaluación de todos los patrones de validación, mostrando el patrón de


entrada a la RN, el valor de salida esperado y el obtenido a partir de la RN.

• Pesos de las conexiones para las RN entrenada.

40
41
En una RN modular, se cuenta con múltiples RNs (por lo general de
arquitectura simple) llamadas expertos (experts networks), y con una RN especial
llamada RN controlante (Gating network, GN). Los expertos "compiten" para
aprender distintas particiones del problema. La GN decide qué experto deberá
resolver una parte específica del problema. Podemos imaginar en el ejemplo
anterior, que la unidad de control le pide a un experto el resultado para los x tal que
x < 0, yal otro experto el resto de los valores de x.

•••
~:....=1
RN controlante
Unidad de
o
" Control Gating Network
P:~

Figura 7. Esquema de RN modular.

Para entender la manera en que se calcula la salida de la RN modular,


podemos ver la figura 7. Se puede observar la unidad de control, también llamada
gating network. Cada RN (tanto los expertos como la unidad de control) recibe la
misma entrada.

42
A su vez, tanto la unidad de control como cada uno de los expertos son RN
con alimentación hacia adelante, y su salida se calcula de la manera usual para
dicho tipo de RNs.
En un paso posterior, la salida de la RN controlante permite ponderar la
salida de cada experto, dándole a la salida de cada experto una relevancia que está
relacionada con su adaptación al problema. Es importante notar que las salidas de
la unidad de control están normalizadas de modo que su suma es igual a uno. Esto
se hace mediante una función denominada SoftMax, explicada más adelante.
Finalmente, las salidas ponderadas de todos los expertos son sumadas, y ésta es la
salida de la RN modular. A continuación podemos ver más formalmente el cálculo
de la salida de la RN modular:

k k

Y L Yi
i=l
= L Ii·gi'
i= 1

donde I¡ es la salida del i-ésimo experto, g¡ es la salida de la neurona i de la unidad


de control, procesada mediante la función SoftMax.
Definimos la función SoftMax de la siguiente forma:

Les;
k

i=l

donde S¡ es la salida z-ésima de la unidad de control y k es la cantidad de expertos.


La función SoftMax, además de utilizarse para acentuar los valores
máximos, también permite escalar la salida de la unidad de control de modo que:

43
k

¿gi = 1
i=\

Con respecto al algoritmo de aprendizaje, se utiliza una ecuación de


actualización de pesos que tiene la finalidad de maximizar la siguiente función
objetivo [4]:

1
k
In ( L g ie
- O . S (d - Y i )T (d - Y i ) J,
i=l

donde y¡ es la salida del i-ésimo experto y d es la salida esperada.


Como se puede ver, esta función aumenta a medida que el error (d - y¡)
disminuye.
Para lograr la maximización de 1, se utiliza el gradiente ascendente. Pero
antes es necesario realizar la siguiente definición:

-O.S(d-y.)T (d-y.)
g¡e 1 1

~ -O.S(d-y .)T (d-y.)


¿ gje J J

j=l

Entonces, como se dijo antes, utilizando gradiente ascendente, tenemos la


siguiente ecuación, la cual nos permite actualizar los pesos de las conexiones de
cada uno de los expertos y de esa forma maximizar la función 1 [4]:

44
~w(m)
i
= 17 aw(m)
al = 17 .h,(d(m) _ y,(m»)x
,

~_ = 1,2, , q
{ 1 - 1,2, , k

donde m representa cada una de las neuronas de salida de un experto, e i representa


cada uno de los expertos (cada uno de los k expertos tiene q neuronas de salida).

Con respecto a la actualización de pesos a¡ de la unidad de control, se usa la


siguiente ecuación:

~ a i = r¡ -aal- = r¡ (h i - g i )x
a i

a i(n + 1) = a i(n ) + L1 a i = a i(n ) + r¡ (h i - g i )x

Intuitivamente, podemos ver que a través de estas actualizaciones, la GN va


reforzando sus salidas (g¡) para aquellos expertos que se están desempeñando bien
en el aprendizaje de un patrón determinado. Al mismo tiempo, los pesos de los
expertos se van ajustando de acuerdo al aprendizaje que muestran de un patrón
determinado. Es decir, cuanto menor sea el error que presenta un experto ante un
patrón determinado, mayor importancia se le dará a la actualización de pesos de
dicho experto cuando se le presenta el patrón en cuestión. De esta forma, la RN
modular va particionando el conjunto de patrones, asignando a cada experto los
patrones que está aprendiendo mejor.

45
4.4.2.2. Implementación

En este algoritmo también es necesario utilizar varios parámetros que son


desconocidos a priori. Como en el caso de retropropagación, se utilizaron las
dependencias (correlograma) de la serie para determinar la longitud de los patrones
a utilizar. Las observaciones realizadas en la sección que describe la
implementación de BP con respecto a la longitud de los patrones, también son
válidas para RN s Modulares
Como en el caso de retropropagación, el algoritmo cuenta con la posibilidad
de utilizar distintos criterios para medir el error (explicados en la sección 4.5).
Cuando finaliza el algoritmo, el mismo devuelve la evaluación de todas estas
medidas de error sobre los conjuntos de patrones de entrenamiento, testeo y
validación. De modo que es posible evaluar en forma completa la efectividad de la
solución encontrada desde distintos puntos de vista, como se explica en la sección
"Predicción de ventas - medición del error".
El algoritmo también devuelve los valores que ha tomado la GN para cada
uno de los patrones. De esta forma es posible determinar de qué forma la unidad de
control está distribuyendo las tareas dentro de la Red Modular.
Existe un punto a destacar respecto a los errores en el proceso de
entrenamiento de la RN. Debido a que la solución alcanzada deberá, sobre todo,
generalizar correctamente la serie, siempre que se evalúa el error de una RN en el
algoritmo para determinar si la misma es la mejor encontrada hasta el momento, no
sólo se tiene en cuenta el costo de entrenamiento. Como en el caso del algoritmo
de retropropagación, lo que se compara es una medida del error, ponderando con
distinta importancia el error sobre el conjunto de entrenamiento y el error sobre el
conjunto de testeo. Es decir:
Error de la solución = a .Error de aprendizaje + /3 . Error de testeo,
donde O < a.B <=1 y a+/3=1.

46
Como se muestra en la figura 8, una de las funciones g(x) utilizadas para la
activación de cada uno de los expertos es la lineal.

-: g(x) =x
.~
.:
<

.:
..:
-:
/'

-12 -10 -8 -6 -4 -2 O 2 4 6 8 10 12

Figura 8_ Función de activación utilizada por los expertos de la RN


Modular.

En el caso de que los expertos utilicen unidades lineales, la cantidad de


capas fue limitada a 2 a lo largo de todas las corridas. Esto se debe a que una
mayor cantidad de capas utilizando unidades lineales no aportará mayor
expresividad a la RN.
Por otro lado, como parte de las pruebas, en los expertos se utilizaron
unidades activadas con la función tangente hiperbólica. Como será visto en la
sección 5.3, esta variación sobre el algoritmo explicado en [4] fue muy
conveniente, tanto desde el punto de vista del error de la solución como de la
simplicidad de las arquitecturas (concretamente, se requirió un número mucho
menor de expertos).

47
La GN también utiliza unidades lineales, pero, a diferencia de la salida de
los expertos, la salida de esta RN se procesa como se describió anteriormente,
utilizando para ello la función SoftMax. Dicha función escala la salida dentro del
intervalo [0,1].
En la implementación de RN Modulares realizada en el presente trabajo, se
utiliza el mismo r¡ tanto en la actualización de las conexiones de los expertos como
en las actualizaciones de pesos de la unidad de control.
En el cuadro mostrado a continuación es posible ver una descripción de los
parámetros que acepta el algoritmo en cada una de las corridas.

Parámetro

TI Velocidad de aprendizaje.

Adaptable Indicador que señala si se utilizará TI adaptable.


Cota del error Este parámetro determina cuál es el valor de error que se
utilizará como cota. Cuando el algoritmo alcance este nivel
de error, finalizará.
Épocas Es la cantidad máxima de veces que le será presentado a la
RN el conjunto completo de patrones de entrenamiento.
Entrenamiento Cantidad de patrones utilizados para el entrenamiento de la
RN.
Testeo Cantidad de patrones utilizados para el testeo de la RN.
Validación Cantidad de patrones utilizados para la validación de la RN.
Capas Cantidad de capas que tendrán los expertos.
Neuronas Es un vector que contiene la cantidad de neuronas de cada
capa para los expertos.
Expertos Cantidad de redes expertas en el interior de la RN modular.

48
El algoritmo implementado recibe como entrada un archivo de texto que
contiene los parámetros mostrados en el cuadro anterior, más los valores de la serie
a predecir. Cuando finaliza el número de iteraciones preestablecida, o cuando se
alcanza la cota mínima de error, genera un archivo de salida. Este archivo contiene

las siguiente información:

• Configuración del sistema: datos contenidos en el archivo de entrada


(parámetros ).

• Datos utilizados para la construcción de patrones: son los valores de la serie


utilizada.

• Error de la RN sobre el conjunto de patrones de entrenamiento.

• Evaluación de todos los patrones de entrenamiento, mostrando la entrada a la


RN, la salida obtenida a partir de la RN, y el valor de salida esperado.

• Error de la RN sobre el conjunto de patrones de testeo .

• Evaluación de todos los patrones de testeo, mostrando la entrada a la RN, la


salida obtenida a partir de la RN, y el valor de salida esperado.

• Error de la RN sobre el conjunto de patrones de validación.

• Evaluación de todos los patrones de validación, mostrando la entrada a la


RN, la salida obtenida a partir de la RN, y el valor de salida esperado.

49
• Pesos de las conexiones de cada una de las redes dentro de la red modular .

• Evaluación de todos los patrónes de entrenamiento, testeo y validación por


parte de la unidad de control.

50
4.4.3. RN recurrente con retroalimentación interna

4.4.3.1. Descripción del algoritmo

Esta arquitectura propuesta por Jordan [31] es una variación de


retropropagación. Este tipo de arquitecturas también se denomina parcialmente
recurrente [1].
En este tipo de RN s, la salida se calcula de la misma forma que en
retropropagación. La diferencia se encuentra en la entrada donde, junto con los
patrones de entrada, se incluye las activaciones de las llamadas unidades de
contexto.
Las unidades de contexto son memorias que, como se puede observar en la
figura 9, reciben su entrada de la capa de salida de la RN y de sí mismas.

Salida

1 t
I Capa Oculta I

u* con~ 11 ~da

t
Figura 9. Arquitectura de Jordan.

Las conexiones que unen la capa de salida con las unidades de contexto, por
definición, están fijas en 1, por lo tanto no son entrenadas por el algoritmo. El
hecho de que no existan conexiones recurrentes que requieran ser entrenadas es lo

51
que permite utilizar el mismo algoritmo de retropropagación, prácticamente sin

modificaciones.
Las unidades de contexto se activan de la siguiente forma:

donde 0< a <1, O, (t) es la salida de la neurona j de la capa de salida en el tiempo t


(el tiempo t es en realidad el correspondiente al patrón de entrada número t. Por
este motivo es importante que los patrones estén ordenados en el tiempo ya que
existe una correspondencia entre el orden de los patrones y el orden temporal). El
parámetro a representa la relevancia que se le dará a los valores pasados para

calcular los nuevos valores. Con a cercano a O, la memoria del sistema tenderá a
perder relevancia rápidamente. Por el contrario, a cercano a 1 hace que la memoria
de los valores pasados se mantenga durante un número mayor de iteraciones. De
esta forma, la entrada a la RN en el tiempo t incluye valores que tienen que ver con
los estados pasados de la RN.

4.4.2.1. Implementación.

Como fue dicho en la sección anterior, la implementación de este algoritmo


no presenta grandes diferencias a la de retropropagación. El único punto a
mencionar es el referido a las unidades de contexto.
En el ejemplo evaluado, como será explicado más adelante en la sección
5.2, la salida de la RN consiste en un único valor correspondiente a la predicción
del valor de la serie en tiempo t+l. Por este motivo, es necesaria la creación de
sólo una unidad de contexto. La misma fue implementada de la siguiente forma:

52
1. Los patrones de entrada se arman de la forma des cripta en
Retropropagación y de tamaño n+ 1, donde n valores son tomados de la
serie de tiempo, y el valor n + 1 se completa con la variable e, la cual se
calcula como se indica en el siguiente punto.

2. Se mantiene una variable e que representará el valor de contexto a


ingresar a la RN. En la primera iteración del algoritmo, e (digamos ea)

valdrá O. Luego, en la iteración t, e (digamos el) es calculada según lo

explicado en la sección anterior, a partir de la salida de la RN y del valor

de el-l.

De esta forma se implementa el ingreso de la unidad de contexto a la RN sin


alterar en gran medida el algoritmo de Retropropagación. Como en dicho
algoritmo, también fueron implementadas las modificaciones de Momento y 11
adaptable, de la forma que se explica en la sección anterior.
A continuación se puede observar los parámetros que permiten ajustar el
algoritmo implementado.

Parámetro

11 Velocidad de aprendizaje.

Adaptable Indicador que señala si se utilizará 11 adaptable.


Cota del error Este parámetro determina cuál es el valor de error que se
utilizará como cota. Cuando el algoritmo alcance este nivel
de error, finalizará.

53
~ Valor que se usa para ponderar la función de activación:

g(x) =f( f3*x)

m ver Momento en "Descripción del Algoritmo"

Umbral Umbral a utilizar en el algoritmo (ver "Descripción del


Algoritmo")

Épocas Es la cantidad máxima de veces que le será presentado a la


RN el conjunto completo de patrones de entrenamiento.
Entrenamiento Número de patrones utilizados para el entrenamiento de la
RN.
Testeo Cantidad de patrones utilizados para el testeo de la RN.
Validación Cantidad de patrones utilizados para la validación de la RN.
Capas Cantidad de capas de la RN.
Neuronas Es un vector que indica el número de neuronas de cada capa.

a Contexto Es el a explicado en la sección anterior, relacionado con la


intensidad de la memoria que se utilizará para guardar los
anteriores estados de la RN.

El algoritmo implementado toma como entrada un archivo de texto que


contiene los parámetros mostrados en el cuadro anterior. Realiza el proceso de
entrenamiento y testeo de la RN siguiendo la secuencia temporal de los patrones.
Cuando finaliza el número de iteraciones preestablecida, o cuando se alcanza la
cota mínima de error, genera un archivo de salida. Este archivo contiene las
siguiente información:

• Configuración del sistema: Datos contenidos en el archivo de entrada


(parámetros).

54
• Datos utilizados para la construcción de patrones: Son los valores de la serie

utilizada.

• Error de la RN cuando le fue aplicado el conjunto de patrones de


entrenamiento.

• Evaluación de todos los patrones de entrenamiento, mostrando el valor de


salida esperado y el obtenido a partir de la RN.

• Error de la RN cuando le fue aplicado el conjunto de patrones de testeo.

• Evaluación de todos los patrones de testeo, mostrando el patrón de entrada a


la RN, el valor de salida esperado y el obtenido a partir de la RN.

• Error de la RN cuando le fue aplicado el conjunto de patrones de validación.

• Evaluación de todos los patrones de validación, mostrando el patrón de


entrada a la RN, el valor de salida esperado y el obtenido a partir de la RN.

• Pesos de las conexiones para las RN entrenada.

55
4.4.4. RN recurrente con retroalimentación externa

4.4.4.1. Descripción del algoritmo

Esta arquitectura, propuesta por Werbos [11], es también conocida como


red recurrente de retraso de tiempo (Time-Lagged Recurrent Network, TLRN).
Puede ser vista como una variación al algoritmo de retropropagación estándar.
A diferencia de lo que ocurre en las arquitecturas de alimentación hacia
adelante, en este tipo de RN las neuronas no están estructuradas por capas. Como
se muestra en la figura 10, en este modelo las neuronas se disponen en forma
lineal, de manera que cada neurona recibe como entrada la salida de todas las
neuronas anteriores.

X:
1 m m +1 i -1 N+1 N+n

r ... r 1 1 •••

X (Entrada) Y (Salida)

Figura 10. Esquema básico de interconexión de neuronas utilizado en la arquitectura


de Werbos.

56
A continuación se definen las variables involucradas:

m: cantidad de neuronas de entrada.

X: entrada a la RN.

y: salida de la RN.
N: cantidad total de neuronas sin incluir las de salida.

n: cantidad de neuronas de salida.

La salida de la RN se calcula del siguiente modo:

l:S;i:S;m

i-l

net i = I W ij x j ,
j=l

donde s es la función de activación de las neuronas. La misma puede ser


cualquiera de las variantes descriptas en la sección 4.4.1.1 para la función g(x). Wij

es el peso de la conexión que va desde la neurona} a la neurona i.


La arquitectura planteada por Werbos incluye tres RN s como la mostrada en
la figura 10, ubicadas en distintos puntos temporales de la serie. Este conjunto
tiene un comportamiento como el esquematizado en la figura 11.

57
X(T) Entrada Oculta Salida • "
Y(T)
• I
r i i
I T
X(T-l) RN Completa • "
Y(T-l)
I I
I T T
"
X(T-2)
• I RN Completa
I Y(T-2)

T T

Figura 11. Esquema general de la arquitectura de Werbos, incluyendo retrasos temporales

En la arquitectura compuesta mostrada en la fig.11, la salida de cada una de


las RNs es calculada como se mencionó anteriormente. Por otro lado, la salida del
sistema se calcula utilizando la siguiente variación:

i-I i-I i-I

net i (t) = LW ij x j (t) + L W; x j (t - 1) + L W;'x j (t - 2),


j=1 j=1 j=1

donde W'ij es la conexión de la neurona} a la neurona i en la RN que recibe como


entrada a X(T-l), y W"ij es la conexión de la neurona} a la neurona i en la RN que
recibe como entrada a X(T-2).
Tal como es mencionado en [11], la actualización de las conexiones (W, W'
y W' ') de esta RN compuesta mostrada en la fig.11 se hace de acuerdo a lo

mostrado a continuación:

New W ij = W ij - 17 . F _ W ij

New w; = W ; - 17 . F _ W ;
New W J' == W J' - 17 . F _ W J'
58
donde 11 es la velocidad de aprendizaje des cripta para retropropagación, y donde
r w; F_W'ij y F_W"ij se definen del siguiente modo:

F _ W ij = ¿ F _ net i (t) . x j (t ),
1=1

F_ W J = ¿ F _ net Jt + 1) . x j (t),
1=1

F_W J' = ¿ F _ net i (t + 2) . x j (t),


1=1

F _ net i (t) = s' (net i) . F _Xi (t), i=N+n, ... ,m+1

N+n N+n

F _xi(t) = F _Yi-N (t) + ¿ TfJi . F _net jet) + ¿ W t! . F _net jet + 1)


j=i+1 j=m+1
Nw n
+ ¿ W "ji . F _ n et j (t + 2)
j=m+Y

~ BE ~
F Y (t) = - = YJ t) - Yi (t )
- BYi (t)

Es importante notar que, de acuerdo a lo mostrado en estas ecuaciones


utilizadas para el entrenamiento de la RN, para poder calcular F_x¡(t) y F_net¡(t),
es necesario haber calculado previamente F _ netlt+ 1) Y F _ net tt+2). Por este
motivo, las ecuaciones des criptas deben ser usadas hacia atrás en el tiempo,
calculando inicialmente F _ net para el tiempo t= T Y retrocediendo hasta el tiempo
t=l.

59
4.4.4.2. Implementación

La implementación de este modelo requirió la programación completa de un


nuevo algoritmo. Se utilizó, sin embargo, una serie de rutinas existentes referidas a
la evaluación de los distintos tipos de error.
Como en los demás casos, los patrones fueron construidos de la forma
des cripta para Retropropagación.
Con respecto al parámetro 11, correspondiente a la velocidad de aprendizaje,
en este modelo no se utilizó la característica de adaptabilidad automática utilizada
en Retropropagación. Esto se debió en gran medida a que los resultados
convergieron a la solución sin la necesidad de alternar distintos valores de este
parámetro.
A continuación se puede observar los parámetros que permiten ajustar el
algoritmo implementado.

Parámetro

11 Velocidad de aprendizaje.

Cota del error Este parámetro determina cuál es el valor de error que se
utilizará como cota. Cuando el algoritmo alcance este nivel
de error, finalizará.
Épocas Es la cantidad máxima de veces que le será presentado a la
RN el conjunto completo de patrones de entrenamiento.
Entrenamiento Número de patrones utilizados para el entrenamiento de la
RN.
Testeo Cantidad de patrones utilizados para el testeo de la RN.

60

r
Validación Cantidad de patrones utilizados para la validación de la RN.

n Cantidad de neuronas de salida.


m Cantidad de neuronas de entrada.

N Indica la cantidad total de neuronas de la RN, sin incluir las


neuronas de salida.

El algoritmo implementado toma como entrada un archivo de texto que


contiene los parámetros mostrados en el cuadro anterior y los patrones a utilizar.
Luego, realiza el entrenamiento de la RN y cuando completa el número de épocas
previsto, o cuando el error de la solución está por debajo de la cota prevista para tal
fin, da por terminado el proceso de entrenamiento. En este punto se genera un
archivo conteniendo la siguiente información:

• Configuración del sistema: Datos contenidos en el archivo de entrada


(parámetros ).

• Datos utilizados para la construcción de patrones: Son los valores de la serie


utilizada.

• Evaluación de todos los patrones de entrenamiento, mostrando el valor de


salida esperado y el obtenido a partir de la RN.

=Error de la RN sobre el conjunto de patrones de entrenamiento.

- Evaluación de todos los patrones de testeo, mostrando el patrón de entrada a


la RN, el valor de salida esperado y el obtenido a partir de la RN.

61

r
• Error de la RN cuando le fue aplicado el conjunto de patrones de testeo.

• Evaluación de todos los patrones de validación, mostrando el patrón de


entrada a la RN, el valor de salida esperado y el obtenido a partir de la RN.

• Error de la RN cuando le fue aplicado el conjunto de patrones de validación.

• Pesos de las conexiones para las RN entrenada.

62

r-
4.5. Métricas utilizadas para el error

Para evaluar las soluciones obtenidas tanto a partir de los modelos


estadísticos utilizados como mediante RNs, se utilizaron varias mediciones del
error, las cuales apuntan a cuantificar los distintos factores relevantes de la
solución .

• Error cuadrático medio (MSE, Mean Square Error). Esta alternativa permite
tener una medida del error directamente relacionada con la magnitud de la serie.
El resultado es un promedio de los errores al cuadrado.

MSE

donde n es el número de predicciones disponibles, a¡ son los valores reales de la


serie y p, son los correspondientes valores predichos.
Si bien esta medida del error fue evaluada en la resolución de problemas,
encontramos que su utilidad resultaba acotada debido a que los resultados de
MSE obtenidos están directamente relacionados con la magnitud promedio de la
serie. Este último punto imposibilita la comparación de resultados obtenidos en
distintos problemas donde las valores de las series involucradas pertenecen a
distintos rangos de valores. Por este motivo se opto por utilizar alternativamente
otra medida del error denominada MAPE, explicada a continuación.

• Error Porcentual Absoluto Medio (MAPE, Mean Absolute Percentage


Error). Proporciona una medida absoluta del error en porcentaje. Esta medida es
de gran utilidad ya que permite cuantificar la eficacia de una solución aunque se

r:
r: 63
r:
desconozca la magnitud de la serie. A su vez, permite realizar comparación de
soluciones obtenidas a partir del modelado de distintas series de tiempo que
posean diferentes magnitudes. El resultado es un porcentaje de error.

• Error de Predicción Relativo (RPE, Relative Prediction Error). Este error


compara el desempeño de predicción del modelo evaluado contra un método
alternativo de predicción. En los casos analizados en este trabajo, se realiza la
comparación contra la predicción generada a través de la extrapolación lineal.
El resultado es un valor mayor que 0, y se calcula como el cociente entre el error
de predicción del algoritmo evaluado y el error de la extrapolación lineal. Por
este motivo, un RPE menor que 1 significa que el algoritmo evaluado es
comparativamente mejor en predicción que la extrapolación lineal. Cuanto
menor sea este error, mejor será la predicción del sistema.

n
I (ai - Pi)2
i= 1
RPE n
I (a i - fi) 2
i= 1

donde ¡; es la predicción obtenida a partir del método tomado como referencia


con el que queremos comparar. En la fórmula, el numerador expresa el error de
predicción del método evaluado, mientras que el denominador expresa el error
del método tomado como referencia. Por lo tanto, RPE < 1 significa que el
método de predicción analizado tiene un error inferior al método de referencia.

64
• Simetría direccional especial (SPEDS, Special Directional Symmetry). Esta
medida de error permite evaluar la simetría direccional entre la serie y las
predicciones realizadas por el sistema. Es decir, analizar si las predicciones
siguen la tendencia de la serie con respecto a alzas y bajas. Este tipo de
medición es de particular utilidad cuando se están evaluando series financieras.
Pese a que ese no es el caso del problema analizado en el presente trabajo, la
misma fue utilizada debido a que permite ver si las predicciones siguen el
movimiento de la serie. A continuación podemos ver la definición formal de
esta medida de error:

speDS = 10~f s., ¡=I

1 SI PROD ;:::O o !PROD!:::; 6'


donde b ¡-
-

1 O en cualquier otro caso

con PROD =(a¡-a¡_I)(p¡-Pi-l)


y E es un umbral con relación
a la precisión en los cálculos.

65
5. Predicción de Ventas.

5.1. Análisis de la serie de tiempo utilizada.

Para el presente trabajo se utilizó una serie de tiempo que representa las
ventas mensuales de vinos en Australia [13]. Esta serie fue seleccionada debido a
la longitud del período de tiempo medido (aproximadamente 15 años de
medición), que se extiende desde Enero de 1980 hasta Julio de 1995. Cada valor
representa la venta mensual de la variedad de vino blanco seco representada en
miles de litros.
En todas las pruebas realizadas, el objetivo consistió en aproximar con la
máxima precisión posible el volumen de ventas un paso adelante, es decir,
incorporar al sistema los datos hasta el mes n, y predecir las ventas
correspondientes al mes n + 1.
Como muestra la figura 12, esta serie presenta una escasa variación en la
media a lo largo de los años medidos. También observamos en ella la existencia de
picos pronunciados con un período de 12 meses. Dichos picos se deben a las
previsibles alzas de consumo generadas durante el período de fin de año. Al mismo
tiempo este detalle nos sirve para observar una notoria estacionalidad anual en la
sene.

66
Blanco Seco

Tendencia: y = 5.4975x + 2745.8


7(xx)

6000

•• 1 I e.1
t
f ~
'. J. 1<11 1
l~~ fll rr f~
~
.~ •
1'''
~.J IJ
1'"
U~· ~
n
¡r~
~

~
'f
¡.
~
•...~
I/~
~
I~ ~
~
~

1(XX)

o
1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181

1980 Mes 1995

Figura 12. Gráfico de la serie de tiempo "Venta de vinos, variedad Blanco Seco"

En la figura 13, se muestra el correlograma de la serie. En él, podemos


observar la estacionalidad mencionada. La misma se evidencia en la una fuerte
dependencia en el lag 12. La presencia de esta dependencia es un factor que se
tuvo en cuenta a la hora de elegir la longitud de los patrones a utilizar en la RN,
dado que la longitud está precisamente definiendo la porción de historia que
incorporaremos en el sistema para poder predecir el comportamiento futuro de la
sene.

67
Correlograma de la serie Blanco Seco

1
0,8
0,6
0,4
e
'o
'(3
co
0,2
O lll ....n 11- _ -n n n n n n
Q) 1 ry ~ A r~7 o n1A"1~1~1A1k1~171J
t:::: -0,2
8 -0,4
-0,6
-0,8
-1
Lag (meses)

Figura 13. Correlograma de la serie analizada.

Para mmmuzar la probabilidad de incorporar datos erróneos a nuestro


sistema, es necesario realizar un análisis de la serie tendiente a detectar mediciones
inválidas (outliers). Un método que resulta de utilidad en este sentido es el
descripto en [8]. El primer paso consiste en calcular la variación relativa
porcentual (relative difference as a percentage o RDP) y graficarla. Definimos el
RDP de una serie a de la siguiente forma:

Al analizar la serie de esta forma, es posible independizarse de los valores


absolutos y de esta forma es más simple detectar la presencia de valores anormales.
En la figura 14 es posible observar el gráfico correspondiente al RDP de la
serie "Blanco seco".

68
RCP Blarro SooJ

8)

00

40

20

o,
,r ~~ Kl ~

1*1 I ~~ :A
O ,.-
o
o::
w ~ ,~ ~~
-20

..4()

-00

..8)
~ 00 LO N O'l <O M O r-- .,¡- ~ 00 LO N e» <OM O r-- .,¡- ~ 00 LO N O'l <O M
~ N N M -e- LO LO <O r-- r-- 00 e» e» O ~ N
~ ~ ~ M
~ N
-e- -e-
~ ~ ~ LO ~ <O
r--
~ ~ 00
~ <O ~
rvtls

Figura 14. Variación relativa porcentual(RDP) de la serie analizada.

Esta nueva sene, constituida a partir de considerar las vanaciones


porcentuales no solo nos proporciona un método para analizar la presencia de
outliers (mediciones erróneas). La nueva serie tiende a tener una distribución más

similar a la Normal que la serie original, lo cual es una característica habitualmente


señalada como deseable en una serie a ser modelada mediante RNs [8].
En los histogramas mostrados en las figura 15 se puede observar el efecto
mencionado.

69
Histograma-BI Seco
Hstograma del RDPde la serie Blanco Seco
4) ------------- --------------------------------------

33
0- ------

45~0----------------------~
40
:D 35
25 ~ 30
••
o'! Al Olí 25
¡¡ 20
~ 15
~ 10
o 15
~ 10
~ 5 5
o O~~~~~~~~~~~~m, O~~~~~~~~~~~~~
10 M
M 10

RDP

- (a) (b)
Figura 150 Histogramas correspondientes a la serie estudiada (a) y al RDP de la serie (b)

Para detectar la presencia de mediciones erróneas en la serie RDP, se debe


fijar un criterio que permita medir aquellos valores que se encuentran fuera de
escala. Un criterio habitualmente utilizado consiste en tomar como outliers a
aquellos valores que están fuera del intervalo delimitado por ± 2 veces la
desviación están dar de la serie [14]. Con el propósito de analizar posibles valores
erróneos en la serie RDP, se construye una nueva serie llamada RDPS, calculada
de la siguiente forma:

RDP
RDPS = ----------------
Desvío Estándar (RDP)

Los valores de RDPS tales que Ixl>2, corresponderán a aquellos valores del
RDP que sean mayores en módulo a dos veces la desviación estándar del RDP. De
esta forma se identifican fácilmente las potenciales mediciones erróneas. Una vez
que estos valores fueron identificados, existen varias posibilidades. Una alternativa

70
frecuentemente utilizada, consiste en reemplazar en la serie RDP, el valor dudoso
por la cota. Es decir, se cambia el valor extremo por dos veces el desvío estándar.
La nueva sene obtenida a partir del reemplazo de estos valores extremos se
denomina RDP recortada (trimmed), donde los valores excedentes han sido
podados.
En la figura 16 se muestra el gráfico de la serie RDPS, donde los valores
que exceden las cotas (2 y -2) son fácilmente identificables.

RDPS de BL seco

4
3
2

ni .•
... ••

o\¡
~~

g: -2
~j

~ ~
. ~
m

~ ~~
~~
••
I~~
~'

~
~tJ ~i i~
u • ~~
~
~ ~ .
Jt~ t~

O
o:::: -3 I
-4
o ~ ro ~ ~ ~ ~ M N ~ o ~ ro ~ ~ ~ ~ M N ~
~ N M ~ ~ ~ ~ ro ~ o o ~ N M ~ ~ ~ ~ ro
~ ~ ~
Mes

Figura 16. RDPS de la serie analizada. En y= 2, -2 se muestran las cotas utilizadas


para el podado de la serie.

Cuando analizamos el gráfico obtenido a partir de los RDPS de la serie


analizada, podemos observar que existen un patrón en los valores que exceden la
cota fijada. Esto es así debido a la naturaleza de la serie. La misma posee grandes
variaciones estacionales y por este motivo, remover estos valores significaría
modificar sistemáticamente la serie. Es claro que estos valores no son anormales
sino parte de la naturaleza del problema. Si se decidiera recortar estos valores

71
estaríamos desechando cualquier posibilidad de que la RN predijera esta clase de
picos. Por tal motivo se decidió no realizar un podado de la serie.

72
5.2. Metodología

Con el fin de modelar el problema de predicción utilizando RNs, los datos


disponibles de la serie -un total de 187 mediciones- fueron divididos de la
siguiente forma: el 60 % fue utilizado para el proceso de entrenamiento, el 20 %
para testeo y el 20 % restante para validación. El orden en que se tomaron los datos
fue el siguiente: entrenamiento, testeo, validación, siguiendo siempre la secuencia
temporal.

Dada la sene original, es posible realizar sobre ella un número de


transformaciones con el objeto de lograr un mejor aprendizaje del problema por
parte de la RN. En el presente trabajo se hizo uso de varias de estas
transformaciones a lo largo de las pruebas realizadas. Las mismas son
mencionadas a continuación:

- Medición cruda: los datos son utilizados tal cual fueron medidos.

- Aplicación de Logaritmo Natural: los datos de entrada y salida se


transformaron aplicando la función logaritmo natural ( LN) a cada medición [14].

- RDP: se utiliza como entrada y salida de la RN la diferencia relativa como


un porcentaje (relative difference as a percentage)

73
Por otro lado, además de los procesamientos enumerados, la sene fue
reescalada para llevada al intervalo [-1, 1]. Dicho procesamiento se realizó
mediante la transformación:

(Vold -mínimo (V))x2


Vnew = máximo (V)-mínimo (V) - 1,

donde Vold es el valor original de la serie, Vnew es el valor escalado, mínimo(V) y


máximo(V) son, respectivamente, los mínimos y máximos de toda la serie.
Este procesamiento se realizó sobre las salidas esperadas debido a que las
RN utilizadas, como será visto más adelante, producen salidas dentro del intervalo
[-1,1]. También se utilizó este tipo de escalado en las entradas a la RN debido a
que de esta forma se evita que la función de activación de las neuronas se sature
con los valores de entrada. Si esto ocurriera con múltiples valores de la serie, se
haría más trabajoso para la RN diferenciar los patrones de entradas.

74
5.3. Comparación de resultados.
En el cuadro 17 es posible observar la comparación de los resultados
obtenidos tanto mediante los distintos algoritmos de RN como con los modelos
estadísticos usuales. Este cuadro es un resumen de los mejores resultados arrojados
por cada algoritmo.

16.43 0.47 39.73 N/A N/A N/A 23.03 0.48 45.5

16.6 0.49 51.65 N/A N/A N/A 23.24 0.54 63.63

Ex nencial Smoothin Non Seasonal 17.8 0.5 33.77 N/A N/A N/A 17.66 0.42 59.09

Ex onencial Smoothin ADITIVO 7.48 0.24 78.14 N/A N/A N/A 13-74 0.29 68.18

Ex onencial Smoothin MULTIPLtCATIVO 7.49 0.23 78.8 N/A N/A N/A 13.9 0.3 68.18
Figura 17. Cuadro comparativo de los resultados obtenidos a partir de las distintas arquitecturas de RNs
(mitad superior del cuadro) y los modelos estadísticos (mitad inferior del cuadro).

Por otro lado, para clasificar la eficacia de cada una de las soluciones, en
fondo azul con letras blancas se destacan los mejores resultados para cada
columna.

75
Como se puede observar, los resultados se encuentran particionados en tres
grandes columnas, las cuales a su vez se dividen en tres. Cada columna representa
un tipo de error distinto, evaluado sobre el conjunto de entrenamiento, testeo o
validación. Cabe destacar que los resultados más relevantes son los ubicados en la
columna Validación, ya que la misma evalúa la generalización del problema en el
caso de RNs o el ajuste del modelo en el caso de modelos estadísticos.
Las demás columnas, sin embargo, son de importancia también: una
solución que presente un error muy bajo en el conjunto de validación, pero que
muestra grandes errores sobre el conjunto de entrenamiento y testeo reflejaría que
la RN realmente no ha aprendido el problema.
En el caso de los modelos estadísticos, los que figuran como errores de
entrenamiento son en realidad los errores que comete el modelo sobre el rango de
datos utilizados para su ajuste. Las columnas de error de testeo no son aplicables
debido a la forma en que se trabaja en estos casos, y para el caso de predicción, se
evaluó el error que cometió cada modelo en el pronóstico a un paso adelante.
El primer resultado que se hace evidente al observar el cuadro es que en
todos los algoritmo s evaluados de RNs, la cantidad de 12 neuronas de entrada fue
la que obtuvo mejores resultados. Esto puede ser anticipado al observar el
correlograma de la serie analizada (ver figura 13), donde se había detectado una
fuerte dependencia de la serie con sus valores pasados en el lag 12. Es claro que
aún así, podrían existir dependencias no lineales más allá del lag 12, que no
puedan ser detectadas en el correlograma. Sin embargo, esto no parece suceder, ya
que las pruebas con mayor cantidad de neuronas de entrada no mejoraron los
resultados obtenidos. Por otro lado, las RNs que se probaron con menor cantidad
de neuronas de entrada, no lograban generalizar correctamente el problema.
Otro elemento comprobable en el conjunto de resultados es que, si bien las
arquitecturas más complejas presentan menores errores sobre el conjunto de

76
entrenamiento, esto no se verifica sobre los conjuntos de testeo y validación (ver
casos 3 y 6). Este efecto es conocido como Ajuste Excesivo (overfitting [1D.
Entre las distintas alternativas de RNs evaluadas, es posible observar que
los mejores resultados de generalización de la serie de tiempo fueron obtenidos a
partir de Retropropagación y de la arquitectura de Jordan.
Con respecto a las RNs Modulares, los resultados obtenidos mediante la
utilización de unidades lineales presentaron un error muy superior al resto de las
pruebas. Esto probablemente se deba a la naturaleza no lineal del problema
evaluado. El mucho mejor ajuste obtenido con esta misma arquitectura pero
utilizando unidades no lineales parece confirmar esta idea.

77
Con respecto a los valores obtenidos a partir de modelos estadísticos,
podemos observar que los mejores resultados fueron conseguidos con
ARlMA( 12, 1,1) Y Exponencial Smoothíng Aditivo y Multiplicativo. El primero de
ellos, presentó errores bastante cercanos a los obtenidos mediante RNs, aunque
considerando todos los errores en conjunto, las RNs obtuvieron mejores resultados
(ver figura 19, retropropagación 12:2: 1)

Figura 20. Predicciones realizadas utilizando los dos modelos de RNs que obtuvieron los
mejores resultados (Retropropagación y modelo de Jordan), comparadas contra la serie real.

78
6. Predicción de la altura del río Paraná

6.1. Introducción

En esta sección incluimos un segundo ejemplo para validar los modelos

utilizados en la resolución del caso anterior.


El nuevo problema en cuestión consiste en la predicción de la altura del río
Paraná en la provincia de Corrientes. Este problema fue planteado por el I.N.A.
(Instituto Nacional del Agua) a través de la Facultad de Ciencias Exactas y

Naturales de la U.B.A.
Para llevar adelante este trabajo, se utilizaron los modelos que resultaron
más eficaces en el primer caso estudiado lo que nos resultó de gran interés por
permitimos validar los modelos utilizados.

79
6.2. Descripción del problema

Como mencionamos anteriormente, el problema consiste en pronosticar la


altura del Paraná en la provincia de Corrientes. Los especialistas del LN.A.
consideran que los elementos necesarios para realizar este pronóstico son los
siguientes:

• Caudal medido en el río Pilcomayo con 5 días de anticipación al de


realizar el pronóstico. Este período de anticipación se debe a que ése es
el tiempo que tarda en propagarse el caudal desde el punto mencionado.

• Volumen de agua erogado por la represa de Yaciretá con tres días de


anticipación. Como en el caso de Pilcomayo, los días de anticipación se
deben al tiempo de propagación del caudal desde el punto considerado.

• Precipitaciones de los últimos tres días en la provincia de Corrientes.

Todos estos factores deben ser tomados en cuenta al momento de realizar el


pronóstico en cuestión.

80
6.3. Métodos actualmente utilizados

Para realizar las predicciones de la altura del no Paraná, actualmente el


I.N.A. utiliza dos herramientas:

Modelo hidrodinámico: esta alternativa toma como entrada los caudales de


las cuencas que son afluentes del Paraná, y luego modela el flujo de agua río abajo
hasta llegar a la provincia de Corrientes.

Modelo ARIMA: se cuenta con un ARIMA especialmente adaptado al


problema que se utiliza para ajustar los errores cometidos por el modelo
hidrodinámico.

Ambos métodos han sido desarrollados y ajustados por el I.N.A. con la


finalidad de hacer que los pronósticos se adapten lo más posible a la realidad.

81
6.4. Metodología

Para realizar el modelado a través de RNs, el I.N.A. facilitó las series de


tiempo necesarias. Las mismas son:

• Precipitaciones en Corrientes.
• Volumen de agua liberado por Yaciretá.
• Altura del río Pilcomayo.
• Altura del río Paraná en la Pcia. de Corrientes.

Todas las series incluyen valores diarios desde el 1 de Enero de 2000 hasta
el 2 de Septiembre del mismo año.

Con el propósito de encontrar la mejor alternativa, se diseñaron vanos


patrones de entrada a la RN incluyendo distintos grados de información. A
continuación se describe el que resultó ser el más efectivo.
El patrón de entrada a la RN está compuesto por 6 unidades temporalmente
ubicadas en distintos momentos:

P = r, r., Pt-2 Pt-3 Pt-4 Pt-5,

donde a su vez, cada uno de los P¡ están compuestos de los siguientes elementos:

donde
t
Xl: Altura del río en Corrientes correspondiente al día t.

82
t
x2: Caudal de agua liberado por Yacireta correspondiente al día t.

t
x3: Precipitaciones correspondientes al día t.

t
x4: Altura del río Pilcomayo al día t.

Los patrones de salida de la RN consisten en la altura del río Paraná en la


provincia de Corrientes para el día t+ 1.

Se dividió el conjunto de datos de entrada a la RN de la siguiente forma:

• Conjunto de Entrenamiento: desde el 1 de Enero hasta el 3 de Junio


inclusive. Total 155 mediciones (150 patrones).

• Conjunto de Testeo: desde el 30 de Mayo hasta l3 de Junio inclusive.


Total 15 mediciones (10 patrones).

• Conjunto de Validación: desde el 9 de Junio hasta el 1 de Septiembre


inclusive. Total 85 mediciones (80 patrones).

Como se puede observar, los distintos conjuntos no son disjuntos con


respecto a las fechas. Esto se debe a que existe solapamiento de un patrón con el
siguiente.
Si bien se realizaron pruebas diferenciando los datos, los mejores resultados
se obtuvieron sin diferenciar. Esto es muy posible que se deba a que cuando se
diferencia, hay cierta información que se pierde. Por ejemplo, consideremos el
caso de diferenciar la serie de tiempo que contiene la altura del río Paraná. Los

83
valores de esta sene contienen las variaciones de altura en el río, pero la
información acerca del nivel actual se ha perdido.
En la siguiente sección se puede apreciar un cuadro donde se presentan los
mejores resultados y su comparación con los métodos actualmente utilizados en el
I.N.A.

84
6.5. Comparación de resultados

En la figura 24 se resumen los mejores resultados que se obtienen usando


RNs. Al mismo tiempo, se compara estos resultados con los obtenidos mediante el
modelo hidrodinámico ajustado con un ARIMA y los datos arrojados por un
ARlMApuro.
Como en el caso de predicción de ventas, observamos que los mejores
resultados son obtenidos por las RNs, disminuyendo en el mejor de los casos, un
40% el error cometido por el modelo hidrodinámico + ARIMA.

Figura 24. Cuadro comparativo de los resultados de predicción obtenidos a partir de los modelos
desarrollados en el 1.N.A. y los generados a partir de RNs. Para el caso de Hidrodrinámico + ARIMA, no se
evaluó el SPEDS en validación debido a la existencia de discontinuidades en las predicciones provistas por
el l.N.A para este modelo.

Un punto que se observa en los resultados de este problema es el menor


grado de error porcentual alcanzado por todos los modelos si lo comparamos con
los errores obtenidos en el problema de predicción de ventas. Esto posiblemente se
deba a que la serie considerada tiene un comportamiento más determinístico.
En la Figura 25 se observa la comparación de la serie real (altura del río
Paraná en la pcia. de Corrientes) contra las predicción realizada por la RN de
retropropagación. Dicha RN cuenta con la estructura 24: 16:1.

85
Altura del río Paraná vs Predicción RN

-- Altura del Paraná


390
+------------------------------j __ Predicción

370~~~- __-----~~---~ __----------------__4

.~350+---4--~4r-~--,------~----------------__4
E
lO
D.

.g 330+---4-l--~~-4-~-------~----~~~-~-------__.1
Q;
'O

E310+------------------~_,~+-~¡,--~-~~------~
~"
290+-------------------~.~-_1~-_;~~-~-~--~~~

270+--------------------------~~-;._F-;_~

~ ~ ~ ~ ~ ~ re M ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ R ~ ~ ~
Día

Figura 25. Comparación de la serie real (altura del río Paraná en la pcia. de Corrientes) contra
las predicción realizada por la RN de retropropagación.

86
7. Conclusiones

Los resultados obtenidos a lo largo de este trabajo muestran que es posible


predecir series de tiempo mediante RNs, obteniendo, para algunos tipos de
arquitecturas y reglas de aprendizaje, un desempeño mejor que aquel obtenido con
los modelos estadísticos usualmente utilizados. Esto, sin embargo, merece la
siguiente salvedad: los resultados obtenidos son muy dependientes de las series
consideradas. Tal como lo muestran los resultados obtenidos en los dos ejemplos
evaluados, existen series de tiempo que pueden ser predichas con menor grado de
error que otras (mientras que para el primer caso los menores errores son cercanos
al 10 %, en el segundo caso, se obtuvieron errores cercanos al 1%).
Cuando evaluamos las distintas alternativas de RNs, notamos que las
mejores soluciones fueron obtenidas aplicando Jordan y Retropropagación. Esto
indica que para modelar la predicción de series de tiempo, estas herramientas
resultan muy convenientes: en el caso de Jordan su diseño está especialmente
pensado para tratar problemas temporales.
En el caso de perceptron multicapa con retropropagación, su arquitectura
interna es simple y es un modelo ampliamente difundido cuyas características y
variantes han sido extensamente estudiadas. En definitiva, su aplicación ha sido
más comprobada o fundamentada en la resolución de diversos tipos de problemas.
Considerando las RNs Modulares, si bien en los ejemplos evaluados no
llegaron a la tasa más baja de error, es importante destacar que la convergencia a la
solución fue por lo general mucho más rápida que en todas las demás alternativas.
Por lo tanto, este tipo de RNs puede ser de gran utilidad en caso que se requiera
realizar el entrenamiento del sistema en tiempo real.
Finalmente, observamos que cuando aplicamos a la predicción de los
problemas considerados en este trabajo los modelos estadísticos utilizados
habitualmente para realizar predicción de series de tiempo, estos no mejoran los

87
resultados obtenidos a partir de RNs. En particular, en la predicción de la altura del
río Paraná, las RN s obtienen una menor tasa de error que métodos específicamente
desarrollados para este problema (las RNs obtienen un MAPE 0.86 frente a 1.46
obtenido por el modelo hidrodinámico ajustado con un ARIMA. Esto representa
una reducción porcentual de aproximadamente un 40 % del error). Esto
probablemente se deba a la existencia de dependencias no lineales en la series que
no pueden ser modeladas por los métodos auto regresivos, pero sí por las RNs.
Finalmente, como futuros trabajos, consideramos que el preprocesamiento
de las series de tiempo, aplicando para ello la teoría de onditas (Discrete Wavelets
Transform, Thomason [29]) puede ser un camino interesante para mejorar aún más
los resultados obtenidos a partir de RNs.
Por otro lado, también consideramos de interés para el futuro, verificar el
desempeño de modelos mixtos. En dichos modelos, los resultados arrojados por
una RN podrían ser ajustados mediante un modelo ARIMA, o viceversa.

88
8. Referencias

[1] Hertz,J.-Krogh,A.-Palmer,R (1991). Introduction to the theory of Neural


Computation. Addison Wesley.

[2] Robert R. Trippi, Efraim Turban. Neural Networks m Finance and Investing.
Probus Publishing Company

[3] C.Chatfield. The Analysis ofTime Series. Chapman and Hall

[4] Simon Haykin (1994). Neural Networks. A comprehensive foundation. McMillan


College Publishing Company, Inc.

[5] M. Thiesing, Ulrich Middelberg, Oliver Vomberger. A Neural Network Approach


for predicting the sale of Artieles in Supermarkets Frank University of Osnabrück -
Germany.

[6] Samy Bengio, Francoise Fessant, and Daniel Collobert. A Connectionist System for
Medium- Term Horizon Time Series Prediction - France Télécom, Centre National
d'Études des Télécommunications - France

[7] Samy Bengio, Francoise Fessant, and Daniel Collobert. On the prediction of Solar
Activity Using Different Neural Network Models. France Télécom, Centre National
d'Études des Télécommunications - France

[8] Mark R. Thomason (EnerolFebrero 1995). A Basic Neural Network-based Trading


System Project #2 - NEUROVE$T JOURNAL.

89
[9] Sara M. Abecasis, Evangelina S. Lapenta and Carlos E. Pedreira (Julio/Agosto
1999). Performance Metrics for Financial Time Series Forecasting - Journal of
Computational Intelligence in Finance.

[10] Rumelhart, (1986): David E. Rumelhart, Geoffrey E. Hinton y Ronald J.


Williams. Learning internal representations by error propagation. En David E.
Rumelhart y James L. McClelland (Eds.), Parallel distributed processing:
Explorations in the microstructure of cognition. Vol. 1: Foundations, 318-362.
Cambridge, MA: MIT PresslBradford Books.

[11] Werbos, P. (1974) "Beyond Regression: New Tools for Prediction and Analysis in
the Behavioral Sciences," Ph.D. thesis, Harvard University, Cambridge, MA.
Reprinted as P. Werbos, The Roots of Backpropagation: From Ordered Derivatives in
Neural Networks and Political Forecasting, John Wiley and Sons, New York, 1994.

[12] Andrew C. Harvey (1993). "Time Series Models" - MIT Press.

[13] Rob J Hyndman's Home Page : Monthly Australian wine sales: thousands oflitres.
Jan 1980 - July 1995. Combination of FORTIF.DAT, DRYWHITE.DAT,
SWTWHITE.DAT, REDWINE.DAT, ROSE.DAT, SPARKLNG.DAT and
WINEIND.DAT. (http://www-personal.buseco.monash.edu.au/~hyndmanlTSDLI)

[14] Sara M. Abecasis and Evangelina Lapenta (1999). Survey ofNeural Networks: A
financial predictor example.

[15] Gasser Auda and Mohamed Kamel (1998). Modular neural networks: A
survey. University of Waterloo, Canada.

90
[16] Hu, M.J.C. (1964). Application of adeline system to weather forecasting.
Master Thesis, Technical Report 6775-1, Stanford Electronic Laboratories,
Stanford, CA, June.

[17] Weigend, Rumelhart, Huberman (1991). Generalization by weight-


elimination with application to forecasting. Advances in Neural Information
Processing Systems 3, 875-882.

[18] Cottrel, B. Girard, Y. Girard, Mangeas, Muller (1995). Neural Modeling for
time series: a statistical stepwise method for weight elimination. IEEE
Transactions on Neural Networks 6 (6), 1355-1364.

[19] Lachtermacher, Fuller (1995). Backpropagation in time-series forecasting.


Joumal offorecasting 14,381-393.

[20] Kuan, Liu (1995). Forecasting exchange rates usmg feed forward an
recurrent neural networks. Joumal of applied Econometrics 10, 347-364.

[21] Rissanen (1987). Stochastic complexity (with discussion). Joumal of Royal


Statistical Society, B, 49, 223-239 Y 252-265.

[22] Barker (1990). Analyzing financial healt: Integrating neural networks and
expert systems. PC Al 4(3),24-27.

[23] Pelikan, de Groot, Wurtz (1992). Power consumption in West-Bohemia:


Improved forecasts with decorrelating connectionist networks. Neural Network
World 2 (6), 701-712.

91
)

[24] Ginzburg, Hom (1994). Combined neural networks for time series analysis.
Advances in Neural Information Processing Systems 6, 224-231.

[25] Zhang (1994). Time senes analysis and prediction by neral networks.
Optimization Methods and Software 4, 151-170.

[26] Chu, Widjaja (1994). Neural Network system for forecasting method
selection. Decision Support Systems 12, 13-24.

[27] Jhee, K.e. Lee, J.K. Lee (1992). A neural networks approach for the
identification of the Box-Jenkins model. Network: Computation in Neural
Systems 3, 323-339.

[28] Reynolds, Mellichamp, Smith (1995). Box-Jenkins forecast model


identification. Al Expert, June, 15-28.

[29] Thomason, M.R.(1997). Financial Forecasting with Wavelet Filters and


Neural Networks. Joumal of Computational Intelligence in Finance 5 (1997)
27-32.

[30] Harrald, Kamstra (1997). Evolving Artificial Neural Networks to combine


financial Forecasts. IEEE Transactions on Evolutionary computation, Vol. 1
No. 1 April 1997.

[31] Jordan (1989). Serial Order: A Parallel, Distributed Processing Approach.


In Advances in Connectionist Theory: Speech, eds. J. L. Elman and D.E.
Rumelhart. Hillsdale: Erlbaum.

92
[32] Zhang y Hu (1997) Forecasting with artificial neural networks: The state of
the arto Intemational Joumal ofForecasting 14 (1998) 35-62.

r:
r:

93

También podría gustarte