Predicción de series de tiempo utilizando support vector machines
23
0
0
Texto completo
(2) IEL2-I-06-66. 1. Índice general 1. Introduccción. 2. 2. Regresión con Máquinas de Vectores de Soporte. 4. 3. Montaje Experimental 3.1. Descripción de los Datos . . . . . . . . . . . . . . . . . . . . . 3.2. Medidas de Desempeño . . . . . . . . . . . . . . . . . . . . . . 3.3. Experimentos Realizados . . . . . . . . . . . . . . . . . . . . .. 7 7 8 9. 4. Resultados Experimentales. 12. 5. Conclusión. 20.
(3) IEL2-I-06-66. 2. Capı́tulo 1 Introduccción El problema de predicción de series de tiempo aunque ha sido ampliamente estudiado, todavı́a tiene mucho campo para la investigación. Más aun con los recientes avances de la ciencia, como lo son los vertiginosos adelantos del área de Machine Learning, el acceso a cada vez más y mejor información, y el imparable desarrollo de los equipos de cómputo. El futuro siempre ha inquietado al ser humano. El objetivo de este proyecto de grado es lograr un primer acercamiento al problema de regresión de funciones utilizando Support Vector Machines (SVM), el cual a diferencia del problema de clasificación (reconocimiento de patrones), ha sido trabajado muy poco en la Universidad de los Andes. Con el fin de probar este método se trabajó sobre los datos intradiarios del Índice General de la Bolsa de Colombia (IGBC), y el precio de las acciones de Bancolombia y Suramericana de Inversiones (Suranimv). Se intentó predecir el valor del ı́ndice respectivo en un rango de 1 minuto a 210 minutos. De antemano se sabe que predecir este tipo de series de tiempo financieras es extremadamente difı́cil. Bajo la hipótesis de eficiencia del mercado (Efficient Market Hipothesis, EMH) [2], el precio de las acciones es aleatorio. La teorı́a dice que en principio, el precio actual de una acción refleja toda la información disponible. Y cambios en el precio sólo se dan ante nueva información, la cual, por definición, es sorpresa. Amplios estudios soportan la EMH. Cada vez participan mayor cantidad de actores en el mercado mundial, los cuales gracias a los avances de las comunicaciones tienen acceso casi inmediato a la nueva información, lo cual acerca la realidad a la teorı́a. Bajo esta teorı́a, de nada sirve estudiar el pasado para predecir el futuro, ya que son independientes. De existir oportunidades de arbitraje, éstas subsi-.
(4) IEL2-I-06-66. 3. stirı́an por muy poco tiempo pues todos empezarı́an a copiar la estrategia, anulándola rápidamente. Ante este panorama de que las acciones siguen una caminata aleatoria, la mejor apuesta para el futuro es el precio actual. De todas maneras, en el mercado se presentan ciertas ineficiencias. Un ejemplo es que a veces, antes de que se publique oficialmente una noticia positiva acerca de una empresa, el precio de la acción empieza a subir. Esto contradice la teorı́a, la cual dice que el precio de la acción deberı́a subir en el instante en que se libera la noticia, reflejando la nueva información. Una posible explicación de esto es que a veces se presenta filtración de información privilegiada, hacer uso de la cual de hecho es ilegal. Por otro lado, un mercado pequeño, está más lejos de seguir la teorı́a que uno grande. Esto hace pensar que es más probable lograr encontrar patrones en un mercado de capitales pequeño, como la Bolsa de Valores de Colombia, que en uno grande como el New York Stock Exchange. Bajo este panorama, se espera que los métodos modernos de análisis de series de tiempo sean capaces de encontrar tendencias y patrones a corto plazo. Se busca lograr hacer uso de las ineficiencias del mercado. El documento consta de 5 capı́tlos. El primero es el presente capı́tulo introductorio. En el segundo se explica brevemente la teorı́a de regresión de funciones por medio del algoritmo de máquinas de vectores de soporte (Support Vector Regressión, SVR), y cómo finalmente todo se reduce a un problema de optimización convexa. En la tercera sección se explicará el montaje experimental. Es decir, se describirán los datos usados, los diferentes experimentos realizados, y las distintas medidas de desempeño para evaluar las predicciones que se hagan. En el cuarto capı́tulo se comentarán los resultados obtenidos, y finalmente en el quinto y último capı́tulo se darán la conclusiones del trabajo, y futuros proyectos a realizar..
(5) IEL2-I-06-66. 4. Capı́tulo 2 Regresión con Máquinas de Vectores de Soporte En el problema de regresión de funciones se cuenta con unos datos {(xi , yi )}i=1,··· ,n ∈ Rm × R. El problema consiste en encontrar una función f : Rm → R tal que f (x) ≈ y lo más cercano posible en los datos que se tienen, bajo ciertas nociones de suavidad de la función. La idea de regresión de funciones con máquinas de vectores de soporte (Support Vector Regression, SVR), aunque tiene un nombre largo, es conceptualmente sencilla. Los datos x se llevan por medio de una función Φ no lineal a un espacio F de más dimensiones, y allı́ se lleva a cabo una regresión lineal. Es decir, f está descrita por: f (x) = hω · Φ(x)i + b donde Φ : Rm → F , ω ∈ F y b ∈ R h·, ·i representa el producto punto. De esta manera, una regresión lineal en un espacio F de alta dimensionalidad corresponde a regresión no lineal en el espacio de bajas dimensiones Rm . Según lo anterior el producto punto deberı́a ser calculado en el espacio F lo cual es computacionalmente costoso, y de hecho si F es de dimensión infinita, puede llegar a ser imposible. Esto se soluciona gracias al denominado truco del kernel el cual consiste en encontrar una función k con la siguiente propiedad: k : Rm × R m → R.
(6) IEL2-I-06-66. 5. tal que k(xi , xj ) = hΦ(xi ), Φ(xj )i Es decir, la función k calcula el producto punto de la imagen en el espacio F, pero quedándose en Rm . √ Un ejemplo sencillo de un kernel para cuando x ∈ R2 y Φ(x) = (x21 , 2x1 x2 , x22 ) es k(x, x0 ) = hx, x0 i2 = hΦ(x), Φ(x0 )i como se puede comprobar fácilmente. En este caso la función no lineal Φ lleva los datos de un espacio de dos dimensiones a uno de tres. Ası́, lo que se busca es determinar ω y b a partir de los datos minimizando una medida de riesgo empı́rico Remp y un término de complejidad kωk2 . Esto bajo el punto de vista de minimización de riesgo estructurado, lo cual busca encontrar un equilibrio entre que la función encontrada se ajuste bien a los datos, y que generalice bien, sin incurrir en el inconveniente de sobreajuste a los datos (overfitting). Como se explica en [5] el algoritmo de ν-SVR está dado por la solución del siguiente problema de optimización cuadrática: ! n X 1 1 (ξi + ξi∗ ) , mı́n τ (ω, ξ, ξ ∗ , ) = ||ω||2 + C · ν + ω,ξi ,ξi∗ ,,b 2 n i=1 (hω, xi i + b) − yi ≤ + ξi , yi − (hω, xi i + b) ≤ + ξi∗ , ξi ≥ 0, ξi∗ ≥ 0, ≥ 0.. sujeto a. Siendo este un problema de optimización cuadrática, es análogo resolver el problema dual, el cual se presta mejor para lo que se desea. Se introduce de una vez el truco del kernel. Determinando el lagrangiano e introduciendo multiplicadores de lagrange se obtiene el siguiente problema de optimización: máx W (αi , αi∗ ) α,α∗. =. n X i=1. (αi∗. n 1X ∗ − αi )yi − (α − αi )(αj∗ − αj )k(xi , xj ), 2 i,j=1 i. sujeto a. Pm. ∗ i=1(αi. − αi ) = 0, C αi ∈ 0, m , C ∗ α Pi m∈ 0,∗ m , i=1 (αi + αi ) ≤ C · ν..
(7) IEL2-I-06-66. 6. Ası́, la función de regresión está dada por: f (x) =. n X. (αi∗ − αi )k(xi , x) + b. i=1. Se decidió no implementar desde ceros este algoritmo, sino que se hizo uso de la herramienta LIBSVM [4], la cual trae incorporado el algoritmo de ν-SVR. El kernel utilizado fue el kernel Gaussiano, dado por: k(x, xi ) = e−γkx−xi k. 2.
(8) IEL2-I-06-66. 7. Capı́tulo 3 Montaje Experimental 3.1.. Descripción de los Datos. El objetivo es poner a prueba el algoritmo de SVR en el problema de predicción de series de tiempo financieras. En búsqueda de obtener resultados satisfactorios se decidió usar datos de la Bolsa de Valores de Colombia (BVC), teniendo en mente que es un mercado menos eficiente que otros mercados más grandes. También, se decidió usar datos intradiarios del mercado en vez de sólo trabajar con los precios de cierre de cada dı́a, de nuevo pensando en que en el corto plazo es más probable encontrar patrones. [1] “El IGBC refleja el comportamiento promedio de los precios de las acciones en el mercado, ocasionado por la interacción de las fluctuaciones que por efecto de oferta y demanda sufren los precios de las acciones.” Las acciones de Suranimv y Bancolombia son de las más transadas en la bolsa y por eso se escogieron. Lo que se busca es lograr predecir el valor del ı́ndice dentro de 1, 5, 10, 15, 60, 120, 180 y 210 minutos. La BVC opera los dı́as hábiles entre las 9:00 A.M. y la 1:00 P.M.. Se usaron los datos intradiarios, minuto a minuto, del precio de las acciones de Bancolombia y Suranimv, y el ı́ndice IGBC. Para el ı́ndice IGBC se tienen los datos entre Enero 16 de 2006 y Abril 24 de 2006. Para las acciones se tomaron datos entre Febrero 15 de 2006 y Abril 24 de 2006. Cabe anotar que mientras en el caso del IGBC se tenı́an efectivamente los datos minuto a minuto, en el caso de las acciones, sólo se tenı́an para aquellos momentos en que se hicieron transacciones. Por lo tanto, se preprocesaron estos datos pasándolos a minuto a minuto, bajo el supuesto de que el valor de la serie.
(9) IEL2-I-06-66. 8. de tiempo se mantenı́a constante en el intervalo entre muestra y muestra, siguiendo lo propuesto en [8], pg 257. Ası́, para el IGBC se tenı́an 13,059 datos, para Bancolombia 11,160, y para Suranimv 11,241. En los tres casos, se dividieron los datos en dos partes. Las primeras dos terceras partes de los datos para entrenamiento, y la tercera parte restante como datos de prueba (o también llamados de validaci‘. Además de esto se normalizaron los datos de tal manera que se encontraran entre cero y uno, dado que el algoritmo se comporta mejor si los datos que maneja se encuentran en este rango.. Figura 3.1: Datos Experimentales. 3.2.. Medidas de Desempeño. Las predicciones fueron evaluadas por medio de las medidas de desempeño que se listan a continuación, propuestas por [7] y [8]. Pn (pi − ai )2 Coef = Pn i=1 2 i=1 (ai−k − ai ) Pn (ai − pi )2 NMSE = Pni=1 2 i=1 (ai − ai ) Pn |ai − pi | MAE = i=1 n Pn di DS = i=1 n.
(10) IEL2-I-06-66. 9 Pn 0 d |ai − pi | WDS = Pni=1 i i=1 di |ai − pi | ( 1 di = 0 ( 0 d0i = 1. si (ai − ai−k ) (pi − ai−k ) ≥ 0 si (ai − ai−k ) (pi − ai−k ) < 0 si (ai − ai−k ) (pi − ai−k ) ≥ 0 si (ai − ai−k ) (pi − ai−k ) < 0. ai denota el valor actual (real), y pi el valor predicho. ai denota el valor promedio. La primera de estas medidas, Coef, es un coeficiente que indica si se está logrando predecir algo en vez de asumir que es totalmente aleatoria la serie de tiempo. Como se comentó anteriormente, bajo la hipótesis de eficiencia del mercado, los precios seguirı́an una caminata aleatoria. De ser ası́, la mejor apuesta que se puede hacer es asumir el valor actual para el futuro. Ası́, si Coef< 1, se está logrando encontrar cierta estructura en los datos. De lo contrario, quiere decir que la predicción es peor que asumir una caminata aleatoria. NMSE es el error cuadrático medio (Normalized Mean Squared Error), y MAE es el error absoluto medio (Mean Absolute Error). Son medidas de la desviación entre el valor predicho y el actual. Entre menor sean estos valores, más cercana se encuentra la predicción del valor real. DS (Directional Symmetry) indica el porcentaje de veces que se predijo la dirección correcta. 1 significarı́a que el 100 % de las veces se predijo la dirección correctamente. WDS (Weighted Directional Symmetry) toma en cuenta tanto la dirección como la desviación del valor predicho. Penaliza los errores relacionados con direcciones incorrectas, y recompensa aquellos errores asociados con una dirección correcta. Entre menor sea el valor de WDS es mejor el desempeño de la predicción en cuanto a magnitud y dirección.. 3.3.. Experimentos Realizados. Para lograr predecir valores futuros se considerará que éstos son función de valores pasados. Es decir, con la información hasta el momento t, el valor.
(11) IEL2-I-06-66. 10. en el momento t + k es función de los últimos m valores. at+k = f (at , at−1 , · · · , at−m+1 ) Con los datos de entrenamiento se busca encontrar dicha función f : Rm → R. Ası́, el problema se reduce al problema de regresión de funciones. Básicamente se asume que tal función existe, y se conoce su valor en los datos de entrenamiento. Lo que se busca es encontrar un equilibrio entre lo bien que se ajuste la función propuesta a los datos de entrenamiento, y que generalice bien. Es decir, el error sea mı́nimo en los datos de prueba o validación, que es lo que realmente importa. El problema es que como su nombre lo indica, el algoritmo solamente está entrenado con los datos de entrenamiento, y no conoce los de validación. Se quiere predecir el valor de la serie para k = 1, 5, 10, 15, 60, 120, 180, 210 minutos hacia adelante. Se experimentará asumiendo que los valores futuros dependen de los datos pasados. Se probará una ventana de datos hacia atrás de m = 5, 10, 20, 30, 40, 50. El algoritmo usado para encontrar dicha función es ν-SVR, con kernel Gaussiano. Como se mencionó anteriormente, el algoritmo se reduce a un problema de optimización que tiene como parámetros a γ, ν y C. C y ν son en sı́ parámetros del algoritmo de ν-SVR, mientras que γ es parámetro del kernel Gaussiano. Sin mayor información acerca de la estructura de los datos, el kernel Gaussiano es una buena primera opción [5]. De hecho este kernel corresponde a una función no lineal Φ la cual lleva los datos a un espacio de dimensión infinita, pero preservando una muy buena generalización sin el problema de sobreajuste. Una de las ventajas del algoritmo SVR es que a diferencia de otros métodos como redes neuronales, el entrenamiento es relativamente más sencillo debido a que son pocos los parámetros de los que depende, y siendo un problema de optimización cuadrática, siempre tiene una única solución. Ası́, no se incurre en los problemas de quedarse estancado en un mı́nimo local en el proceso de optimización, como sı́ puede suceder en el caso de redes neuronales. En [5] y [7] mencionan la importancia de escoger apropiadamente los parámetros. El problema es que básicamente no hay una manera estructurada para escogerlos. La forma de hacerlo es probar con muchas combinaciones de los parámetros, evaluar los respectivos resultados, y quedarse con los parámetros que mejor se comporten. Con el fin escoger los parámetros óptimos se realizaron pruebas de validación cruzada. Los datos de entrenamiento se dividieron en tres partes. Para.
(12) IEL2-I-06-66. 11. cada una de las combinaciones de los parámetros se entrenó el algoritmo con dos de las tres partes, y luego se evaluó su desempeño con la tercera parte restante. Se usó la medida NMSE. Esto se hizo con las tres combinaciones posibles, y luego se promediaron los resultados de la medida de desempeño. Todo esto con el fin de encontrar aquellos parámetros que tuvieran la mejor generalización posible.. Figura 3.2: Validación Cruzada A pesar de que cada dı́a las herramientas computacionales son más poderosas, el problema de optimización a resolver es bastante grande y sigue siendo computacionalmente exigente. Dadas las restricciones de tiempo que se tenı́an, no se hicieron todas las pruebas deseadas, y se debieron tomar ciertas decisiones. Esto se explica a continuación..
(13) IEL2-I-06-66. 12. Capı́tulo 4 Resultados Experimentales Inicialmente se empezó a trabajar sólo con la serie de tiempo del IGBC. Para esta serie de tiempo se empezó por hacer el procedimiento de validación cruzada con un valor de ν = 0,8 y valores de C = 2−3 , 2−1 , 21 ,23 , 25 , 27 , 29 , 211 ,213 , 215 , 217 y de γ = 2−15 , 2−13 , 2−11 , 2−9 , 2−7 , 2−5 . Esto se hizo para varias combinaciones de m y k. Los resultados se evaluaban bajo la medida de NMSE. A continuación se muestra cómo varı́a el NMSE en función de los parámetros, para el caso de m = 10 y k = 5. También se muestra una gráfica en la que se truncan todos los valores de NMSE por encima de 2,5 × 10−5 , a modo de ampliar la imagen.. Figura 4.1: Validación Cruzada De la imagen de la izquierda en la figura 4.1 se puede ver cómo sólo en los extremos de las combinaciones de los parámetros el NMSE aumentaba.
(14) IEL2-I-06-66. 13. considerablemente. De resto hay como un gran “plano” en el que el NMSE no tiene cambios considerables, del cual se hace un acercamiento en la imagen de la derecha. Notar que el eje z de la gráfica de la izquierda es el logaritmo del NMSE. En este caso la combinación óptima de parámetros es con C = 211 y γ = 2−9 . Aunque se contaba con un buen equipo de cómputo que constaba de un procesador AMD Athlon X2 de 2GHz y 2 GB de memoria RAM, las pruebas de validación cruzada tomaban una cantidad considerable de tiempo (del orden de dı́as) para cada combinación de m y k. Al ver que en todas las pruebas que se hicieron de validación cruzada para diferentes m y k se daba un resultado similar, se decidió que dadas las restricciones de tiempo para llevar a buen término este proyecto no valı́a la pena hacer todas las pruebas. Ası́, se consideró que una combinación apropiada de los parámetros era tomar C = 211 y γ = 2−11 . De aquı́ en adelante, para cada serie de datos, se entrenó con la totalidad de los datos de entrenamiento, con los parámetros mencionados. Ası́, se hicieron pruebas para las diferentes combinaciones de m y k, con ν = 0,8. Se tomaron las diferentes medidas de desempeño sobre los datos de prueba. En la figura 4.2 y 4.3 se muestra cómo para las tres series trabajadas cambiaba la medida de desempeño Coef en función de la ventana hacia atrás m y el dato que se querı́a predecir hacia adelante k. En la figura 4.3 se hace un acercamiento para apreciar mejor los datos. Recordar que un Coef< 1 quiere decir que se está logrando algo interesante. En las tablas 4.1, 4.2, 4.3 y 4.4 se muestran los resultados obtenidos para las otras medidas de desempeño. Es interesante notar que en el caso de las acciones el estadı́stico Coef sólo es menor a uno para predicciones entre el próximo minuto y los próximos 15 minutos. Mientras que en el caso del ı́ndice IGBC, sólo es menor a uno para dentro de 10 y 15 minutos, y luego para después de 120 minutos. Es decir, es como si el IGBC al muy corto plazo fuera aleatorio, y dentro de una hora también, pero de dos horas a tres horas y media sı́ es previsible. En el caso de las medidas de desviación de las predicciones, NMSE y MAE, se debe notar que sin importar el tamaño de la ventana m, el error es básicamente el mismo, y claramente la dispersión aumenta a medida que se predicen valores más lejanos en el futuro (al aumentar k). En cuanto DS, el porcentaje de veces que se acierta la dirección de la serie, para k fijo, es básicamente igual independiente de m, aunque es ligeramente mayor para las ventanas más pequeñas. Esto da a pensar que la mayor parte.
(15) IEL2-I-06-66. 14. Figura 4.2: de la información se tiene en el pasado cercano, y que entre más lejano un dato es menos relevante. De hecho, al hacer la ventana más grande, se puede estar metiendo ruido indeseado. A diferencia del NMSE, MAE y DS, para k fijo, en el caso de la medida ponderada de dirección y desviación WDS, sı́ hay ligeros cambios al variar el tamaño de la ventana. En este caso, para diferentes k, el menor WDS se alcanza en diferentes m. También es diferente el comportamiento para cada serie. También, a modo de ejemplo sobre el tiempo que tomaban los cálculos se tiene lo siguiente para el caso de Bancolombia. Al hacer los 48 entrenamientos (hay 6 valores de m y 8 de k) se tienen las siguientes estadı́sticas: Tiempo Entrenamiento Bancolombia mı́nimo 35 segundos máximo 10.5 horas media 59 minutos mediana 3.5 minutos desviación estándar 138 minutos tiempo total 47.8 horas.
(16) IEL2-I-06-66. 15. Figura 4.3:.
(17) IEL2-I-06-66. 16. Cuadro 4.1: NMSE.
(18) IEL2-I-06-66. 17. Cuadro 4.2: MAE.
(19) IEL2-I-06-66. 18. Cuadro 4.3: DS.
(20) IEL2-I-06-66. 19. Cuadro 4.4: WDS.
(21) IEL2-I-06-66. 20. Capı́tulo 5 Conclusión Este artı́culo expone la utilización del algoritmo de máquinas de vectores de soporte para el problema de predicción de series de tiempo financieras. Se hizo un primer acercamiento por medio del estudio de las series del IGBC y de dos acciones. Las pruebas realizadas demuestran que la herramienta de regresión por medio de máquinas de vectores de soporte brinda resultados prometedores. Es importante notar que no todas las medidas de desempeño utilizadas coinciden en cuanto al tamaño óptimo de la ventana a utilizar. El escoger la mejor ventana requiere de un cuidadoso estudio e interpretación de las diferentes medidas de desempeño que se utilicen. Es claro que cada serie tiene sus particularidades y dependiendo de qué tan distante en el tiempo esté el valor que se desee predecir se debe utilizar una ventana diferente. Por lo tanto no existe una regla general a usar para todas las series. El método de SVR es directo y sencillo de usar. El principal problema viene de su costo computacional. Pues para obtener mejores resultados se deben hacer varias pruebas, las cuales pueden tomar mucho tiempo. En cuanto a la escogencia de los parámetros, aunque es un factor delicado, de los experimentos realizados se puede decir que el rango en que los resultados son buenos es amplio. Basta con hacerse a una idea del rango en que se encuentran los parámetros óptimos y escogerlos de manera sensata. Esta conclusión es buena desde el punto de vista práctico ya que como se mencionó anteriormente, el costo computacional de las pruebas es alto. Estudios posteriores tienen muchos temas por tratar. En este proyecto se hizo un primer acercamiento, y el problema se trató de la manera más.
(22) IEL2-I-06-66. 21. sencilla. Se podrı́a incluir más información a las series de tiempo tales como fecha y hora del dı́a de los datos, y otras variables que podrı́an ser explicativas y estar correlacionadas con la variable de interés. Por ejemplo, para predecir el valor de una acción en particular, se podrı́a usar también como dato de entrada el IGBC, otras acciones, y el precio de dólar. Otro tema por investigar es cómo lidiar con el hecho de que las series de tiempo financieras se caracterizan por ser no estacionarias. También se debe estudiar qué tanto afecta los resultados el preprocesar los datos, realizando procedimientos tales como suavizarlos y hacer un análisis de frecuencia. Es interesante ese análisis ya que en teorı́a todo eso es información que los datos ya contienen, y que si el kernel usado es lo suficientemente rico, deberı́a poder extraer y aprovechar esas caracterı́sticas. Por otro lado, también se puede investigar el uso de computación en paralelo para agilizar el entrenamiento del algoritmo..
(23) IEL2-I-06-66. 22. Bibliografı́a [1] Bolsa de Valores de http://www.bvc.com.co. Colombia.. Visitada. Mayo. de. 2006.. [2] R.A. Brealey, S.C. Myers. Principles of Corporate Finance. McGraw-Hill, 7th Edition, [3] Christopher J.C. Burges. A Tutorial on Support Vector Machines for Pattern Recognition. Data Mining and Knowledge Discovery, 2:1-47, 1998. [4] Chih-Chung Chang, Chih-Jen Lin. LIBSVM a library for support vector machines. Última visita Mayo de 2006. http://www.csie.ntu.edu.tw/ cjlin/libsvm/ [5] B. Schölkopf, A.J. Smola. Learning with Kernels. Support Vector Machines, Regularization, Optimizacion, and Beyond. MIT Press. 2002. [6] A. J. Smola , B. Scholkopf. . A Tutorial on Support Vector Regression. NEUROCOLT Technical Report NC-TR-98-030. Royal Holloway College, London. 1998. [7] F.E.H. Tay, L.Cao. Application of support vector machines in financial time series forecasting. Omega, Volume 29, Issue 4, August 2001, Pgs 309-317. [8] A.S. Weigend, N.A. Gershenfeld. Time Series Prediction: Forecasting the Future and Understanding the Past. Addison-Wesley. 1994.
(24)
Documento similar