Як підібрати метод найменших квадратів у 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 значеннями