Метод наименьших квадратов (МНК) — это стандартный способ подбора коэффициентов линейной регрессии, при котором минимизируется сумма квадратов отклонений предсказаний модели от истинных значений.
Математически: Для данных и целевой переменной нужно найти веса , которые минимизируют функцию потерь:
Если включить смещение (b) в веса через дополнительный столбец единиц:
Тогда задача сводится к решению:
Аналитическое решение:
Особенности:
- Прямое решение через матричные операции
- Очень эффективно для небольших и средних размеров данных
- Численно устойчиво, если невырождена
- Обоснование минимизации квадратов
- Квадрат отклонения придаёт больший вес большим ошибкам
- Метод даёт лучшие линейные несмещённые оценки при нормальном распределении ошибок
- Связь с MSE
- МНК минимизирует среднеквадратичную ошибку на обучающей выборке
Пример в Python:
import numpy as np
X = np.array([[1, 1],
[1, 2],
[1, 3]])
y = np.array([1, 2, 3])
w = np.linalg.inv(X.T @ X) @ X.T @ y
print(w) # [смещение, коэффициент]Коротко:
метод наименьших квадратов находит коэффициенты линейной регрессии, минимизируя сумму квадратов отклонений предсказаний от истинных значений, что обеспечивает оптимальную линейную аппроксимацию данных.