Documentos de Académico
Documentos de Profesional
Documentos de Cultura
r:
Departamento de Computación
Facultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires
Tesis de Licenciatura
Pablo Duarte
Pablo Rodríguez
DIRECTORA
Evangelina Lapenta
CO-DIRECTOR
t:
{
e
Contenido
1. Resumen t, •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• 4
2. Introducción , 5
4.1. Introducción , 11
5. Predicción de Ventas 66
r:
r: 2
('
r
5.2. Metodología 73
6.1. Introducción 79
6.4. Metodología 82
7. Conclusiones 87
8. Referencias 89
r:
r:
r:
r 3
1. Resumen
4
2. Introducción
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.
6
3. Estado del arte
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
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:
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:
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
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.
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.
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:
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.
17
N-k
I
.1==1
(XI - X)(Xt+k - X)
_
rk = -
r
r: 18
4.2.2. Modelado de una 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:
- -rn2
+--
20
4.3. RN s aplicadas a la predicción de series de tiempo.
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]).
(5:2)
22
(2:3)
(3:2)
(2:1)
(1:3)
(3:4)
(5,2:3)
(3,2:1)
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
q valores ~I
X J, X2 , X3 , ... , xq , xq+J , Xq+2 , Xq+3, ."
Patrón 1
Patrón 2
Patrón 3
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
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
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
28
4.4.1. Retropropagación
Capa de salida
Capa oculta
Capa de
entrada
•
X¡ • •
X3
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)
30
n
V i1
J
g (L x ]' . W ji ),
i= 1
h: = ¿ W kj • V/ =¿ W kj . g (¿ xi' W ji ),
j j
aE
aWI;j
31
1. Para las conexiones que llegan a las neurona s de salida definimos:
8m I
= g '(h¡m) . ¿ wij
m +1 .8 m+1
}
j
=n s:m
:» , .
Vm-I
j
32
(
8E
ó. W (n) = -r¡ . -- + m . Ó. W . (n - 1)
Ij 8WIj Ij
33
algoritmo está aproximándose a la solución. Entonces 17 puede ser
incrementado, y de esta forma acelerar la convergencia.
4.4.1.2. Implementación
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:
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:
f(x) = tanh(x)
~~------~1,,~~--~~---,
-~=~----11-L---~·
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.
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.
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 testeo).
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:~
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
Les;
k
i=l
43
k
¿gi = 1
i=\
1
k
In ( L g ie
- O . S (d - Y i )T (d - Y i ) J,
i=l
-O.S(d-y.)T (d-y.)
g¡e 1 1
j=l
44
~w(m)
i
= 17 aw(m)
al = 17 .h,(d(m) _ y,(m»)x
,
~_ = 1,2, , q
{ 1 - 1,2, , k
~ a i = r¡ -aal- = r¡ (h i - g i )x
a i
45
4.4.2.2. Implementación
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
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.
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
49
• Pesos de las conexiones de cada una de las redes dentro de la red modular .
50
4.4.3. RN recurrente con retroalimentación interna
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:
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.
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.
de el-l.
Parámetro
11 Velocidad de aprendizaje.
53
~ Valor que se usa para ponderar la función de activación:
54
• Datos utilizados para la construcción de patrones: Son los valores de la serie
utilizada.
55
4.4.4. RN recurrente con retroalimentación externa
X:
1 m m +1 i -1 N+1 N+n
r ... r 1 1 •••
X (Entrada) Y (Salida)
56
A continuación se definen las variables involucradas:
X: entrada a la RN.
y: salida de la RN.
N: cantidad total de neuronas sin incluir las de salida.
l:S;i:S;m
i-l
net i = I W ij x j ,
j=l
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
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
N+n N+n
~ BE ~
F Y (t) = - = YJ t) - Yi (t )
- BYi (t)
59
4.4.4.2. Implementación
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.
61
r
• Error de la RN cuando le fue aplicado el conjunto de patrones de testeo.
62
r-
4.5. Métricas utilizadas para el error
• 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
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.
n
I (ai - Pi)2
i= 1
RPE n
I (a i - fi) 2
i= 1
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:
65
5. Predicción de Ventas.
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
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
Figura 12. Gráfico de la serie de tiempo "Venta de vinos, variedad Blanco Seco"
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)
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
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)
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
l·
~ ~~
~~
••
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
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
- Medición cruda: los datos son utilizados tal cual fueron medidos.
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:
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.
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
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
80
6.3. Métodos actualmente utilizados
81
6.4. Metodología
• 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.
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.
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
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.
85
Altura del río Paraná vs Predicción RN
.~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
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
[2] Robert R. Trippi, Efraim Turban. Neural Networks m Finance and Investing.
Probus Publishing Company
[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
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.
[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.
[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.
[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.
[20] Kuan, Liu (1995). Forecasting exchange rates usmg feed forward an
recurrent neural networks. Joumal of applied Econometrics 10, 347-364.
[22] Barker (1990). Analyzing financial healt: Integrating neural networks and
expert systems. PC Al 4(3),24-27.
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.
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