Blog de robótica e inteligencia artificial

8/31/2016

Naukas Bilbao 2016, la cita con la divulgación científica

Con el fin del verano, vuelve como un año más la gran cita de píldoras científicas: Naukas Bilbao. Este año se celebrará el 16 y 17 de septiembre, así que id haciendo hueco en vuestras agendas. El programa provisional de charlas podéis encontrarlo aquí:


Para quien no haya oído hablar de este evento, dos ideas: consiste en que los divulgadores de ciencia (principalmente participantes en la plataforma Naukas) subimos al escenario a contar ideas científicas, pero en no más de 10 minutos. Las charlas son de los temas más variados que os podáis hacer a la idea: biología, física, ingeniería, matemáticas, química, astronomía, etc.

Este año además, contaremos con la participación de Pedro Duque, el astronauta español, durante el viernes por la mañana. Además, también se realizarán sesiones de Naukas Kids para los más peques, junto a talleres y otras actividades que la organización irá desgranando en la cuenta @Naukas_com.

A un servidor le toca sus 10 minutos de gloria el viernes por la tarde: ¿Qué pasa cuando le das un péndulo a una máquina?

Habrá streaming del evento. ¡Estáis todos invitados!
Comparte:

8/08/2016

¿Se puede predecir el tiempo del ganador de 100m lisos en las Olimpiadas de Río?

Ya hay varios casas de apuesta en Internet que hacen sus pronósticos sobre quién será el ganador de los 100m. A día de hoy, por ejemplo en http://www.paddypower.com,




Y en un gráfico quedaría así:

En este punto, lo que tenemos es una serie de datos. Ahora, de lo que se trata es de intentar predecir el tiempo del Oro en la final de 2016. Tenemos una serie de datos temporales, y queremos predecir el nuevo punto. Para ello, hay una información muy valiosa, y es que la tendencia de los tiempos es claramente bajista.

La primera opción consistiría en obtener una línea que capture el comportamiento de los números de la manera más fiel posible. A esto se le llama línea de regresión, y se puede hacer con el método de mínimos cuadrados.



Lo cual corresponde a una recta de la siguiente forma:
En la ecuación anterior, x representa al año e y al tiempo. Por lo tanto, si hacemos cálculos, el tiempo en x=2016 sería de y=9,64s.

El método de los mínimos cuadrados persigue que en todos los puntos, la diferencia cuadrática entre el punto real y la recta que se obtenga sea la mínima posible. Sin embargo, esto lo hemos encontrado solo para una ecuación de segundo orden. En principio, cuanto mayor sea el grado de x, más se puede aproximar la curva a los puntos reales de los tiempos. Probemos y veamos en la siguiente imagen:


La línea roja corresponde al polinomio de segundo orden y el verde, al de orden 3. Sus ecuaciones son las siguientes:



Lo cual, para el caso rojo nos da un tiempo de 9,82 segundos en 2016. Y para el verde, 9,19 segundos. No conviene seguir aumentando el orden de la ecuación sin ninguna razón, ya que puede ocurrir el problema de overfit, y que los grados altos empiecen a asemejarse a la curva mucho peor que las ecuaciones de bajo grado.

Resumiendo, tenemos las siguientes opciones:
a) 9,64 seg
b) 9,82 seg
c) 9,19 seg.

¿Con cuál nos quedamos? Pues no necesariamente con ninguno. Me explico: Fijémonos en la primera ecuación, la de primer grado. 

 
Como se puede ver, casi ningún punto coincide con la recta, sino que hay una distancia entre la recta que hemos creado y el punto real. A esto se le llama residuo, y los hay de diferente magnitud a lo largo de todos los años, e incluso varían a estar por encima y debajo de la curva. Por estos residuos, quizás convenga no tratar la predicción de datos de manera determinista, sino considerando que va a haber una incertidumbre en nuestros pronósticos. Es decir, empleando métodos probabilísticos. Y uno de los más interesantes, es el método de Bayes.

Es una simplificación extrema, pero Bayes realiza predicciones según va a haciendo observaciones. De hecho, para realizar la predicción voy a emplear una variante de Bayes: el filtro de Kalman (explicada justo en la entrada anterior), el cual tiene una propiedad de predicción. Su implementación para una dimensión es muy sencilla, y este filtro va adaptándose con los nuevos valores. Sin entrar en muchas explicaciones y siguiendo los pasos del enlace anterior, el tiempo que arroja el filtro de Kalman es de 9,37 segundos.

A modo de resumen de la entrada: se aprecia que hay muchas maneras y basándose en distintos enfoques para realizar predicciones en el tiempo. Todo esto es la base de una disciplina muy en boga: machine learning, o el aprendizaje máquina, el cual sobre todo os sonará por el big data y la inteligencia artificial. 

No hemos ahondado en las muchas maneras más complejas que las presentadas para hacer predicciones, y sería pura casualidad que alguno de los resultados aquí arrojados coincidiera con el Oro Olímpico. Pero tampoco nos hemos metido en pasos previos que sí que se dan en el machine learning: descarte de valores poco representativos, filtrado, comprobación del ajuste de los métodos de predicción, etc.
Comparte:

Sígueme en redes:

descripción descripción descripción

En mi mesilla

Blog Archive