Mínimos quadrados com `numpy`
As fórmulas abaixo são o resultado do cálculo explicado na introdução. Neste exercício, vamos confiar que o cálculo está correto e implementar essas fórmulas em código usando numpy.
$$ a_{1} = \frac{ covariance(x, y) }{ variance(x) } $$ $$ a_{0} = mean(y) - a_{1} mean(x) $$
Este exercicio faz parte do curso
Introdução à Modelagem Linear em Python
Instruções do exercicio
- Calcule as médias e as variações das duas variáveis
x, ya partir dos dados pré-carregados. - Use
np.sum()para completar as fórmulas de mínimos quadrados e compute os valores ótimos dea0ea1. - Use
model()para construir os valores do modeloy_modela partir desses valores ótimos de inclinação a1 e intercepto a0. - Use a função pré-definida
compute_rss_and_plot_fit()para confirmar visualmente que esse modelo ótimo se ajusta aos dados.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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)