Comece agoraComece grátis

Visualizando os mínimos do RSS

Neste exercício, você vai calcular e visualizar como o RSS varia para diferentes valores dos parâmetros do modelo. Comece mantendo a interceptação constante e variando a inclinação: para cada valor de inclinação, você calculará os valores do modelo e o RSS resultante. Depois de ter um array de valores de RSS, você vai determinar o valor mínimo de RSS, em código, e a partir desse mínimo, identificar a inclinação que levou a esse RSS mínimo.

Use os arrays de dados pré-carregados x_data, y_data e o container vazio rss_list para começar.

Este exercicio faz parte do curso

Introdução à Modelagem Linear em Python

Ver curso

Instruções do exercicio

  • Para cada valor de teste a1 em a1_array, use model() para prever o valor do modelo e depois compute_rss() com y_data, y_model; armazene a saída rss_value em rss_list.
  • Converta rss_list em um np.array(), depois use np.min() para encontrar o valor mínimo em rss_array.
  • Use np.where() para encontrar o valor de teste correspondente e atribua o resultado a best_a1.
  • Use plot_rss_vs_parameters() para confirmar visualmente que seus valores batem com a figura mostrada.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

# 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 e Executar Código