ПочатиПочніть безкоштовно

Метод найменших квадратів з `numpy`

Наведені нижче формули є результатом виведення, описаного у вступі. У цій вправі ми припустимо, що обчислення коректні, і реалізуємо ці формули в коді з використанням numpy.

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

Ця вправа є частиною курсу

Вступ до лінійного моделювання в Python

Переглянути курс

Інструкції до вправи

  • Обчисліть середні значення та відхилення для двох змінних x, y з попередньо завантажених даних.
  • Використайте np.sum() для завершення формул методу найменших квадратів і знайдіть оптимальні значення a0 та a1.
  • Використайте model() щоб побудувати модельні значення y_model з цих оптимальних коефіцієнтів: нахил a1 і вільний член a0.
  • Скористайтеся заздалегідь визначеною функцією compute_rss_and_plot_fit() щоб візуально переконатися, що ця оптимальна модель добре описує дані.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код