Documentos de Académico
Documentos de Profesional
Documentos de Cultura
61
4.1 Introducción a la optimización convexa
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,
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.
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 .
64
Proyecto Fin de Carrera Enrique Molleja
donde y .
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
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:
donde,
, ,
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.
67
4.1 Introducción a la optimización convexa
68
Proyecto Fin de Carrera Enrique Molleja
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,
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
70
Proyecto Fin de Carrera Enrique Molleja
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.
71
4.1 Introducción a la optimización convexa
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
72
Proyecto Fin de Carrera Enrique Molleja
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,
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.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
74
Proyecto Fin de Carrera Enrique Molleja
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
76
Proyecto Fin de Carrera Enrique Molleja
77
4.2 Aplicaciones
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
78
Proyecto Fin de Carrera Enrique Molleja
79
4.2 Aplicaciones
2. Calcular .
80
Proyecto Fin de Carrera Enrique Molleja
4. Elíjase , . Hágase .
5. Mientras , hacer
6.
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:
81
4.2 Aplicaciones
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
83
4.2 Aplicaciones
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
• 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)]
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))]
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
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
90
Proyecto Fin de Carrera Enrique Molleja
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.
91
4.3 Clasificación de los datos
92
Proyecto Fin de Carrera Enrique Molleja
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