Метод наименьших квадратов (МНК) — это стандартный способ подбора коэффициентов линейной регрессии, при котором минимизируется сумма квадратов отклонений предсказаний модели от истинных значений.

Математически: Для данных и целевой переменной нужно найти веса , которые минимизируют функцию потерь:

Если включить смещение (b) в веса через дополнительный столбец единиц:

Тогда задача сводится к решению:

Аналитическое решение:

Особенности:

  1. Прямое решение через матричные операции
  • Очень эффективно для небольших и средних размеров данных
  • Численно устойчиво, если невырождена
  1. Обоснование минимизации квадратов
  • Квадрат отклонения придаёт больший вес большим ошибкам
  • Метод даёт лучшие линейные несмещённые оценки при нормальном распределении ошибок
  1. Связь с 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)  # [смещение, коэффициент]

Коротко:
метод наименьших квадратов находит коэффициенты линейной регрессии, минимизируя сумму квадратов отклонений предсказаний от истинных значений, что обеспечивает оптимальную линейную аппроксимацию данных.