Algoritmo de regresión lineal
Para entender de verdad la regresión lineal, ayuda saber cómo funciona el algoritmo. El código de ols() tiene cientos de líneas porque debe funcionar con cualquier fórmula y cualquier conjunto de datos. Sin embargo, en el caso de una regresión lineal simple para un único conjunto de datos, puedes implementar un algoritmo de regresión lineal en solo unas pocas líneas de código.
El flujo de trabajo es:
- Primero, escribe una función que calcule la suma de cuadrados usando esta sintaxis general:
def function_name(args):
# some calculations with the args
return outcome
- Segundo, usa la función de minimización de
scipypara encontrar los coeficientes que minimizan esta función.
Los valores explicativos (la columna n_convenience de taiwan_real_estate) están disponibles como x_actual.
Los valores de respuesta (la columna price_twd_msq de taiwan_real_estate) están disponibles como y_actual.
minimize() también está cargado.
Este ejercicio forma parte del curso
Regresión intermedia con statsmodels en Python
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Complete the function
def calc_sum_of_squares(coeffs):
# Unpack coeffs
____, ____ = ____
# Calculate predicted y-values
y_pred = ____ + ____ * ____
# Calculate differences between y_pred and y_actual
y_diff = ____ - ____
# Calculate sum of squares
sum_sq = ____
# Return sum of squares
return sum_sq
# Test the function with intercept 10 and slope 1
print(calc_sum_of_squares([10, 1]))