Página web del curso

Introducción

Ajuste de datos

Hemos visto la aproximación de funciones mediante interpolación. En interpolación, suponíamos que nuestros datos eran exactos. Por ejemplo, en algunos ejercicios de interpolación, obteníamos los datos a partir de la expresión de la función que queríamos aproximar.

El ajuste de datos es otra técnica de aproximación de funciones donde, en general, asumimos que nuestros datos contienen errores. Es el caso, por ejemplo, de datos obtenidos mediante mediciones en experimentos. A veces conocemos la forma de la función que subyace a los datos porque hay una ley física demostrada y, en ese caso, intentaremos utilizar esa función para aproximar los datos. En otros casos, no conocemos la función, e intentaremos aproximar con funciones genéricas, como polinomios o funciones trigonométricas.

El ejemplo más sencillo de ajuste o regresión es la recta de regresión por mínimos cuadrados. La recta o polinomio de grado uno, es la función con la que ajustamos. Mínimos cuadrados alude a la función que utilizamos para evaluar el error del ajuste. En este tema será la única función de error que usaremos. La ventaja que tiene usar el error mínimo cuadrático con funciones de ajuste lineales, que también serán las únicas que veremos en este tema, es que la solución del problema es un sistema de ecuaciones lineales.

Ejercicio

Dada la tabla de valores

$$\begin{array}{|c|ccccc|} \hline x & 0 & 1 & 2 & 3 & 4 \\ \hline y & 2 & 5 & 8 & 13 & 18 \\ \hline \end{array} $$
  • Hallar la recta de ajuste (recta de regresión) por mínimos cuadrados.
  • Calcular los residuos.

El problema de regresión por mínimos cuadrados o ajuste de datos se puede plantear de diferentes maneras:

  • Como un problema de optimización.
  • Como un problema de estadística.
  • Como un problema de álgebra.

En este curso el enfoque que corresponde es el primero.

Notación expandida

La recta es un polinomio de grado uno y será de la forma:

$$ P_{1}(x)=a_{0}+a_{1}x $$

Nuestras incónginas son $a_0$ y $a_1.$ Queremos calcular la recta que minimiza la suma de los residuos (errores) cuadráticos.

(Error y residuo son ideas parecidas pero se usan en contextos distintos. Ahora vamos a construir el modelo, la recta de regresión, y a la diferencia entre los valores de nuestros datos y el correspondiente valor del modelo se llama residuo. Cuando utilicemos este modelo para predecir un valor de la función hablaremos de errores. Pero en ambos casos es $y_i-P_1(x_i).$ Si $x_i$ estaba entre los puntos con los que construimos el modelo esta diferencia será un residuo. Si $x_i$ es un punto nuevo será un error.)

$$ E = r_1^2+r_2^2+r_3^2+r_4^2+r_5^2 $$

con

$$r_1 = y_1-P_1(x_1) \quad r_2 = y_2-P_1(x_2) \quad \ldots \quad r_5 = y_5-P_1(x_5)$$
  • Parece que tendría más sentido minimizar $E = |r_1|+|r_2|+|r_3|+|r_4|+|r_5|,$ que sería la suma de distancias. Pero este es un problema de solución más complicada.
  • Al elevar al cuadrado estas distancias, garantizamos que son positivas y que no se compensan residuos positivos con negativos.
  • Como $E$ es una suma de cuadrados y vamos a minimizar esta función, la recta que obtendremos se llama recta de regresión de mínimos cuadrados.
  • La notación para los puntos que estamos ajustando ahora empieza en 1. Los puntos son $x_1,$ $x_2,$ $x_3,$ $x_4$ y $x_5$ y las $y$ análogamente.
  • El error total $E$ depende de $a_0$ y $a_1$ que, de momento, son desconocidas.
$$E = r_1^2+r_2^2+r_3^2+r_4^2+r_5^2\qquad r_k = y_k-P_1(x_k)\qquad \begin{array}{|c|ccccc|} \hline x & 0 & 1 & 2 & 3 & 4 \\ \hline y & 2 & 5 & 8 & 13 & 18 \\ \hline \end{array}\qquad P_{1}(x)=a_{0}+a_{1}x $$
$$ \begin{eqnarray*} E(a_{0},a_{1}) & = & (P_{1}(0)-2)^{2}+(P_{1}(1)-5)^{2}+(P_{1}(2)-8)^{2}+(P_{1}(3)-13)^{2}+(P_{1}(4)-18)^{2}=\\ & = & (a_{0}+a_{1}(0)-2)^{2}+(a_{0}+a_{1}(1)-5)^{2}+(a_{0}+a_{1}(2)-8)^{2}+\\ & & (a_{0}+a_{1}(3)-13)^{2}+(a_{0}+a_{1}(4)-18)^{2} \end{eqnarray*} $$

Para hallar el error mínimo calculamos las derivadas parciales respecto a las dos variables y las igualamos a cero:

$$ \begin{eqnarray*} \dfrac{\partial E}{\partial a_{0}} & = & 2(a_{0}+a_{1}(0)-2)+2(a_{0}+a_{1}(1)-5)+2(a_{0}+a_{1}(2)-8)+\\ & & 2(a_{0}+a_{1}(3)-13)+2(a_{0}+a_{1}(4)-18)=0\\[0.4cm] \dfrac{\partial E}{\partial a_{1}} & = & 2(a_{0}(0)+a_{1}(0)^{2}-(0)(2))+2(a_{0}(1)+a_{1}(1)^{2}-(1)(5))+\\ & + & 2(a_{0}(2)+a_{1}(2)^{2}-(2)(8))+2(a_{0}(3)+a_{1}(3)^{2}-(3)(13))+\\ & + & 2(a_{0}(4)+a_{1}(4)^{2}-(4)(18))=0 \end{eqnarray*} $$

Sacando $a_{0}$ y $a_{1}$ factor común

$$ \begin{array}{ccccc} a_{0}(1+1+1+1+1) & + & a_{1}(0+1+2+3+4) & = & 2+5+8+13+18\\ a_{0}(0+1+2+3+4) & + & a_{1}(0^{2}+1^{2}+2^{2}+3^{2}+4^{2}) & = & (0)(2)+(1)(5)+(2)(8)+(3)(13)+(4)(18) \end{array} $$

Que es

$$ \begin{array}{ccccc} 5a_{0} & + & 10a_{1} & = & 46\\ 10a_{0} & + & 30a_{1} & = & 132 \end{array} $$

Resolvemos el sistema por Gauss: la segunda ecuación $e_{2}\rightarrow e_{2}-2e_{1}$

$$ \begin{array}{ccccc} 5a_{0} & + & 10a_{1} & = & 46\\ & & 10a_{1} & = & 40 \end{array} $$

y por sutitución reversiva

$$ \begin{array}{ccccc} a_{1} & = & 40/10 & = & 4\\ a_{0} & = & (46-10a_{1})/5 & = & 1.2 \end{array} $$

Y la recta de regresión mínimo cuadrática es

$$ P_{1}(x)=1.2+4x $$

Notación con sumatorios

La recta será de la forma:

$$ P_{1}(x)=a_{0}+a_{1}x $$

Queremos calcular la recta que minimiza la suma de los errores cuadráticos:

$$ E(a_{0},a_{1})=\sum_{k=1}^{5}(P_{1}(x_{k})-y_{k})^{2}=\sum_{k=1}^{5}(a_{0}+a_{1}x_{k}-y_{k})^{2}. $$

Para hallar el error mínimo calculamos las derivadas parciales respecto a las dos variables y las igualamos a cero:

$$ \begin{eqnarray*} \dfrac{\partial E}{\partial a_{0}} & = & \sum_{k=1}^{5}2(a_{0}+a_{1}x_{k}-y_{k})=0\\ \dfrac{\partial E}{\partial a_{1}} & = & \sum_{k=1}^{5}2(a_{0}+a_{1}x_{k}-y_{k})x_{k}=\sum_{k=1}^{5}2(a_{0}x_{k}+a_{1}x_{k}^{2}-x_{k}y_{k})=0 \end{eqnarray*} $$

Que equivale a

$$ \begin{array}{ccccc} a_{0}\sum_{k=1}^{5}1 & + & a_{1}\sum_{k=1}^{5}x_{k} & = & \sum_{k=1}^{5}y_{k}\\ a_{0}\sum_{k=1}^{5}x_{k} & + & a_{1}\sum_{k=1}^{5}x_{k}^{2} & = & \sum_{k=1}^{5}x_{k}y_{k} \end{array} $$

Sistema, que expresado matricialmente es:

$$ \left(\begin{array}{cc} \sum_{k=1}^{5}1 & \sum_{k=1}^{5}x_{k}\\ \sum_{k=1}^{5}x_{k} & \sum_{k=1}^{5}x_{k}^{2} \end{array}\right)\left(\begin{array}{c} a_{0}\\ a_{1} \end{array}\right)=\left(\begin{array}{c} \sum_{k=1}^{5}y_{k}\\ \sum_{k=1}^{5}x_{k}y_{k} \end{array}\right) $$

Calculamos los datos

$$ \begin{array}{c|c|c|c|c|c|} \hline & 1 & x_{k} & x_{k}^{2} & y_k & x_{k}\,y_k\\ \hline & 1 & 0 & 0 & 2 & 0\\ & 1 & 1 & 1 & 5 & 5\\ & 1 & 2 & 4 & 8 & 16\\ & 1 & 3 & 9 & 13 & 39\\ & 1 & 4 & 16 & 18 & 72\\ \hline \sum & 5 & 10 & 30 & 46 & 132\\ \hline \end{array} $$

Y los sustituimos en el sistema

$$ \begin{array}{ccccc} 5a_{0} & + & 10a_{1} & = & 46\\ 10a_{0} & + & 30a_{1} & = & 132 \end{array} $$

Y la recta de regresión mínimo cuadrática es

$$ P_{1}(x)=1.2+4x $$

Planteamiento del problema como una proyección

El problema de aproximación por mínimos cuadrados también se puede plantear como una proyección ortogonal sobre un subespacio de funciones de base B. Entonces la solución vendría dada resolviendo el sistema lineal anterior.

Queremos aproximar los puntos usando la base de funciones polinómicas

$$ B=\left\{Q_0(x),Q_1(x)\right\} =\left\{1,x\right\} $$

Es decir, queremos obtener un polinomio $$ P_1(x)=a_{0} \cdot Q_0(x) + a_{1} \cdot Q_1(x)= a_{0} \cdot 1 + a_{1} \cdot x $$

Obtenemos los coeficientes $a_0$ y $a_1$ como solución del sistema lineal

$$ \left(\begin{array}{cc} \left\langle Q_0,Q_0\right\rangle & \left\langle Q_0,Q_1\right\rangle \\ \left\langle Q_1,Q_0\right\rangle & \left\langle Q_1,Q_1\right\rangle \end{array}\right)\left(\begin{array}{c} a_{0}\\ a_{1} \end{array}\right)=\left(\begin{array}{c} \left\langle Q_0,f(x)\right\rangle\\ \left\langle Q_1,f(x)\right\rangle \end{array}\right) $$

En el caso discreto, el producto escalar más habitual es

$$ \left\langle g(x),h(x)\right\rangle=\sum_{k=1}^{n} g(x_k)h(x_k)$$

Que para el caso anterior nos daría el sistema

$$ \left(\begin{array}{cc} \sum_{k=1}^{5}1\cdot 1 & \sum_{k=1}^{5}1\cdot x_{k}\\ \sum_{k=1}^{5}x_{k}\cdot 1 & \sum_{k=1}^{5}x_{k}\cdot x_{k} \end{array}\right)\left(\begin{array}{c} a_{0}\\ a_{1} \end{array}\right)=\left(\begin{array}{c} \sum_{k=1}^{5}1\cdot y_{k}\\ \sum_{k=1}^{5}x_{k}\cdot y_{k} \end{array}\right) $$

O lo que es lo mismo

$$ \left(\begin{array}{cc} \sum_{k=1}^{5}1 & \sum_{k=1}^{5}x_{k}\\ \sum_{k=1}^{5}x_{k} & \sum_{k=1}^{5}x_{k}^{2} \end{array}\right)\left(\begin{array}{c} a_{0}\\ a_{1} \end{array}\right)=\left(\begin{array}{c} \sum_{k=1}^{5}y_{k}\\ \sum_{k=1}^{5}x_{k}y_{k} \end{array}\right) $$

Sustituyendo los datos y operando

$$ \begin{array}{ccccc} 5a_{0} & + & 10a_{1} & = & 46\\ 10a_{0} & + & 30a_{1} & = & 132 \end{array} $$

Y la recta de regresión mínimo cuadrática es

$$ P_1(x)=1.2+4x $$

¿Por qué no resolvimos el problema usando los errores en lugar de los errores al cuadrado? Porque, como vimos, la derivada del error cuadrático es una función lineal, y obtenemos varias ecuaciones lineales y la solución es la de un sistema lineal. Es decir, la solución es sencilla y rápida.

Sin embargo, si utilizamos la suma de los residuales, la función $E$, contiene valores absolutos, que es una función que no siempre es derivable, es decir, no es suave, y el plantemiento que hicimos de obtener las derivadas parciales, ya no vale y la solución sería más complicada.

Actualmente sí se utiliza el valor absoluto en la función de error (y otras muchas funciones de error) gracias a la existencia de los ordenadores que hace que los cálculos se compliquen no sea un problema.

Calcular los residuos

Calculamos la suma de residuos, $r_k$, que es lo que hemos minimizado.

$$ \begin{array}{ccccc} \hline x_{k} & P_1(x_{k}) & y_k & r_k = y_k-P_1(x_{k}) &r_k^2\\ \hline 0 & 1.2 & 2 & 0.8 & 0.64\\ 1 & 5.2 & 5 & -0.2 & 0.04\\ 2 & 9.2 & 8 & -1.2 & 1.44\\ 3 & 13.2 & 13 & -0.2 & 0.04\\ 4 & 17.2 & 18 & 0.8 & 0.64\\ \hline & & & \sum & 2.80\\ \end{array} $$