Está en la página 1de 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
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

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


un hiperplano

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
Proyecto Fin de Carrera Enrique Molleja

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


frontera

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
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 Aplicaciones
En 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

Ilustración 8: Clasificación lineal de puntos

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
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 datos


Con 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 v d(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

Componente de theta

Iteración
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.

88
Proyecto Fin de Carrera Enrique Molleja

Componente de theta

Iteración
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.

89
4.3 Clasificación de los datos

Iteración

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.

90
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
16
del orden de 10 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/52


27 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 Conclusiones
Dentro 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

También podría gustarte