20 votos

Derivación de la fórmula de la regresión lineal por mínimos cuadrados ordinarios

¿Cómo se llegó a la fórmula de la regresión lineal por mínimos cuadrados ordinarios?

Ten en cuenta que no sólo busco la prueba, sino también la derivación. ¿De dónde viene la fórmula?

47voto

MJD Puntos 37705

Una vez lo escribí en detalle para mi blog, pero nunca lo publiqué porque pensé que la gente no lo encontraría interesante. Pero ya que lo pides, aquí está. Hay muchas fórmulas, pero no hay nada difícil en ello.


Todas las calculadoras científicas tienen una función de "regresión lineal", en la que puedes poner un montón de datos y la calculadora te dirá los parámetros de la línea recta que mejor se ajusta a los datos. Por ejemplo, supongamos que tenemos un grupo de datos con el siguiente aspecto:

linear regression data

La regresión lineal calculará que los datos se aproximan por la línea $3.06148942993613\cdot x + 6.56481566146906$ mejor que por cualquier otra línea.

the same linear regression data with plotted linear approximation

Cuando la calculadora lo hace, sólo hay que poner los valores de los datos y salir los parámetros de la recta, su pendiente y su $y$ -intercepción. Esto puede parecer bastante misterioso. Cuando veas las fórmulas del parámetros de la recta, parecen aún más misteriosas. Pero resulta que resulta que es bastante fácil de entender.

Queremos encontrar el línea $y = mx + b$ que se ajusta a los datos tan bien como posible. Lo primero que tenemos que decidir es cómo medir la bondad del ajuste. Si un punto de datos es $(x, y)$ y el línea pasa realmente por $(x, y')$ En cambio, ¿cómo decidir hasta qué punto es un problema?

Tenemos que elegir alguna función de medición de errores $\varepsilon(y, y')$ que nos indica el error que atribuimos a la línea que va a través de $y'$ en lugar de $y$ . Entonces podemos hacer el cálculo para averiguar la línea que tiene el mínimo error total.

El $\varepsilon$ que elijamos debe satisfacer algunos criterios. En ejemplo, $\varepsilon(y, y)$ debe ser 0 para todos los $y$ Si la línea pasa exactamente por el punto de datos, debemos atribuirle un error 0. Y $\varepsilon(y, y')$ nunca debe ser negativo: un error de 0 es perfecto, y no debería ser capaz de hacerlo mejor que perfecto.

El $\varepsilon$ La función que utilizan todas las calculadoras de bolsillo es $$\varepsilon(y, y') = (y-y')^{2}.$$ Esto se debe a varias razones. Una de ellas es que satisface los importantes criterios anteriores, y algunos otros. Por ejemplo, es simétrico: si la línea pasa a cierta distancia por encima de donde está el punto realmente, ese tiene el mismo error que si pasa la misma distancia por debajo de donde está el punto.

Además, esta función de error dice que falta un dato de datos por tres pies no es tres veces más malo que perderlo por un pie pie; es nueve veces tan malo. Está bien perder el punto por un un poco, pero fallar por mucho es inaceptable. Esto suele ser algo parecido a lo que queremos.

Pero la verdadera razón por la que todas las calculadoras utilizan esta función de error es que es muy fácil calcular la línea de mejor ajuste para esta definición particular de "mejor ajuste".

Hagamos el cálculo. Supongamos que los datos son los siguientes $N$ puntos $(x_{1}, y_{1}), (x_{2}, y_{2}), (x_{3}, y_{3})$ . Y vamos a tratar de aproximar con la línea $y = mx + b$ . Queremos encontrar los valores de $m$ y $b$ que minimizan el error total error.

El error total es:

$$E(m, b) = \sum{\varepsilon(y_i, mx_i+b)}$$

Es decir, para cada punto $(x_{i}, y_{i})$ , tomamos donde está realmente (es decir $y_{i}$ ) y donde la línea $y = mx + b$ predice que debería ser (eso es $mx_{i} + b$ ) y calcular el error de la predicción. Sumamos el error para cada punto que la línea debía debía predecir, y ese es el error total de la línea.

Desde $\varepsilon(y, y') = (y-y')^{2}$ el error total es:

$$E(m, b) = \sum{(y_i - mx_i - b)^2}$$

O bien, moler el álgebra:

$$E(m, b) = \sum{(y_i^2 + m^2x_i^2 + b^2 - 2mx_iy_i - 2by_i + 2bmx_i)}$$

Podemos sumar cada uno de los seis tipos de componentes por separado y luego totalizarlos todos al final:

$$E(m, b) = \sum{y_i^2} + \sum{m^2x_i^2} + \sum{b^2} - \sum{2mx_iy_i} - \sum{2by_i} + \sum{2bmx_i}$$

Vamos a tener que pasar mucho tiempo hablando de cosas como $\sum x_iy_i$ Así que vamos a hacer un poco de abreviaturas:

$$\begin{array}{lcl} \mathcal X &= & \sum x_i \cr \mathcal Y &= & \sum y_i \cr \mathcal A &= & \sum x_i^2 \cr \mathcal B &= & \sum x_iy_i \cr \mathcal C &= & \sum y_i^2 \cr \end{array}$$

Recuerde también que $N$ es el número total de puntos.

Con estas abreviaturas, podemos escribir el error total como

$$E(m, b) = {\cal C} + m^2{\cal A} + b^2N - 2m{\cal B} - 2b{\cal Y} + 2bm{\cal X}$$

Ahora, recordemos que queremos encontrar los valores de $m$ y $b$ que dan lugar al mínimo error. Es decir, nos gustaría minimizar $E$ con respecto a $m$ y $b$ . Pero eso es un problema de cálculo sencillo. Queremos encontrar el valor de $m$ que minimiza $E$ Así que tomamos la derivada de $E$ con respecto a $m$ :

$\def\d#1{{\partial E\over \partial #1}}$ $$\d m = 2m{\cal A} - 2{\cal B} + 2b{\cal X}$$

Y sabemos que si hay una valor mínimo para $E$ se producirá cuando $\d m = 0$ :

$$2m{\cal A} - 2{\cal B} + 2b{\cal X} = 0\qquad{(*)}$$

Y de manera similar, $\d b$ también tendrá que ser 0:

$$\d b = 2bN - 2{\cal Y} + 2m{\cal X} = 0\qquad{(**)}$$

Así que tenemos dos ecuaciones (* y **) en dos incógnitas ( $m$ y $b$ ) y podemos resolverlas. Primero resolveremos la segunda ecuación para $b$ :

$$b = {{\cal Y} - m{\cal X}\over N}$$

Ahora resolveremos la primera ecuación para $m$ :

$$\eqalign{ m{\cal A} - {\cal B} + b{\cal X} & = & 0 \cr m{\cal A} - {\cal B} + {{\cal Y} - m{\cal X}\over N}{\cal X} & = & 0 \cr m{\cal A} - {\cal B} + {{\cal XY} - m{\cal X}^2\over N} & = & 0 \cr mN{\cal A} - N{\cal B} + {\cal XY} - m{\cal X}^2 & = & 0 \cr m(N{\cal A} - {\cal X}^2 ) & = & N{\cal B} - {\cal XY} \cr %m & N{\cal B} - {\cal XY} \over N{\cal A} - {\cal X}^2 \cr }$$ Así:

$$m = { N{\cal B} - {\cal XY} \over N{\cal A} - {\cal X}^2 }$$

Y eso es todo. Podemos conseguir $m$ de $N$ , $\cal A$ , $\cal B$ , $\cal X$ y $\cal Y$ y podemos obtener $b$ de $m$ , $N$ , $\cal X$ y $\cal Y$ .

$\def\dd#1{{\partial^2 E\over \partial {#1}^2}}$ (En realidad, también tenemos que comprobar las segundas derivadas para asegurarnos de que que no hemos encontrado los valores de $m$ y $b$ que dan la máximo error. Pero debería estar claro por la geometría de la cosa que es imposible que pueda haber una línea muy mala: No No importa lo mal que se aproximen los datos con una línea determinada, siempre siempre se puede encontrar otra línea que sea peor, simplemente tomando la línea mala línea mala y alejándola unos cuantos kilómetros de los datos. Pero, de todos modos debemos tomar las segundas derivadas de todos modos, si no es por otra razón que para descartar la posibilidad de un punto de silla de montar en el $E$ función. Las segundas derivadas son $\dd m = 2\cal A$ y $\dd b = 2N$ que son ambos positivos, por lo que realmente tienen encontró un mínimo para el función de error).

Ahora vamos a comprobarlo y asegurarnos de que funciona y tiene sentido. En primer lugar, debería fallar si $N=1$ porque hay un montón de líneas que pasan todas por un mismo punto. Y de hecho, cuando sólo hay un punto, digamos $(x, y)$ entonces $X^{2} = x^{2}$ , ${\cal A} = x^{2}$ el denominador de la expresión para $m$ se desvanece y todo se va al garete y todo estalla.

También debería fallar si todos los $x$ son iguales, porque entonces la línea que pasa por los datos es vertical y tiene una pendiente infinita. Y por supuesto Si todos los valores $x$ son iguales, entonces ${\cal X} = Nx$ , ${\cal X}^{2} = N^{2}x^{2}$ , ${\cal A} = Nx^{2}$ y el denominador de la expresión para $m$ se desvanece.

Ahora bien, ¿qué pasa si todos los puntos se encuentran en una línea recta (no vertical) recta? Entonces hay unos números $p$ y $q$ para que $y_{i} = px_{i} + q$ para todos $i$ . Esperamos que las ecuaciones para $m$ y $b$ dará $m = p$ y $b = q$ . Si no lo hacen, estamos en problemas, ya que las ecuaciones se supone que encontrar la mejor línea a través de los puntos, y los puntos en realidad se encuentran en la línea $y = px + q$ Esta línea tendrá, por tanto, un error total error de 0, y eso es lo mejor que podemos hacer. Bueno, vamos a ver cómo funciona.

En este caso, tenemos $ {\cal Y} = \sum {y_i} = \sum {px_i+q} = p{\cal X} + qN$ . Del mismo modo, también tenemos:

$$\eqalign{ {\cal B} & = & \sum{x_iy_i} \cr & = & \sum{x_i(px_i+q)} \cr & = & \sum{px_i^2} + \sum{qx_i} \cr & = & p{\cal A} + q{\cal X} \cr }$$

Enchufando en la fórmula de $m$ arriba obtenemos:

$$\eqalign{ m & = & { N{\cal B} - {\cal XY} \over N{\cal A} - {\cal X}^2 } \cr & = & { N(p{\cal A} + q{\cal X}) - {\cal X}(p{\cal X} + qN) \over N{\cal A} - {\cal X}^2 } \cr & = & { pN{\cal A} + qN{\cal X} - p{\cal X}^2 - qN{\cal X} \over N{\cal A} - {\cal X}^2 } \cr & = & { pN{\cal A} - p{\cal X}^2 \over N{\cal A} - {\cal X}^2 } \cr % & = & { p(N{\cal A} - {\cal X}^2) \over N{\cal A} - {\cal X}^2 } \cr & = & p \cr }$$

como se esperaba, y luego se introduce en la fórmula para $b$ , obtenemos $b$ = $q$ también como se esperaba.

Es útil poder ajustar una línea a cualquier conjunto de datos. Hace un tiempo escribí escribí un pequeño programa trivial para leer los puntos de datos de la entrada estándar, realizar el análisis de mínimos cuadrados e imprimir $m$ y $b$ . Pequeñas utilidades como esta suelen ser muy útiles.

5voto

Odilon Redo Puntos 191

Supongamos que nos dan un conjunto de puntos de datos $\{(x_i,y_i)\}$ . El objetivo de la regresión lineal es encontrar una línea que minimice la suma de los cuadrados de los errores en cada $x_i$ . Sea la ecuación de la línea deseada $y=a+bx$ .

Para minimizar: $E=\sum_i (y_i-a-b x_i)^2$

Diferenciar $E$ en relación con $a$ y $b$ , pon ambos iguales a cero y resuelve para a y b.

4voto

Jorrit Reedijk Puntos 129

Dado que la cuestión contiene un enfoque histórico, ese tratado de Jeffrey M. Stanton sobre Francis Galton (y Pearson para las extensiones) ( en la ams ) podría ser lo que realmente se busca . Me sorprende que el wikipedia pierde por completo la referencia histórica.

(Cita del artículo en AMS: )

En 1875, Galton había distribuido paquetes de semillas de guisantes dulces a siete amigos; cada amigo recibió semillas de peso uniforme (véase también Galton 1894), pero había una variación sustancial entre los distintos paquetes. Los amigos de Galton cosecharon semillas de las nuevas generaciones de plantas y se las devolvieron (véase el Apéndice A). Galton trazó los pesos de las semillas hijas frente a los pesos de las semillas madre. Galton se dio cuenta de que la mediana de los pesos de las semillas hijas de un determinado de una semilla madre describía aproximadamente una línea recta con pendiente positiva inferior a 1,0:

"Thus he naturally reached a straight regression line, and the
 constant variability for all arrays of one character for a given
 character of a second. It was, perhaps, best for the progress of the
 correlational calculus that this simple special case should be
 promulgated first; it is so easily grasped by the beginner." (Pearson
 1930, p. 5)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X