ComenzarEmpieza gratis

Mínimos cuadrados con `numpy`

Las fórmulas de abajo son el resultado de aplicar el cálculo explicado en la introducción. En este ejercicio, daremos por buena esa derivación y vamos a implementar estas fórmulas en código usando numpy.

$$ a_{1} = \frac{ covariance(x, y) }{ variance(x) } $$ $$ a_{0} = mean(y) - a_{1} mean(x) $$

Este ejercicio forma parte del curso

Introducción al modelado lineal en Python

Ver curso

Instrucciones del ejercicio

  • Calcula las medias y desviaciones de las dos variables x, y de los datos precargados.
  • Usa np.sum() para completar las fórmulas de mínimos cuadrados y emplearlas para calcular los valores óptimos de a0 y a1.
  • Usa model() para construir los valores del modelo y_model a partir de esa pendiente óptima a1 y esa intersección a0.
  • Usa la función predefinida compute_rss_and_plot_fit() para confirmar visualmente que este modelo óptimo se ajusta a los datos.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# prepare the means and deviations of the two variables
x_mean = np.____(x)
y_mean = np.____(y)
x_dev = x - ____
y_dev = y - ____

# Complete least-squares formulae to find the optimal a0, a1
a1 = np.sum(____ * ____) / np.sum( np.square(____) )
a0 = ____ - (a1 * ____)

# Use the those optimal model parameters a0, a1 to build a model
y_model = model(x, ____, ____)

# plot to verify that the resulting y_model best fits the data y
fig, rss = compute_rss_and_plot_fit(a0, a1)
Editar y ejecutar código