¡Carnaval de matemáticas! Ajustarse a los datos

Otro año más se celebra el Carnaval de Matemáticas, una semana en la que gentes con blogs escriben sobre mate. Este año me he animado yo también, ¡que no se diga! Eso sí, como yo no soy matemática sino ingeniera industrial, algo que nunca me cansaré de repetir para vuestra desgracia, voy a hablar de una aplicación práctica: el ajuste por mínimos cuadrados.


Pongámonos en situación. Imaginemos que estamos realizando unos ensayos para ver la relación entre dos variables, llamémoslas x e y. Tenemos una tabla gigante con el valor correspondiente de y para cada x y decidimos representar estos datos en un gráfico para hacernos una idea de la pinta que tienen. Nos encontramos con algo así:

Esto nos hace sospechar que la relación entre las variables podría ser lineal. Pero ¿cómo logramos la ecuación de la recta que mejor represente nuestros datos?

Vamos a pensar, para definir inequívocamente una recta en un espacio bidimensional necesitamos dos puntos que relacionaremos mediante la archiconocida ecuación de la recta:

y = ax + b

Los coeficientes a y b los obtenemos planteando la ecuación para cada punto y resolviendo el sistema resultante. Eso ya lo sabíamos. ¿Y si hiciéramos lo mismo para nuestro caso? Lo que nos ocurriría es que tendríamos tantas ecuaciones como puntos pero solo dos variables:

Esto es un problema ya que este sistema solo tiene solución exacta si todos los puntos están alineados. Descartamos la solución exacta, entonces. Vamos a ver el error que cometeríamos para cada punto con una recta cualquiera:

Como es lógico el error cometido es la distancia entre el punto en sí y por donde pasa la recta para ese valor de x:

e_i= |y_i - y|= |y_i -(ax_i+b)|

Lo pongo en valor absoluto porque nos interesa la distancia, no nos importa que el punto esté por encima o por debajo de la recta. Esto implica que podemos calcular el error que cometemos para todos los puntos, no será más que la suma de los errores para todos los puntos:

e_{total}= \sum_i |y_i - y|= \sum_i |y_i -(ax_i+b)|

La clave aquí sería conseguir la recta que de el mínimo error total. Y no sé a vosotros, pero es yo oigo mínimo y me vienen automáticamente a la cabeza las derivadas. Antes de derivar vamos a acondicionar un poco nuestras función para garantizar que lo que conseguimos es el mínimo: en lugar de sumar los errores o el valor absoluto de los mismos vamos a sumar sus cuadrados. Las razones son las siguientes:

  • Como hemos dicho antes, lo que nos interesa es la distancia entre los puntos y la recta, con lo que descartamos sumar los errores tal cual ya que esto provocaría que el error fuera más pequeño de la cuenta si alguno de ellos es negativo.
  • Una suma de cuadrados crece siempre monotónicamente, es decir, solo va para arriba, así no vamos a conseguir sin querer un máximo o punto de inflexión.
  • La suma de cuadrados tiene la misma pinta que un valor absoluto pero es más fácil de derivar porque no tiene pinchos.

En definitiva, la función que tenemos que minimizar es la siguiente:

E=\sum_i {e_i}^2= \sum_i (y_i - y)^2= \sum_i \left(y_i -(ax_i+b)\right)^2

¡Hagásmoslo!

\frac{\partial E}{\partial a}=2\sum_i (-x_i)\left(y_i -(ax_i+b)\right)=0
\frac{\partial E}{\partial b}=-2\sum_i \left(y_i -(ax_i+b)\right)=0

Operando un poco llegamos a:

a\sum_i {x_i}^2 + b\sum_i x_i  = \sum_i x_i y_i
a\sum_i x_i + b = \sum_i y_i

Que resulta ser un sistema de dos ecuaciones y dos incógnitas y que, por tanto, podemos resolver. Recordemos que lo único desconocido aquí son a y b, ya que el resto son nuestros datos.

Vamos a comparar este sistema con el sistema que teníamos inicialmente poniendo ambos en forma matricial:

Si nos fijamos en las matrices A y A’ y en B y B’ podemos ver que hay cierta relación entre ellas. ¿La veis? A ver si así es más fácil:


¡Exacto! Para conseguir las matrices para el ajuste de mínimos cuadrados A’ y B’ no tenemos más que multiplicar las matrices del sistemas inicial A y B por la traspuesta de A:

\mathbf{A^\intercal A u} = \mathbf{A^\intercal B}

Donde u es el vector que contiene las incógnitas.

Siguiendo este mismo proceso podemos ajustar nuestros datos a funciones cuadráticas, cúbicas o algunas más divertidas, solo debemos recordar el proceso:

  1. Proponer un modelo, es decir, elegir con qué ecuación vamos a ajustar nuestros datos.
  2. Plantear nuestro error total como la suma de los cuadrados de los errores para cada punto.
  3. Conseguir la expresión mínimo del error derivando.
  4. Resolver el sistema en el que las incógnitas serán los coeficientes del modelo.

¡Datos ajustados! ¡Ya podemos ir a bailar!


Este post participa en la Edición 8.3 del Carnaval de Matemáticas cuyo anfitrión es el Blog Semillas.


Anuncios

Un pensamiento en “¡Carnaval de matemáticas! Ajustarse a los datos

  1. Pingback: En qué ando: abril | Onda Hostil

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s