Линейная алгебра · Метод наименьших квадратов

Метод наименьших квадратов

Метод наименьших квадратов подбирает прямую к данным так, чтобы сумма квадратов вертикальных ошибок была как можно меньше. Геометрически подобранные значения — это проекция вектора данных на пространство столбцов, а ошибки перпендикулярны этому пространству.

Метод наименьших квадратов на этом рисунке

Три точки редко лежат на одной прямой, поэтому любая прямая проходит мимо некоторых из них. Слева показаны точки, наилучшая прямая и её остатки — вертикальные отклонения, сумма квадратов которых равна SSE. Справа те же три высоты образуют один вектор в пространстве, и поиск наилучшей прямой означает проецирование этого вектора на плоскость. Можно перемещать точки, пробовать свою прямую и сравнивать две более простые модели.

Сумма квадратов остатков
SSE=∑i=13(yi−c−mxi)2\mathrm{SSE} = \sum_{i=1}^{3} (y_i - c - m x_i)^2

Почему данные — это одна точка? Запишем три высоты одним вектором b⃗=(y1,y2,y3)\vec b = (y_1, y_2, y_3). Это синяя стрелка справа, а оси называются y1,y2,y3y_1, y_2, y_3, потому что каждая измеряет одну высоту. В трёх точках xix_i прямая принимает значения c+mxic + m x_i, образующие вектор c 1+m x⃗c\,\mathbf 1 + m\,\vec x, где 1=(1,1,1)\mathbf 1 = (1, 1, 1). В общей модели y=c+mxy = c + mx, если не все xix_i равны, при изменении cc и mm эти векторы заполняют прозрачную плоскость, проходящую через 1\mathbf 1 и x⃗\vec x. Поэтому каждая прямая, которую можно нарисовать слева, — это одна точка данной плоскости.

Выберем любую прямую. Её остатки — разности между координатами b⃗\vec b и соответствующей точки в плоскости, поэтому её SSE равна квадрату расстояния между ними. Значит, наилучшая прямая соответствует точке p⃗\vec p плоскости, ближайшей к b⃗\vec b, — ортогональной проекции. Вектор остатков r⃗=b⃗−p⃗\vec r = \vec b - \vec p перпендикулярен плоскости, а значит, и 1\mathbf 1, и x⃗\vec x. Запись этих двух прямых углов в виде равенств даёт нормальные уравнения:

Нормальные уравнения
r⃗⋅1=∑ri=0,r⃗⋅x⃗=∑xiri=0\vec r\cdot\mathbf 1 = \sum r_i = 0, \qquad \vec r\cdot\vec x = \sum x_i r_i = 0

Если включить Прямые углы и равновесие, остатки станут вертикальными пружинами одинаковой жёсткости. Их равнодействующая пропорциональна ∑ri\sum r_i, а момент сил относительно начала координат — ∑xiri\sum x_i r_i. Наилучшее приближение в общей модели обращает обе величины в ноль. Для постоянной модели достаточно нулевой равнодействующей, а для прямой через начало координат — нулевого момента сил.

Ваша прямая, показанная красным, всегда принадлежит текущей модели, поэтому её точка q⃗\vec q лежит в той же плоскости или на той же прямой, что и p⃗\vec p. Перемещение от p⃗\vec p к q⃗\vec q тоже лежит там, а r⃗\vec r перпендикулярен этому пространству. Поэтому теорема Пифагора точно раскладывает вашу ошибку на две части. Ваша SSE достигает минимума тогда и только тогда, когда q⃗=p⃗\vec q = \vec p.

Ваша прямая в сравнении с наилучшей
SSE(q⃗)=SSEmin⁡+∣p⃗−q⃗∣2\mathrm{SSE}(\vec q) = \mathrm{SSE}_{\min} + |\vec p - \vec q|^2

Две малые модели сохраняют по одному столбцу. Подбор y=cy = c проецирует b⃗\vec b на прямую через 1\mathbf 1, а cc оказывается средним высот. Подбор y=mxy = mx проецирует на прямую через x⃗\vec x, либо только на начало координат, если все xix_i равны 0. Если не все xix_i равны, это две разные прямые в плоскости. Ни одна модель не содержит другую, а общая прямая приближает данные не хуже обеих. Та же проекция лежит в основе линейной регрессии.

На что обратить внимание

  • Остатки направлены вертикально. Метод наименьших квадратов измеряет отклонение по yy при каждом xx, а не кратчайшее расстояние от точки до прямой.
  • В общей модели, когда все три xix_i равны, плоскость сжимается до прямой через 1\mathbf 1. Любая прямая через незакрашенное кольцо приближает данные одинаково хорошо, поэтому наилучшая прямая не единственна, хотя p⃗\vec p по-прежнему определяется однозначно.
  • Плоскость параметров показывает SSE общей модели как функцию cc и mm. Каждая точка данных задаёт прямую из пар (c,m)(c, m), которые точно ей соответствуют, а синим отмечены наилучшие параметры текущей модели.

Управление

  • Правый рисунок можно только поворачивать и масштабировать. Перетаскивайте точки слева вверх или вниз, а для перемещения по горизонтали введите xx на панели.

См. также