Capítulo 4bibing.us.es/proyectos/abreproy/12116/fichero/Capitulo4.pdf4.1 Introducción a la...

34
Capítulo 4 Clasificadores para el análisis de datos financieros En este capítulo se presentan los fundamentos matemáticos básicos sobre optimización convexa, y que son necesarios para comprender el funcionamiento de las herramientas de clasificación que se utilizarán en este proyecto. En la bibliografía que trata el tema de la optimización convexa se encuentran habitualmente explicaciones sobre conjuntos y funciones convexas, por lo tanto se comienza explicando estos conceptos para fijar la forma en que se plantean los problemas de optimización. A continuación se describen dos de las múltiples aplicaciones que derivan de la optimización convexa y que son las herramientas empleadas en el proyecto, la clasificación lineal y la regularización de problemas inversos o sistemas lineales. Para la redacción de este apartado se ha utilizado como referencia fundamental el libro [2] de la bibliografía así como [A.5]. 4.1 Introducción a la optimización convexa 4.1.1 Optimización matemática Al hablar de un problema de optimización matemática, sea o no convexo, lo que se persigue es minimizar una función objetivo con unas restricciones dadas. Por lo 61

Transcript of Capítulo 4bibing.us.es/proyectos/abreproy/12116/fichero/Capitulo4.pdf4.1 Introducción a la...

Capítulo 4

Clasificadores para el análisis de datos financieros

En este capítulo se presentan los fundamentos matemáticos básicos sobre optimización convexa, y que son necesarios para comprender el funcionamiento de las herramientas de clasificación que se utilizarán en este proyecto.

En la bibliografía que trata el tema de la optimización convexa se encuentran habitualmente explicaciones sobre conjuntos y funciones convexas, por lo tanto se comienza explicando estos conceptos para fijar la forma en que se plantean los problemas de optimización.

A continuación se describen dos de las múltiples aplicaciones que derivan de la optimización convexa y que son las herramientas empleadas en el proyecto, la clasificación lineal y la regularización de problemas inversos o sistemas lineales.

Para la redacción de este apartado se ha utilizado como referencia fundamental el libro [2] de la bibliografía así como [A.5].

4.1 Introducción a la optimización convexa

4.1.1 Optimización matemática

Al hablar de un problema de optimización matemática, sea o no convexo, lo que se persigue es minimizar una función objetivo con unas restricciones dadas. Por lo

61

4.1 Introducción a la optimización convexa

tanto el problema queda definido como,

Donde es la función objetivo y representa el coste de elegir un determinado valor de , y las funciones de restricción son las que limitan el conjunto de valores de que pueden elegirse. Se busca por lo tanto un vector óptimo tal que tenga el menor valor, o menor coste, con respecto a cualquier otro vector que cumpla las restricciones del problema.

Existen diferentes tipos de problemas de optimización, en los que se definen funciones objetivo y restricciones particulares. En este proyecto se trata el caso específico de problemas de optimización convexa, en los que tanto la función objetivo como las restricciones son funciones convexas, es decir, son funciones que verifican que

para todo y todo

Cuando se cumplen estas condiciones, existen métodos muy eficientes para resolver el problema planteado.

4.1.1.1 Problema de los mínimos cuadrados y programación lineal

El problema de los mínimos cuadrados y la programación lineal, son casos especiales muy utilizados de optimización convexa que servirán de base para comprender la clasificación y regularización del siguiente apartado.

4.1.1.1.1 Problema de los mínimos cuadrados

Un problema de mínimos cuadrados es un problema de optimización sin restricciones y que tiene una función objetivo que es la suma de los cuadrados de unos términos de la forma :

62

Proyecto Fin de Carrera Enrique Molleja

donde son las filas de la matriz , y donde el vector es la variable que se quiere optimizar. Reconocer un problema de optimización de mínimos cuadrados es sencillo, únicamente se necesita verificar que el objetivo es una función cuadrática.

La solución de un problema de mínimos cuadrados puede obtenerse mediante la resolución de un sistema de ecuaciones lineales como el siguiente,

obteniéndose la solución analítica .

El problema de mínimos cuadrados es la base para la estimación de parámetros, regresión, y diversos métodos de ajuste de datos. Por ejemplo puede utilizarse como estimador de máxima verosimilitud de un vector , cuando hay errores en las medidas de tipo Gaussiano.

Puesto que el problema de mínimos cuadrados tiene una forma bien definida, ya que básicamente hay que verificar que la función objetivo sea una función cuadrática, se utiliza en muchas técnicas. Una de esas técnicas es la regularización, que se explicará más adelante.

4.1.1.1.2 Programación lineal

Otro tipo importante de problema de optimización es la programación lineal, en el que el objetivo y las restricciones son lineales:

Aquí los vectores y los escalares son parámetros del problema que especifican el objetivo y restricciones de la función.

4.1.2 Conjuntos convexos

El estudio de la convexidad de conjuntos y funciones tiene especial relevancia a la hora de la búsqueda de los óptimos de las funciones, así como en el desarrollo de los algoritmos de resolución de los problemas de optimización, dado que cuando se verifique la convexidad del conjunto de valores de que satisfacen las restricciones del problema, se pueden desarrollar métodos de resolución eficientes para los problemas de optimización.

63

4.1 Introducción a la optimización convexa

En este apartado se dan a conocer las condiciones que deben cumplir esos conjuntos en los problemas convexos. Se verán una serie de definiciones que serán de utilidad en los siguientes apartados.

4.1.2.1 Conjuntos afines y convexos

Supongamos que son dos puntos de , entonces la línea que pasa por estos puntos viene definida por

donde .

Se dice que un conjunto es afín si la línea que une dos puntos cualesquiera del conjunto , está contenida en . Eso quiere decir que para cualquier par de puntos y , existe una línea .

Por lo tanto contiene la combinación lineal de cualquier par de puntos contenidos en .

Si se generaliza esta idea a un conjunto de puntos , una combinación afín de estos puntos en es un punto de la forma , donde , que pertenece a .

Por ejemplo, el conjunto de soluciones de un sistema de ecuaciones lineales, , donde y , es un conjunto afín.

El conjunto de todas las combinaciones de puntos de un conjunto se llama la envoltura afín de , y se escribe .

Se define el interior relativo de un conjunto en función de la envoltura afín de como,

donde , es la bola de radio y centro en función de la norma .

Un conjunto es convexo si el segmento entre cualquier par de puntos contenidos en también pertenece a , es decir, si para un par de puntos

y cualquier , se tiene que .

Se dice que una combinación de puntos de la forma , donde,

64

Proyecto Fin de Carrera Enrique Molleja

es una combinación convexa de los puntos . Un conjunto es convexo si y sólo si contiene todas las combinaciones

convexas de sus puntos.

La envoltura convexa de un conjunto , , es el conjunto de todas las combinaciones convexas de los puntos de .

Como el nombre sugiere, la envoltura convexa es siempre convexa. Es el conjunto convexo más pequeño que contiene a .

La idea de combinación convexas se puede extender a sumas infinitas, a integrales, y a distribuciones de probabilidad en su forma más general.

4.1.2.2 Ejemplos importantes

4.1.2.2.1 Hiperplanos y semiespacios

Un hiperplano es un conjunto de la forma,

donde y .

Analíticamente se interpreta como el conjunto de soluciones de una ecuación lineal. Y en sentido geométrico, el hiperplano puede ser interpretado como el conjunto de puntos que tienen el mismo producto interno con el vector .

Un hiperplano divide a en dos semiespacios. Un semiespacio cerrado es un conjunto de la forma

Los semiespacios son convexos, pero no son afines. La frontera del semiespacio es el hiperplano,

65

4.1 Introducción a la optimización convexa

4.1.2.2.2 Elipsoides

Una familia de los conjuntos convexos es la de los elipsoides, que tienen la forma

o bien

si , donde , es decir, es simétrica y definida positiva. El vector es el centro de la elipsoide. La matriz determina a que distancia se extiende el elipsoide en cada dirección de ; la longitud de los semiejes de vienen dados por , siendo los autovalores de .

4.1.2.2.3 Poliedros

Un poliedro se define como el conjunto de soluciones de un número finito de igualdades y desigualdades lineales:

Un poliedro es la intersección de un número finito de semiespacios e hiperplanos. Los poliedros son conjuntos convexos. Se puede expresar también en forma compacta de la siguiente manera

donde,

, ,

y el símbolo denota desigualdad vectorial o desigualdad por componentes en : significa que para .

4.1.2.3 Operaciones que conservan la convexidad

A continuación se describen algunas operaciones que mantienen la convexidad en los conjuntos, o permiten construir conjuntos convexos a partir de otros.

66

Proyecto Fin de Carrera Enrique Molleja

4.1.2.3.1 Intersecciones

Si los conjuntos y son convexos, entonces es convexo. Esta propiedad se extiende a un número infinito de conjuntos.

Un ejemplo son los poliedros, que son la intersección de semiespacios e hiperplanos. Los semiespacios e hiperplanos son conjuntos convexos, por lo que los poliedros también lo son.

4.1.2.3.2 Funciones afines

Una función es afín si es la suma de una función lineal y una constante, es decir, tiene la forma , donde y . Suponiendo que el conjunto es convexo y la función es afín , entonces la imagen de bajo la función ,

es convexa. Lo mismo ocurre con la imagen inversa de un conjunto convexo con una función afín. Como ejemplos de esta propiedad tenemos el escalado y la traslación.

4.1.2.4 Hiperplanos de separación y soporte

4.1.2.4.1 Teorema de los hiperplanos de separación

En esta sección se describe el uso de hiperplanos o funciones afines para separar dos conjuntos convexos y que no presentan intersección entre sí. Cuando esto ocurre, existe un hiperplano definido en la forma que se denomina el hiperplano de separación para dichos conjuntos.

El teorema de los hiperplanos de separación dice que, si se suponen dos conjuntos convexos y tales que no son intersecantes, es decir , entonces existen un y un tales que para todo y para todo . En otras palabras, la función afín es no positiva en y no negativa en .

Cuando se satisfacen las condiciones de para todo y para todo . Se dice que existe una separación estricta de los conjuntos y .

67

4.1 Introducción a la optimización convexa

4.1.2.4.2 Hiperplanos de soporte

Suponer un conjunto tal que , y que es un punto en la frontera del mismo.

Si a verifica que para todo , entonces el hiperplano se define como un hiperplano de soporte de en el punto .

Esto es equivalente a decir que el punto y el conjunto están separados por el hiperplano .

La interpretación geométrica es que el hiperplano es tangente a en , y que el semiespacio contiene a .

Un resultado de esto es el teorema del hiperplano de soporte, que dice que para cualquier conjunto convexo no vacío , y cualquier perteneciente a la frontera de

, existe un hiperplano de soporte de en el punto .

68

Ilustración 6: Separación de dos conjuntos mediante un hiperplano

Proyecto Fin de Carrera Enrique Molleja

4.1.3 Funciones convexas

4.1.3.1 Definición

Una función se dice que es convexa si su dominio , es decir, los valores para los cuales la función está definida, es un conjunto convexo, y además si para todo y se cumple que,

Se dice que es cóncava si es convexa.

Una función es convexa, si y sólo si es convexa cuando nos restringimos a una línea que pasa por su dominio. En otras palabras, es convexa si y sólo si para todo

y todo , la función es convexa.

Esta propiedad es muy útil porque permite verificar si una función es convexa mediante su restricción a una línea que pasa por su dominio, es decir, si

69

Ilustración 7: Hiperplano de soporte en un punto de la frontera

4.1 Introducción a la optimización convexa

es convexa.

En los problemas de optimización convexa se trabaja frecuentemente con la función de valor extendido en la que se define el valor de la función como ∞ fuera del espacio de

4.1.3.1.1 Condición de primer orden

Si existe el gradiente en todos los puntos del dominio de , entonces decimos que es convexa si y sólo si su dominio es un conjunto convexo, y se cumple lo siguiente

La función afín es la aproximación de Taylor de primer orden de en torno a . Si , entonces para todo

, por lo que es un mínimo global de la función .

4.1.3.1.2 Condición de segundo orden

Si existe el hessiano en todos los puntos del dominio de , entonces es convexa si y sólo si el hessiano es semidefinido positivo en todos los puntos del dominio, esto es

4.1.3.1.3 Condición del epígrafo

El grafo de una función se define como un subconjunto de

El epígrafo de una función se define también como un subconjunto de

70

Proyecto Fin de Carrera Enrique Molleja

Una función es convexa si y sólo si su epígrafo es un conjunto convexo.

Una función es cóncava si y sólo si su hipógrafo es un conjunto convexo. Se define el hipógrafo como

4.1.3.2 Operaciones que conservan la convexidad

A continuación se describen algunas operaciones que conservan la convexidad o concavidad de las funciones.

4.1.3.2.1 Suma ponderada con pesos no negativos

La suma ponderada de funciones convexas es una función convexa si los pesos son positivos o cero. Esto indica que el conjunto de funciones convexas es un cono convexo,

si .

También se cumple que la suma ponderada de funciones cóncavas es una función cóncava si ningún peso es negativo. Se puede extender el resultado a integrales y sumas infinitas.

4.1.3.2.2 Composición con un mapa afín

Suponer la función , y . Sea la función compuesta por una función cuyo argumento es una función afín

Si es una función convexa, también es convexa; y si es cóncava, también lo es.

4.1.3.2.3 Máximo y supremo puntual

Sean funciones convexas, entonces la función máximo puntual ,

71

4.1 Introducción a la optimización convexa

donde el dominio de es la intersección de los dominios de las , es una función convexa. Esta propiedad se puede extender al supremo puntual de un conjunto infinito de funciones convexas.

Si para cada , es convexa en , entonces la función definida como,

es convexa en .

Esta propiedad es importante, porque casi todas las funciones convexas se pueden expresar como el supremo puntual de una familia de funciones afines. Si el epígrafo es un conjunto convexo, podemos encontrar un hiperplano de soporte en cada punto , y este hiperplano será una estimación de que estará siempre por debajo, por lo que decimos que es un subestimador de esta función.

4.1.3.2.4 Composición

Para que la función compuesta sea cóncava o convexa, se deben cumplir unas condiciones para las funciones y Definimos como,

donde

Composición escalar

Cuando y valen 1, entonces y . Además si se supone que y tienen segunda derivada en sus dominios, entonces la segunda derivada de una función compuesta es

Si es convexa ( ), y es convexa y creciente ( y ), entonces es convexa, porque según la expresión anterior. Con este razonamiento se llega a los siguientes resultados:

72

Proyecto Fin de Carrera Enrique Molleja

es convexa si es convexa y no decreciente, y es convexa.

es convexa si es convexa y no creciente, y es cóncava.

es cóncava si es cóncava y no decreciente, y es cóncava.

es cóncava si es cóncava y no creciente, y es convexa.

Esto también es aplicable cuando y las funciones no son diferenciables, aunque en las comprobaciones de función no creciente o no decreciente hay que utilizar la función de valor extendido de .

Composición vectorial

Suponiendo ahora el caso más complicado en el que ≥ 1. Suponer que

donde y

Suponiendo nuevamente que , la regla de la cadena en este caso queda,

y volviendo a hacer el razonamiento para que se llega a las siguientes conclusiones:

es convexa si es convexa, es no decreciente en todos sus argumentos, y son convexas.

es convexa si es convexa, es no creciente en todos sus argumentos, y son cóncavas.

es cóncava si es cóncava, es no decreciente en todos sus argumentos, y son cóncavas.

es cóncava si es cóncava, es no decreciente en todos sus argumentos, y son convexas.

Y en este caso también es aplicable para sin necesidad de que o sean diferenciables.

73

4.1 Introducción a la optimización convexa

4.1.3.2.5 Minimización

Otra función que conserva la convexidad es la minimización con respecto a alguno de los componentes de la función original. Si es convexa en , y

es un conjunto convexo no vacío, entonces la función definida a continuación es convexa

4.1.3.2.6 Perspectiva de una función

Si , la perspectiva de es la función definida como

El dominio son los vectores tales que está en el dominio de , siendo . Esta operación mantiene la convexidad de . Si es convexa, también; y si

es cóncava, es cóncava.

4.2 AplicacionesEn este apartado se describen las herramientas utilizadas en el proyecto y que

son aplicaciones de la técnica de optimización convexa explicada anteriormente. Concretamente, en este proyecto se utilizan la clasificación lineal y la regularización.

4.2.1 Clasificación

En problemas de reconocimiento de patrones y clasificación se tienen dos conjuntos de puntos en , y , y se desea encontrar una función que sea positiva en el primer conjunto y negativa en el segundo, es decir,

Si estas desigualdades se cumplen, se dice entonces que separa o clasifica los dos conjuntos de puntos.

74

Proyecto Fin de Carrera Enrique Molleja

4.2.1.1 Discriminación lineal

En la discriminación lineal, se busca una función afín que clasifique los puntos, esto es

En términos geométricos, se busca un hiperplano que separe los dos conjuntos de puntos. Puesto que las desigualdades estrictas anteriores son homogéneas en y en , son realizables si y sólo si el conjunto de desigualdades lineales no estrictas

es realizable.

En la ilustración 8 se muestra un ejemplo de clasificación simple de dos conjuntos de puntos. Aunque en este caso existe una clasificación perfecta de los dos conjuntos utilizados, no siempre será así, pudiendo existir puntos de uno u otro conjunto en el lado opuesto del plano.

75

4.2 Aplicaciones

4.2.1.2 Discriminación no lineal

Aunque no se ha utilizado en el proyecto, se explica brevemente para poder comparar con el método de clasificación lineal descrito anteriormente.

Cuando se desea clasificar conjuntos se puede buscar también una función no lineal , a partir de un subespacio de funciones, que sea positiva en un conjunto y negativa en el otro

Si se demuestra que es lineal en los parámetros que la definen, estas desigualdades pueden ser resueltas del mismo modo que en la discriminación lineal. A continuación se describen algunos casos interesantes.

76

Ilustración 8: Clasificación lineal de puntos

Proyecto Fin de Carrera Enrique Molleja

4.2.1.2.1 Discriminación cuadrática

Sea una función cuadrática: . Los parámetros deben satisfacer las desigualdades

las cuales son un conjunto de desigualdades lineales estrictas en las variables . Al igual que en la discriminación lineal, es homogénea en de modo que se puede encontrar una solución a las desigualdades lineales estrictas resolviendo el problema de factibilidad no estricto (nonstrict feasibility problem),

La superficie que separa los conjuntos es una superficie cuadrática, y las dos regiones de clasificación

están definidas por desigualdades cuadráticas.

Resolver el problema de discriminación cuadrática, es lo mismo que determinar si los dos conjuntos pueden ser separados por una superficie cuadrática.

Se pueden imponer restricciones a para definir condiciones a la forma de la superficie de separación.

4.2.1.2.2 Discriminación polinómica

Sea un conjunto de polinomios en con grado menor o igual a :

77

4.2 Aplicaciones

Se puede determinar si dos conjuntos y , pueden separarse o no mediante un polinomio resolviendo un conjunto de desigualdades lineales en las variables . En sentido geométrico, se busca si dos conjuntos pueden separarse mediante una superficie algebraica (definida por un polinomio de grado menor o igual a ).

4.2.1.3 Algoritmos

A continuación se presenta el método descrito en [A.5] para determinar de forma numérica la solución óptima al problema de la clasificación lineal de dos conjuntos de puntos y en .

Se parte de la definición del problema de optimización convexo sin restricciones

donde , es una función convexa.

Se quiere obtener de forma eficiente la solución óptima que minimice la función objetivo. Por eficiente se entiende que el tiempo de cálculo computacional para obtener la solución dependa polinómicamente del número de variables de optimización (dimensión del vector )

En lo que sigue se asume que es una función estrictamente convexa y doblemente diferenciable. Esto es equivalente a decir que el hessiano de , evaluado en cualquier punto , tiene autovalores positivos (esto es, es definido positivo)

Mediante la estrategia denominada Método de Newton, para mejorar una solución candidata (no óptima), se pretende obtener tal que satisfaga

Utilizando esta estrategia de forma reiterada, y partiendo de un punto arbitrario , se obtiene una secuencia de puntos , tales que

, para todo . Dada la solución candidata , la idea consiste en obtener un desarrollo en Taylor en torno a tal que aproxime

78

Proyecto Fin de Carrera Enrique Molleja

Dado que la matriz se asume definida positiva para todo punto , se

infiere que es una función cuadrática y convexa con respecto a . La convexidad de permite afirmar que el mínimo con respecto a se alcanza en , donde anula la derivada respecto a . Esto es,

Aunque el anterior razonamiento es suficiente para garantizar que es óptimo, se muestra en lo que sigue sin recurrir al concepto de convexidad que efectivamente para todo .

La anterior desigualdad es válida para todo , por lo que lo es en particular para . Esto nos lleva a

Dado que es una aproximación de segundo orden de en torno a , se infiere que

La anterior aproximación es válida tan sólo si es lo suficientemente pequeño. Bien pudiera pasar que el valor del funcional de fuera mayor en

que en . Con vistas a solventar este problema, se toma como incremento respecto en vez de . La constante se obtiene de forma que

79

4.2 Aplicaciones

sea estrictamente menor que .

Existen distintas formas de obtener un valor adecuado para . La primera de ellas es obtener el valor de que minimiza . Dada la convexidad de , la función es convexa respecto del parámetro , con lo que la obtención del valor óptimo de no entraña mayor dificultad. En todo caso, en el contexto de algoritmos de punto interior, es común obtener utilizando la técnica denominada Backtracking. Dicha técnica se basa en la siguiente constatación. Para valores suficientemente pequeños de , la siguiente aproximación (de primer orden) es válida:

Dado que es una cantidad estrictamente negativa, se puede

afirmar que para , existe una vecindad tal que

En dicha vecindad, se obtiene un decremento de la función mayor o igual a una fracción de lo que predice la aproximación de primer orden. La técnica de Backtracking consiste simplemente en elegir como , donde y es el menor entero mayor o igual a cero que satisface:

El algoritmo que proporciona una secuencia de vectores que convergen al óptimo de la función es el siguiente:

1. Elegir el punto inicial .

2. Calcular .

80

Proyecto Fin de Carrera Enrique Molleja

3. Calcular la solución al sistema de ecuaciones

4. Elíjase , . Hágase .

5. Mientras , hacer

6.

7. Si entonces ir a (1). Si no, terminar.

Este algoritmo obtiene una secuencia decreciente de valores de . Dado que la

mejora predicha por el algoritmo en cada paso es una fracción de , el

criterio para dar por terminada la optimización es que dicha cantidad sea en módulo lo suficientemente pequeña. Por ejemplo, se puede tomar igual a 10-6. En cuanto a los valores para y , una elección razonable es = 0.5 y = 0.5.

Lo visto hasta ahora tiene como aplicación la clasificación lineal que se describe a continuación.

El problema de clasificación, dados dos conjuntos y en , consiste en la obtención de un plano de la forma tal que para todo

y para todo . En muchas ocasiones no existe dicho plano, es decir, es imposible obtener un plano de la forma que separe ambos conjuntos. Una forma de sortear este problema consiste en obtener

tal que se minimice el siguiente funcional:

donde , para todo . Con vistas a aplicar el algoritmo propuesto a la minimización del anterior funcional se requiere la obtención de las expresiones analíticas que proporcionan la derivada respecto y el hessiano:

81

4.2 Aplicaciones

4.2.2 Aproximación regularizada

En la aproximación regularizada, el objetivo es encontrar un vector que sea pequeño y que además haga que el valor residual de sea también pequeño. Esto puede describirse como un problema de optimización convexa con dos objetivos, y :

con respecto a .

La primera norma, que mide el tamaño del residuo, pertenece a . Por otro lado, la segunda norma se utiliza para medir el tamaño de y está en el espacio .

El equilibrio entre ambos objetivos puede encontrarse mediante diversos métodos y además puede obtenerse la curva que relaciona y para ver cómo debe variarse uno de los objetivos y conseguir que el otro sea pequeño.

82

Proyecto Fin de Carrera Enrique Molleja

La regularización es entonces un método utilizado para resolver este tipo de problemas en los que se desea optimizar dos objetivos. Una forma de regularización es la de minimizar la suma ponderada de los objetivos:

donde y son parámetros del problema, que con su variación hacen cambiar el equilibrio entre los objetivos. Valores usuales para son 1 y 2.

Como se vio anteriormente, la regularización es una técnica que se puede aplicar, por ejemplo, en el contexto de los mínimos cuadrados. De este modo pueden añadirse términos adicionales a la función objetivo que penalizan aquellos valores de

que son demasiado grandes. En el caso más sencillo, se añaden los cuadrados de la variable a la función de coste

donde es un parámetro elegido para un problema concreto y que permite

mantener un equilibrio entre minimizar la función y conseguir que

no se haga demasiado grande.

Con este método se resuelve el problema de la aproximación regularizada con dos objetivos haciendo que y sean pequeños, pero añadiendo un término extra que penaliza la norma de .

4.2.2.1 Regularización de problemas inversos

La regularización se utiliza en muchos contextos, pero dentro de las múltiples aplicaciones que pueden encontrarse es la resolución de sistemas de ecuaciones lineales la que se utilizará en este proyecto.

Cuando se tiene una matriz cuadrada , y el objetivo es resolver el sistema de ecuaciones lineales , puede utilizarse la regularización para encontrar una solución óptima en aquellos casos en los que la matriz no está correctamente condicionada, o incluso es una matriz singular.

La regularización proporciona un equilibrio entre resolver las ecuaciones y mantener a un valor razonable.

Una forma de regularización muy común en el contexto de problemas mal

83

4.2 Aplicaciones

condicionados es la de Tikhonov25, que está basada en minimizar la suma ponderada de las normas al cuadrado, lo que da lugar a un problema de optimización convexa cuadrático:

La regularización de Tikhonov tiene como solución analítica

Puesto que para cualquier , la solución de Tikhonov no requiere la asunción de una dimensión para la matriz .

4.3 Clasificación de los datosCon los datos correctamente almacenados y con las funciones de acceso a los

mismos bien definidas ahora es posible describir otra parte fundamental del proyecto, la clasificación de la información.

Como se explicó en el apartado 4.2.1, la clasificación consiste en obtener un plano en el espacio n-dimensional que sea capaz de separar dos conjuntos de puntos. El objetivo que se persigue al utilizar esta técnica no es predecir el valor exacto de un índice sino predecir la dirección de cambio (si el índice se moverá hacia arriba o hacia abajo).

4.3.1 Vectores de características

Se han utilizado datos diarios del mercado (Apertura, Máximo, Mínimo, Cierre, Volumen y Cierre ajustado) entre los años 2001 y 2012. Este intervalo temporal se corresponde con el primer día en el que existen datos disponibles para todas las columnas citadas y el día más reciente antes de la finalización de los experimentos llevados a cabo en el proyecto.

Aunque en el Capítulo 5 se verá en detalle cómo se utiliza la información histórica, como primera aproximación podría decirse que cada día d del conjunto de datos utilizados ha sido descrito por un vector de características v(d) y un conjunto S o B. Dicho vector pertenece al conjunto S si al día siguiente el índice sube, y al conjunto B en caso contrario.

Los vectores de características definen diferentes escenarios, de tal manera que

25 Ver A. N. Tikhonov & V. Y. Arsenin, "Solutions of ill-Posed Problems", Wiley, 1977.

84

Proyecto Fin de Carrera Enrique Molleja

en cada uno de ellos se utiliza un conjunto distinto de regresores o parámetros. Por lo tanto, el análisis de cada vector arrojará resultados también diferentes. Los vectores de características v(d) han sido llamados de distinta manera en función de la cantidad de información que contienen: simple, doble, mediano y grande. A continuación se describen las características para cada escenario:

• Simple: se considera que este vector viene definido por los parámetros de valor de cierre del día d-1 y el valor de apertura del día d para un determinado índice o empresa.

vs(d) = [apertura(d),

cierre(d-1)]

• Doble: en este escenario el vector viene definido por dos componentes, el valor de cierre del día d-1 y el valor de cierre del día d-2. Por lo tanto, se tiene en cuenta la variación en el valor de cierre entre dos días consecutivos para un determinado índice o empresa.

vd(d) = [cierre(d-1),

cierre(d-2)]

• Mediano: se utilizan datos históricos de un índice de hasta nueve días de antigüedad. Los valores utilizados en este vector son los datos de apertura, cierre y volumen, así como sus medias y variaciones respecto al pasado.

Por ejemplo, para definir el valor medio de cierre entre el día d-1 y el día d-5, se escribe lo siguiente: media(cierre(d-5:d-1)), donde se utiliza la notación de MATLAB para definir rangos y que consiste en poner el operador ':'.

Para definir las variaciones de un valor se utiliza la expresión general: (valor final – valor inicial) / (valor inicial).

Los regresores utilizados forman el vector siguiente:

vm(d) = [apertura(d-1),

(apertura(d-1)-apertura(d-2))/apertura(d-2),

(apertura(d-1)-apertura(d-3))/apertura(d-3),

(apertura(d-1)-apertura(d-6))/apertura(d-6),

cierre(d-1),

85

4.3 Clasificación de los datos

cierre(d-2),

cierre(d-3),

(cierre(d-1)-cierre(d-2))/cierre(d-2),

media(cierre(d-5:d-1)),

media(cierre(d-7:d-1)),

media(cierre(d-9:d-1)),

media(volumen(d-5:d-1))]

• Grande: en este escenario el vector de características está formado por los mismos parámetros que el anterior, pero añadiendo más información histórica. Se considera ahora que los datos utilizados abarcan hasta 30 días de antigüedad.

vg(d) = vm(d) +

media(cierre(d-15:d-1)),

media(cierre(d-30:d-1)),

media(volumen(d-15:d-1))]

Conocidos los vectores de características, se debe elegir un criterio para determinar si la bolsa sube o baja y poder así asignar el vector a un conjunto u otro. Suponiendo que para determinar la variación del valor de cierre se utiliza un intervalo de un día, la pauta a seguir para separar los vectores es la siguiente:

• Si: cierre(d) >= cierre(d-1)

El índice sube o permanece igual, asignar a S

• Si: cierre(d) < cierre(d-1)

El índice baja, asignar a B

4.3.2 Algoritmo clasificador

Una vez conocidos los regresores que definen cada escenario, así como el criterio utilizado para separar en dos conjuntos la información contenida en los vectores v(d) del espacio n-dimensional, debe obtenerse un plano mediante el cual los conjuntos puedan ser clasificados o separados. Esta clasificación consiste en obtener el hiperplano que permitirá a los experimentos y simulaciones realizar las predicciones.

El algoritmo clasificador visto en el apartado 4.2.1.3 servirá de base para

86

Proyecto Fin de Carrera Enrique Molleja

implementar en MATLAB dos funciones que se encargan de minimizar el funcional y generar los coeficientes del plano que separa los conjuntos. Las funciones son

las que se detallan a continuación y vienen desarrolladas en el Anexo C:

• JgH_Clasificador, obtiene el valor de la función objetivo J así como su derivada (g) y hessiano (H).

◦ Entrada: (coeficientes del plano, conjunto de subida S, conjunto de bajada B) El vector que almacena los coeficientes del plano se ha llamado theta.

◦ Salida: (J, g, H)

• Clasificador, se encarga de minimizar la función objetivo generada con la función anterior. Esta tarea la realiza hasta que se obtiene un error menor al especificado como parámetro en el algoritmo. En cada iteración cambia el valor de los coeficientes del plano clasificador, cambiando por lo tanto el valor de la variable theta.

◦ Entrada: (conjunto de subida, conjunto de bajada)

◦ Salida: (coeficientes del plano) El clasificador devuelve la variable theta una vez minimizada la función objetivo.

Estas funciones obtienen una secuencia decreciente de valores de hasta conseguir que se minimice el problema, momento en el que se da por terminada la optimización.

En las ilustraciones 9 y 10 puede verse el proceso de minimización del funcional , así como la evolución de las componentes del vector que define el plano para un

conjunto de vectores de características de ejemplo (Mediano y Grande). En las gráficas superiores puede verse cómo las componentes del vector que define al plano tienden a estabilizarse, mientras que en las gráficas inferiores se observa cómo se reduce el valor de a medida que se realizan más iteraciones en la función de clasificación.

Otro ejemplo puede verse en la ilustración 11, donde se representa el resultado obtenido al clasificar un conjunto de puntos procedentes de datos históricos utilizando el vector de características denominado Doble vd(d) y el criterio de separación visto anteriormente. Se ha utilizado únicamente este vector para representar el plano puesto que es el único cuya dimensión del espacio vectorial permite su representación en una gráfica. Además, en este caso se ha representado de manera diferente la evolución de las componentes del vector que define el plano. Como vd(d) es de dimensión 2, se han considerado las componentes de theta como las coordenadas de un punto de manera que puede verse cómo se estabiliza el valor.

87

4.3 Clasificación de los datos

88

Ilustración 9: Minimización de J(x) y obtención de theta para el vector vm(d).

En la gráfica superior se observa cómo cada una de las doce componentes del vector theta converge hacia un valor mas preciso. Cada línea de color representa una iteración, de manera que los picos y valles de la línea mas exterior representan el valor final de las componentes del vector theta.

En la gráfica inferior puede verse cómo se reduce el valor de J en cada una de las seis iteraciones que ha necesitado el clasificador para minimizar J.

Componente de theta

Iteración

Proyecto Fin de Carrera Enrique Molleja

89

Ilustración 10: Minimización de J(x) y obtención de theta para el vector vg(d).

Ahora, en la gráfica superior, se observa la evolución de cada una de las quince componentes del vector theta. Los picos y valles de la línea mas exterior representan el valor final de las componentes de dicho vector.

En la gráfica inferior puede verse cómo se reduce el valor de J en cada una de las doce iteraciones que ha necesitado el clasificador para minimizar J.

Iteración

Componente de theta

4.3 Clasificación de los datos

90

Ilustración 11: Minimización de J(x) y obtención de theta para el vector vd(d).

Puesto que el vector vd(d) solamente tiene dos componentes, se ha representado en la primera gráfica la evolución de los elementos del vector theta como puntos en el plano, de modo que se observa cómo en cada iteración el punto converge hacia un valor final.

En la segunda gráfica se representa la minimización de J en 30 iteraciones. Y en la última gráfica puede verse el plano clasificador obtenido tras la ejecución de la función de clasificación y cómo separa los dos conjuntos (S y B) de puntos.

Iteración

Proyecto Fin de Carrera Enrique Molleja

4.3.3 Precisión de los cálculos. Matrices singulares

Durante la clasificación de los puntos puede ocurrir que MATLAB muestre una advertencia que indica que una matriz está cerca de ser singular o mal condicionada. Esta advertencia aparece porque al intentar resolver el sistema dado por Delta=-H\g en la función Clasificador, se detecta que el número de condición de la matriz hessiana H ( ) es muy grande, lo que ocurre cuando la matriz tiene filas casi linealmente dependientes haciendo que su determinante tome valores muy pequeños y su inversa tenga valores muy grandes. Cuando ocurre esto un error mínimo en los datos hace que pueda existir un error relativamente grande en el resultado del sistema. En nuestro caso esos errores en los datos pueden venir dados por falta de precisión manejando los cálculos, ya que estos están siempre sujetos a problemas de redondeo debidos a que la precisión de las máquinas es finita, por ejemplo la precisión en coma flotante de MATLAB es ~10-16 (eps=2-52). El error de redondeo puede ser magnificado por sistemas lineales mal condicionados.

Conocido este problema en la resolución de sistemas lineales, se han tomado las siguientes medidas para reducir los efectos de la propagación del error:

1. Por un lado se ha observado que normalizar los datos históricos utilizados para generar los vectores de características, y que después se utilizarán en el algoritmo de clasificación, reduce considerablemente el número de condición. En la mayoría de los casos se reduce en torno al orden de 109, obteniéndose valores del orden de 104.

La normalización se realiza antes de formar los conjuntos S y B. Se divide cada dato utilizado para formar el vector v(d) por el máximo de manera que la información queda definida entre 0 y 1.

2. Por otra parte puede ocurrir que en algunos sistemas de ecuaciones el número de condicionamiento sea excesivo y haya que recurrir a un método alternativo para limitar el error. Asumiendo una precisión para MATLAB del orden de 10-16, el error relativo cometido en la solución del sistema viene dado por: , es decir, que si es del orden de 1016 el error cometido podría ser del orden de 1. Cuando ocurre esta situación se ha optado por llevar a cabo una regularización de la matriz H implicada en el sistema a resolver.

4.3.3.1 Regularización de matrices singulares

En el apartado 4.2.2 se vio una de las múltiples técnicas de regularización existentes, el método de regularización de Tikhonov. En esta sección se presenta el algoritmo para MATLAB que implementa dicho método, y que será utilizado para resolver sistemas de ecuaciones en los que la matriz no está bien condicionada.

91

4.3 Clasificación de los datos

El algoritmo utilizado26 calcula la solución regularizada de Tikhonov de un sistema . Para ello se hace uso de la descomposición en valores singulares (SVD) de la matriz que se desea regularizar ya que, según el autor del algoritmo, “esa aproximación se adapta mejor a la granularidad gruesa de MATLAB”27, que en el contexto de almacenamiento de datos, se refiere al nivel de detalle en una tabla o al tamaño en el que están divididos los campos.

La descomposición en valores singulares de una matriz , consiste en obtener una factorización de la misma de tal manera que,

donde y son matrices ortogonales cuyas columnas son los vectores singulares izquierdos y derechos de respectivamente, y es una matriz formada por los valores singulares de en su diagonal principal ordenados de mayor a menor, y cuyos elementos fuera de la diagonal son nulos.

Los vectores singulares izquierdos son los autovectores de la matriz , mientras que los vectores singulares derechos son los autovectores

de la matriz . Por otra parte, el cálculo de los valores singulares de consiste en obtener la raíz cuadrada de los autovalores no

nulos de ambas matrices y .

También existe la descomposición en valores singulares compacta de una matriz (CSVD). En este caso, la descomposición resulta de elegir solamente los autovectores asociados a los valores singulares no nulos, quedando las matrices de la siguiente manera:

26 Ver Christian Hansen, www.mathworks.com/matlabcentral/fileexchange/5227 Ver Christian Hansen 2008, Regularization Tools: A Matlab Package for Analysis and Solution of

Discrete Ill-Posed Problems, Version 4.1 Informatics and Mathematical Modelling, Technical University of Denmark

92

Proyecto Fin de Carrera Enrique Molleja

Una vez introducido el concepto de descomposición en matrices singulares, se presentan las funciones que serán utilizadas en el proceso de regularización y que el autor proporciona dentro de un paquete junto con otras funciones auxiliares relacionadas con la regularización:

• csvd. Permite obtener la descomposición en valores singulares compacta o reducida de una matriz pasada como argumento.

◦ Entrada: (A)

Matriz que se desea descomponer, si se agrega un segundo parámetro (sin importar tipo o tamaño) se calcula la descomposición completa.

◦ Salida: (U, s, V)

Matrices resultantes de la descomposición.

• tikhonov. Obtiene la solución regularizada del sistema dado por las matrices singulares y el vector de términos independientes.

Al recibir como parámetro la descomposición SVD, entonces se aplica la forma estándar de regularización siguiente:

donde si no se especifica lo contrario.

Si es un vector, entonces es una matriz tal que .

◦ Entrada: (U, s, V, b, lambda)

Matrices singulares (U, s, V) y vector de términos independientes (b).

El parámetro del problema (lambda) hace cambiar el equilibrio entre los objetivos.

◦ Salida: (x_lambda)

Solución del sistema de ecuaciones.

93

4.4 Conclusiones

4.4 ConclusionesDentro de lo analizado en este capítulo, se ha visto que la optimización convexa

consiste, básicamente, en la selección del mejor elemento (con respecto a algún criterio) dentro un conjunto de elementos disponibles. De forma general, con la optimización se intentan descubrir los "mejores valores" de alguna función objetivo dado un dominio definido, incluyendo una variedad de diferentes tipos de funciones objetivo y diferentes tipos de dominios.

La optimización convexa es ampliamente utilizada en diversos aspectos, pero dentro del ámbito de este proyecto se utilizarán únicamente algunos aspectos relacionados con la clasificación y la aproximación regularizada.

Con la clasificación se pretende identificar, en nuestro caso, a qué conjunto pertenece una nueva observación de datos históricos bursátiles, concretamente, si un nuevo punto definido con datos históricos pertenece al conjunto de datos que definen tendencias al alza o si, por el contrario, pertenece al que define tendencias a la baja.

Finalmente, con la regularización se ha dado solución a un problema derivado del uso de ordenadores para el procesamiento de los datos, ya que en ellos la precisión de los cálculos no es perfecta, y por lo tanto se generaban problemas durante la resolución de sistemas de ecuaciones debido a que aparecían matrices mal condicionadas que podían afectar a los resultados obtenidos.

94