Evaluación de modelos con validación cruzada

Cuando nos disponemos a crear algún modelo o estrategia para estudiar el comportamiento de un activo o realizar predicciones debemos saber que no es suficiente con construirlo , sino que además tenemos que cuantificar y evaluar como se puede comportar en diferentes situaciones o lo que se puede esperar de él en el futuro.

Por tanto , para conocer la precisión que puede tener un modelo o cualquier otro algoritmo que empleemos, podemos usar la técnica de validación cruzada. Este método consiste en dividir los datos de los que disponemos utilizando unos para construir el modelo y comprobando o testeando con los que quedan libres. Este proceso se puede hacer cambiando varias veces los datos y variando el tamaño de la muestra.

Gracias a este sistema podemos conocer como se puede comportar nuestro modelo con datos no utilizados para crearlo, asemejándose mucho más a lo que nos vamos a encontrar en la realidad.

La validación cruzada se puede llevar a cabo de varias formas:

La primera sería simplemente coger una parte de la muestra para entrenar el modelo y otra para testearlo. Esta es la forma más simple y la menos precisa ya que los resultados variarán mucho en función de las particiones que se cojan. Imaginemos que queremos crear un modelo para predecir el comportamiento de un activo financiero. Tenemos una muestra de 10 años, pues un ejemplo sería construir el modelo con 9 años y probarlo con el año que falta.

Una segunda forma es la Validación Cruzada K- Fold. Aquí la muestra la divimos en K-subconjuntos. Uno de los conjuntos lo utilizamos como datos de prueba y los demás de entrenamiento  o creación. Vamos iterando en función de los K que hayamos establecido. De esta manera conseguimos evaluar toda la muestra. En el dibujo podemos ver como sería una validación cruzada con 4 K o cuatro iteraciones.

 

A modo de ejemplo hemos evaluado un modelo de regresión sobre el precio del EURUSD. En este caso  haremos 5 particiones, de forma que al final  tendremos resultados de 5 modelos creados y probados con distintos datos de nuestra muestra. En el gráfico vemos por colores las desviaciones de cada partición.

 

En cada Fold o partición nos aparecerá la suma de los errores cuadrados y el número de datos utilizados. Como podemos ver cada una tiene un error diferente, de forma que sabemos el comportamiento del modelo cogiendo 5 partes de la muestra.

FOLD 1

Sum of squares = 0.28    n = 37

 

FOLD 2

Sum of squares = 0.24    n = 38

 

FOLD 3

Sum of squares = 0.27    n = 38

 

FOLD 4

Sum of squares = 0.26    n = 38

 

FOLD 5

Sum of squares = 0.25    n = 38

 

Otra vía es la Validación Cruzada dejando uno fuera (LOOCV),  en esta forma solamente dejamos un dato fuera para realizar el testeo y todos los demás son para entrenar el modelo.  Esta clase de validación es muy útil no solo para regresión, por ejemplo nosotros la usamos cuando queremos comprobar también la efectividad de modelos ARIMA. Aquí la desventaja que se tiene es que si se tienen muchas variables que probar suele tardar bastante.

 

 

 

La realización de este tipo de técnicas de validación es muy importante ya que uno de los problemas con los que nos encontramos, sobre todo a la hora de construir modelos sobre activos financieros es que estos se suelen ajustar muy bien a los datos con los que se construye el modelo pero pierden mucha eficacia cuando tiene que enfrentarse a datos nuevos. Aquí la idea con la que hay que quedarse es que no podemos crear un modelo con todos los datos que disponemos y sacar conclusiones de esos resultados, sino que debemos dividir nuestros datos y testear nuestros modelos con periodos no utilizados en su construcción. De esta forma  nos llevaremos menos sorpresas cuando los utilicemos en la vida real.

Bibliografía científica:

http://apuntes-r.blogspot.com.es/2014/11/validacion-cruzada.html

https://dlegorreta.wordpress.com/tag/k-fold-cross-validation/

https://es.wikipedia.org/wiki/Validaci%C3%B3n_cruzada

http://ocw.uc3m.es/ingenieria-informatica/analisis-de-datos/transparencias/evaluacion.pdf