Як підібрати метод найменших квадратів у numpy (з прикладом)


Метод найменших квадратів – це метод, який ми можемо використати, щоб знайти лінію регресії, яка найкраще відповідає даному набору даних.

Ми можемо використовувати функцію linalg.lstsq( ) у NumPy, щоб виконати коригування за методом найменших квадратів.

Наступний покроковий приклад показує, як використовувати цю функцію на практиці.

Крок 1: Введіть значення для X і Y

Почнемо зі створення таких масивів NumPy:

 import numpy as np

#define x and y arrays
x = np. array ([6, 7, 7, 8, 12, 14, 15, 16, 16, 19])

y = np. array ([14, 15, 15, 17, 18, 18, 19, 24, 25, 29])

Крок 2. Виконайте коригування методом найменших квадратів

Ми можемо використати наступний код, щоб виконати підбірку методом найменших квадратів і знайти рядок, який найкраще «відповідає» даним:

 #perform least squares fitting
n.p. linalg . lstsq (np. vstack ([x, np. ones ( len (x))]). T , y, rcond= None )[ 0 ]

array([0.96938776, 7.76734694])

Результатом є таблиця, що містить значення нахилу та перетину найкращої лінії.

З результату ми бачимо:

  • Нахил: 0,969
  • Перехоплення: 7767

Використовуючи ці два значення, ми можемо написати рівняння для лінії найкращого підходу:

ŷ = 7,767 + 0,969x

Крок 3: Інтерпретація результатів

Ось як інтерпретувати лінію найкращого підходу:

  • Коли x дорівнює 0, середнє значення y дорівнює 7,767 .
  • З кожною одиницею збільшення x, y збільшується в середньому на 0,969 .

Ми також можемо використовувати лінію найкращого підходу, щоб передбачити значення y на основі значення x.

Наприклад, якщо xa має значення 10, ми передбачаємо, що значення y буде 17,457 :

  • ŷ = 7,767 + 0,969x
  • ŷ = 7,767 + 0,969(10)
  • ŷ = 17,457

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в NumPy:

Як видалити певні елементи з масиву NumPy
Як отримати індекс максимального значення в масиві NumPy
Як заповнити масив NumPy значеннями

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *