¿Cómo puedo probar el método de regresión lineal?

Digamos que tenemos algunos datos correlacionados linealmente [matemática] \ {(x_1, y_1), (x_2, y_2), \ ldots, (x_m, y_m) \} [/ math]. Si esto estuviera perfectamente correlacionado, entonces todo lo que tendríamos que hacer es tomar dos puntos de este conjunto, calcular la pendiente, y luego usar la pendiente, calcular la intercepción [matemática] y [/ matemática], y obtendríamos un línea del formulario

[math] \ beta_1 + \ beta_2 \ mathbf x = \ mathbf y \ tag {1} [/ math]

Sin embargo, generalmente todos nuestros puntos NO están alineados de esa manera. Entonces esto es lo que hacemos. Nos gustaría que todos nuestros puntos estén en la misma línea, entonces, ¿por qué no tratar de encontrar valores para [math] \ beta_0 [/ math] y [math] \ beta_1 [/ math] que funcionen para todos nuestros puntos en nuestro set, y no solo uno de ellos; es decir, intentemos resolver el siguiente sistema de ecuaciones:

[matemáticas] \ begin {align} \ beta_1 + \ beta_2 x_1 & = y_1 \\ \ beta_1 + \ beta_2 x_2 & = y_2 \\ \ vdots \\ \ beta_1 + \ beta_2 x_m & = y_m \ end {align} \ tag {2} [/mates]

Este es un sistema de ecuaciones sobredeterminado, pero aún podemos escribir su forma matricial como

[math] \ mathbf X \ beta = \ mathbf Y \ tag {3} [/ math]

dónde

[math] \ mathbf X = \ begin {bmatrix} 1 & x_ {12} \\ 1 & x_ {22} \\ 1 & x_ {32} \\ \ vdots & \ vdots \\ 1 & x_ {m2} \ end {bmatrix}, \, \ beta = \ begin {bmatrix} \ beta_1 \\ \ beta_2 \ end {bmatrix}, \, \ mathbf Y = \ begin {bmatrix} y_1 \\ y_2 \\ y_3 \\ \ vdots \ \ y_m \ end {bmatrix} \ tag {4} [/ math]

No utilizaré esta notación matricial por ahora, ya que el problema es bastante simple, pero el álgebra matricial ayuda cuando intentamos probar la regresión general.

Continuando, ahora tenemos que descubrir qué [matemáticas] \ beta_1 [/ matemáticas] y [matemáticas] \ beta_2 [/ matemáticas] deberían ser.

Si nuestro objetivo es encontrar la línea roja, entonces la distancia desde los puntos de datos azules a la línea roja debe ser lo más pequeña posible para cada punto, para garantizar que hemos intentado ajustar todos nuestros datos de manera adecuada. Ahora observe las distancias; parece que el punto de datos está a cierta distancia verticalmente más lejos, es decir, en la dirección del eje [matemático] y [/ matemático]. Matemáticamente, necesitamos minimizar la distancia entre nuestros datos observados y nuestros datos pronosticados (nuestra línea) . Llamaremos a la distancia [math] \ mathbf R_k = y_ {observado \, k} – y_ {predicho \, k} [/ math]. Como queremos minimizar la distancia para todos ellos, solo agregaremos todos los [math] \ mathbf R_k [/ math] de [math] k = 1,2,3, \ ldots, m [/ math] y luego minimiza la suma . Sin embargo, este problema surge con mucha probabilidad y el hecho es que

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m \ mathbf R_k = \ sum_ {k = 1} ^ m (y_ {observado \, k} – y_ {predicho \, k}) = 0 \ etiqueta {5 }[/mates]

siempre . En mi respuesta sobre por qué la varianza es el promedio de la distancia al cuadrado [1], menciono que esta diferencia siempre será [matemática] 0 [/ matemática] y muestro por qué. También muestro que la forma de aliviar esto es tomar el cuadrado de la distancia. Entonces, en este caso, ya no estamos interesados ​​en minimizar [math] \ sum \ mathbf R_k [/ math] sino más bien [math] \ sum \ mathbf R_k ^ 2 [/ math]

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m \ mathbf R_k ^ 2 = \ sum_ {k = 1} ^ m (y_ {observado \, k} – y_ {predicho \, k}) ^ 2 = \ sum_ {k = 1} ^ m (y_k – (\ beta_1 + \ beta_2 x_k)) ^ 2 = \ sum_ {k = 1} ^ m (y_k- \ beta_1- \ beta_2 x_k) ^ 2 = S \ tag {6} [/mates]

Entonces, nuestro objetivo ahora es minimizar [math] \ displaystyle S [/ math], que es una función de dos variables, a saber, nuestros dos coeficientes de nuestra línea de mejor ajuste [math] \ beta_1 [/ math] y [math] \ beta_2 [/mates]. Como [math] \ displaystyle S (\ beta_1, \ beta_2) [/ math] es una suma de funciones cuadráticas, podemos encontrar el valor más bajo que puede tomar tomando la derivada parcialmente y luego configurándola en [math] 0 [/ mates]. Aquí es donde el cálculo puede ser confuso ya que nuestras [matemáticas] \ beta_1 [/ matemáticas] y [matemáticas] \ beta_2 [/ matemáticas] es lo que estamos diferenciando con respecto a, y [matemáticas] x_k [/ matemáticas] y [ math] y_k [/ math] actuará como términos “constantes”.


Comenzando con [matemáticas] \ beta_1 [/ matemáticas]

[matemáticas] \ displaystyle \ dfrac {\ partial S (\ beta_1, \ beta_2)} {\ partial \ beta_1} = \ dfrac {\ partial} {\ partial \ beta_1} \ sum_ {k = 1} ^ m (y_k- \ beta_1- \ beta_2 x_k) ^ 2 = 0 \ tag {7} [/ math]

Solo estamos interesados ​​en [math] \ beta_1 [/ math], por lo que todo lo demás es un término “constante” [math] \ alpha_k = y_k- \ beta_2 x_k [/ math].

[matemáticas] \ displaystyle \ dfrac {\ partial} {\ partial \ beta_1} \ sum_ {k = 1} ^ m (- \ beta_1 + y_k- \ beta_2 x_k) ^ 2 = \ dfrac {\ partial} {\ partial \ beta_1} \ sum_ {k = 1} ^ m (- \ beta_1 + \ alpha_k) ^ 2 = \ dfrac {\ partial} {\ partial \ beta_1} \ sum_ {k = 1} ^ m (\ beta_1 ^ 2 – 2 \ beta_1 \ alpha_k + \ alpha_k ^ 2) = 0 \ tag {8} [/ math]

La derivada de una suma es la suma de la derivada de sus sumandos:

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m \ dfrac {\ partial} {\ partial \ beta_1} (\ beta_1 ^ 2 – 2 \ beta_1 \ alpha_k + \ alpha_k ^ 2) = \ sum_ {k = 1 } ^ m (2 \ beta_1 – 2 \ alpha_k) = 0 \ tag {9} [/ math]

Limpia las sumas:

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m (2 \ beta_1 – 2 \ alpha_k) = 2 \ sum_ {k = 1} ^ m \ beta_1 – 2 \ sum_ {k = 1} ^ m \ alpha_k = \ sum_ {k = 1} ^ m \ beta_1 – \ sum_ {k = 1} ^ m \ alpha_k = 0 \ tag {10} [/ math]

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m \ beta_1 – \ sum_ {k = 1} ^ m \ alpha_k = \ beta_1 \ sum_ {k = 1} ^ m – \ sum_ {k = 1} ^ m (y_k- \ beta_2 x_k) = m \ beta_1 – \ sum_ {k = 1} ^ m (y_k- \ beta_2 x_k) = 0 \ tag {11} [/ matemática]

[matemáticas] \ displaystyle m \ beta_1 = \ sum_ {k = 1} ^ m (y_k- \ beta_2 x_k) \ tag {12} [/ matemáticas]

[matemáticas] \ displaystyle \ beta_1 = \ dfrac {\ sum_ {k = 1} ^ m y_k- \ beta_2 \ sum_ {k = 1} ^ m x_k} {m} \ tag {13} [/ matemáticas]

Si lo desea, esto puede simplificarse aún más para

[matemáticas] \ displaystyle \ beta_1 = \ dfrac {\ sum_ {k = 1} ^ m y_k} {m} – \ beta_2 \ dfrac {\ sum_ {k = 1} ^ m x_k} {m} = \ bar y – \ beta_2 \ bar x \ tag {14} [/ math]

donde [math] \ bar x [/ math] denota el promedio.


Ahora para [math] \ beta_2 [/ math]

[matemáticas] \ displaystyle \ dfrac {\ partial S (\ beta_1, \ beta_2)} {\ partial \ beta_2} = \ dfrac {\ partial} {\ partial \ beta_2} \ sum_ {k = 1} ^ m (y_k- \ beta_1- \ beta_2 x_k) ^ 2 = 0 \ tag {15} [/ math]

Solo estamos interesados ​​en [math] \ beta_2 [/ math] por lo que todo lo demás es un término “constante” [math] \ gamma_k = y_k- \ beta_1 [/ math].

[matemáticas] \ displaystyle \ dfrac {\ partial} {\ partial \ beta_2} \ sum_ {k = 1} ^ m (- \ beta_2 x_k + y_k- \ beta_1) ^ 2 = \ dfrac {\ partial} {\ partial \ beta_2} \ sum_ {k = 1} ^ m (- \ beta_2 x_k + \ gamma_k) ^ 2 = 0 \ tag {16} [/ math]

[matemáticas] \ displaystyle \ dfrac {\ partial} {\ partial \ beta_2} \ sum_ {k = 1} ^ m (- \ beta_2 x_k + \ gamma_k) ^ 2 = \ dfrac {\ partial} {\ partial \ beta_2} \ sum_ {k = 1} ^ m (\ beta_2 ^ 2 x_k ^ 2-2 \ beta_2 x_k \ gamma_k + \ gamma_k ^ 2) = 0 \ tag {17} [/ matemática]

Una vez más, la derivada de una suma es la suma de la derivada de sus sumandos:

[matemáticas] \ displaystyle \ dfrac {\ partial} {\ partial \ beta_2} \ sum_ {k = 1} ^ m (\ beta_2 ^ 2 x_k ^ 2-2 \ beta_2 x_k \ gamma_k + \ gamma_k ^ 2) = \ sum_ { k = 1} ^ m \ dfrac {\ partial} {\ partial \ beta_2} (\ beta_2 ^ 2 x_k ^ 2-2 \ beta_2 x_k \ gamma_k + \ gamma_k ^ 2) = 0 \ tag {18} [/ matemática]

Limpia las sumas …

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m \ dfrac {\ partial} {\ partial \ beta_2} (\ beta_2 ^ 2 x_k ^ 2-2 \ beta_2 x_k \ gamma_k + \ gamma_k ^ 2) = \ sum_ { k = 1} ^ m (2 x_k ^ 2 \ beta_2-2 x_k \ gamma_k) = 0 \ tag {19} [/ matemática]

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m (2 x_k ^ 2 \ beta_2-2 x_k \ gamma_k) = \ sum_ {k = 1} ^ m (x_k ^ 2 \ beta_2- x_k \ gamma_k) = \ sum_ {k = 1} ^ m (x_k ^ 2 \ beta_2- x_k (y_k- \ beta_1)) = 0 \ tag {20} [/ math]

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m (x_k ^ 2 \ beta_2- x_k (y_k- \ beta_1)) = \ sum_ {k = 1} ^ m (x_k ^ 2 \ beta_2- x_k y_k + \ beta_1 x_k) = 0 \ tag {21} [/ matemáticas]

[matemáticas] \ displaystyle \ sum_ {k = 1} ^ m (x_k ^ 2 \ beta_2- x_k y_k + \ beta_1 x_k) = \ beta_2 \ sum_ {k = 1} ^ m x_k ^ 2- \ sum_ {k = 1} ^ m x_k y_k + \ beta_1 \ sum_ {k = 1} ^ m x_k = 0 \ tag {22} [/ matemática]


Ahora tomamos el resultado de [math] (13) [/ math] y lo conectamos a [math] (22) [/ math].

[matemáticas] \ displaystyle \ beta_2 \ sum_ {k = 1} ^ m x_k ^ 2- \ sum_ {k = 1} ^ m x_k y_k + \ dfrac {\ sum_ {k = 1} ^ m y_k- \ beta_2 \ sum_ { k = 1} ^ m x_k} {m} \ sum_ {k = 1} ^ m x_k = 0 \ tag {23} [/ matemática]

Multiplicar por [matemáticas] m [/ matemáticas]

[matemáticas] \ displaystyle m \ beta_2 \ sum_ {k = 1} ^ m x_k ^ 2- m \ sum_ {k = 1} ^ m x_k y_k + \ left (\ sum_ {k = 1} ^ m y_k- \ beta_2 \ sum_ {k = 1} ^ m x_k \ right) \ sum_ {k = 1} ^ m x_k = 0 \ tag {24} [/ math]

Distribuir y simplificar:

[matemáticas] \ displaystyle m \ beta_2 \ sum_ {k = 1} ^ m x_k ^ 2- m \ sum_ {k = 1} ^ m x_k y_k + \ sum_ {k = 1} ^ m y_k \ sum_ {k = 1} ^ m x_k – \ beta_2 \ sum_ {k = 1} ^ m x_k \ sum_ {k = 1} ^ m x_k = 0 \ tag {25} [/ matemática]

[matemáticas] \ displaystyle m \ beta_2 \ sum_ {k = 1} ^ m x_k ^ 2- m \ sum_ {k = 1} ^ m x_k y_k + \ sum_ {k = 1} ^ m y_k \ sum_ {k = 1} ^ m x_k – \ beta_2 \ left (\ sum_ {k = 1} ^ m x_k \ right) ^ 2 = 0 \ tag {26} [/ math]

Aislar [matemáticas] \ beta_2 [/ matemáticas]

[matemáticas] \ displaystyle m \ beta_2 \ sum_ {k = 1} ^ m x_k ^ 2- \ beta_2 \ left (\ sum_ {k = 1} ^ m x_k \ right) ^ 2 = m \ sum_ {k = 1} ^ m x_k y_k- \ sum_ {k = 1} ^ m y_k \ sum_ {k = 1} ^ m x_k \ tag {27} [/ math]

[matemáticas] \ displaystyle \ beta_2 \ left (m \ sum_ {k = 1} ^ m x_k ^ 2- \ left (\ sum_ {k = 1} ^ m x_k \ right) ^ 2 \ right) = m \ sum_ { k = 1} ^ m x_k y_k- \ sum_ {k = 1} ^ m y_k \ sum_ {k = 1} ^ m x_k \ tag {28} [/ matemáticas]

[matemáticas] \ displaystyle \ beta_2 = \ dfrac {m \ sum_ {k = 1} ^ m x_k y_k- \ sum_ {k = 1} ^ m x_k \ sum_ {k = 1} ^ m y_k} {m \ sum_ { k = 1} ^ m x_k ^ 2- \ left (\ sum_ {k = 1} ^ m x_k \ right) ^ 2} \ tag {29} [/ math]

De la misma manera que [math] (13) [/ math], podemos simplificar esto aún más dividiendo entre [math] m ^ 2 [/ math] tanto en el numerador como en el denominador de la fracción:

[matemáticas] \ displaystyle \ beta_2 = \ dfrac {\ frac {\ sum_ {k = 1} ^ m x_k y_k} {m} – \ frac {\ sum_ {k = 1} ^ m x_k} {m} \ frac { \ sum_ {k = 1} ^ m y_k} {m}} {\ frac {\ sum_ {k = 1} ^ m x_k ^ 2} {m} – \ left (\ frac {\ sum_ {k = 1} ^ m x_k} {m} \ right) ^ 2} \ tag {30} [/ math]

[matemáticas] \ displaystyle \ beta_2 = \ dfrac {\ frac {\ sum_ {k = 1} ^ m x_k y_k} {m} – \ bar x \ bar y} {\ frac {\ sum_ {k = 1} ^ m x_k ^ 2} {m} – \ bar x ^ 2} \ tag {31} [/ math]

Para limpiarlo, multiplicaré por [math] m [/ math] al numerador y al denominador nuevamente:

[matemáticas] \ displaystyle \ beta_2 = \ dfrac {\ sum_ {k = 1} ^ m x_k y_k-m \ bar x \ bar y} {\ sum_ {k = 1} ^ m x_k ^ 2-m \ bar x ^ 2} \ tag {32} [/ matemáticas]


Usando [matemática] (29) [/ matemática] o [matemática] (32) [/ matemática] y [matemática] (13) [/ matemática] o [matemática] (14) [/ matemática], uno puede descubrir el ecuación de la línea de mejor ajuste que satisface [math] \ beta_1 + \ beta_2 \ mathbf x = \ mathbf y [/ math] para sus datos. Tenga en cuenta que el verdadero corazón de la derivación es la filosofía detrás de [matemáticas] (5) [/ matemáticas] a [matemáticas] (6) [/ matemáticas].

[matemáticas] \ displaystyle \ boxed {\ displaystyle \ beta_1 = \ dfrac {\ sum_ {k = 1} ^ m y_k} {m} – \ beta_2 \ dfrac {\ sum_ {k = 1} ^ m x_k} {m} = \ bar y – \ beta_2 \ bar x} \ tag * {} [/ math]

[matemáticas] \ displaystyle \ boxed {\ displaystyle \ beta_2 = \ dfrac {m \ sum_ {k = 1} ^ m x_k y_k- \ sum_ {k = 1} ^ m x_k \ sum_ {k = 1} ^ m y_k} {m \ sum_ {k = 1} ^ m x_k ^ 2- \ left (\ sum_ {k = 1} ^ m x_k \ right) ^ 2} = \ dfrac {\ sum_ {k = 1} ^ m x_k y_k- m \ bar x \ bar y} {\ sum_ {k = 1} ^ m x_k ^ 2-m \ bar x ^ 2}} \ tag * {} [/ math]

Notas al pie

[1] ¿Por qué la varianza de una variable aleatoria discreta es igual a la suma de [matemáticas] (x ^ 2. P (x)) – [/ matemáticas] m ^ 2?

More Interesting

¿Qué es una explicación intuitiva del parámetro gamma en SVM?

¿Por qué las celdas LSTM tienen dos puertas de escritura?

¿Podemos tener un error cuadrado medio de datos de entrenamiento para una red neuronal?

¿Cuál es la función de las máquinas restringidas de Boltzmann para el filtrado colaborativo?

¿Cuáles son los algoritmos / documentos de última generación sobre clasificación y recuperación de imágenes?

¿Por qué la mayoría de las competencias recientes se centran en el aprendizaje profundo / redes neuronales? ¿No crea esto un desequilibrio en los tipos de problemas que se ofrecen?

¿Qué parte del autoencoder realmente representa las características aprendidas?

¿Cuáles son algunos de los mejores programas de posgrado de aprendizaje automático que no requieren un título universitario de CS?

¿Auto-sklearn es realmente mejor que un clasificador único optimizado por hiperparámetro? ¿Tienes experiencia con esto?

¿Cómo debería abordar el problema de segmentar el césped de una imagen?

¿Por qué la deserción puede mejorar el problema de sobreajuste en redes neuronales profundas?

¿Son los modelos gráficos probabilísticos comúnmente vistos / muy utilizados en la minería de datos práctica / cotidiana?

¿Cómo se puede utilizar el aprendizaje automático en el análisis de tendencias?

¿El bosque aleatorio funciona con variables categóricas?

¿Cuáles son las ventajas y desventajas de la traducción automática estadística y basada en reglas?