ComenzarEmpieza gratis

Visualizar los mínimos del RSS

En este ejercicio vas a calcular y visualizar cómo varía el RSS para distintos valores de los parámetros del modelo. Empieza manteniendo constante la intersección, pero variando la pendiente; para cada valor de la pendiente, calcularás los valores del modelo y el RSS resultante. Una vez que tengas un array de valores de RSS, determinarás el valor mínimo de RSS en el código y, a partir de ese mínimo, la pendiente que produjo ese RSS mínimo.

Usa los arrays de datos precargados x_data, y_data, y el contenedor vacío rss_list para empezar.

Este ejercicio forma parte del curso

Introducción al modelado lineal en Python

Ver curso

Instrucciones del ejercicio

  • Para cada valor de prueba a1 en a1_array, usa model() para predecir el valor del modelo y luego compute_rss() con y_data, y_model; guarda la salida rss_value en rss_list.
  • Convierte rss_list en un np.array(), luego usa np.min() para encontrar el valor mínimo en rss_array.
  • Usa np.where() para encontrar el valor de prueba correspondiente y asigna el resultado a best_a1.
  • Usa plot_rss_vs_parameters() para confirmar visualmente que tus valores coinciden con la figura mostrada.

Ejercicio interactivo práctico

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

# Loop over all trial values in a1_array, computing rss for each
a1_array = np.linspace(15, 35, 101)
for a1_trial in a1_array:
    y_model = model(x_data, a0=150, a1=____)
    rss_value = compute_rss(y_data, ____)
    rss_list.append(____)

# Find the minimum RSS and the a1 value from whence it came
rss_array = np.array(____)
best_rss = np.min(____) 
best_a1 = a1_array[np.where(rss_array==____)]
print('The minimum RSS = {}, came from a1 = {}'.format(best_rss, best_a1))

# Plot your rss and a1 values to confirm answer
fig = plot_rss_vs_a1(a1_array, rss_array)
Editar y ejecutar código