Как выполнить метод наименьших квадратов в 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
- Перехватов: 7,767
Используя эти два значения, мы можем написать уравнение линии наилучшего соответствия:
ŷ = 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 значениями