уравнение наименьших квадратов для вертикальной линии - PullRequest
1 голос
/ 23 января 2010

Учитывая следующие 2d балла:

213 106,8

214 189

214 293,4

213 324

223 414

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

Спасибо

Ответы [ 3 ]

6 голосов
/ 23 января 2010

Строго говоря, подгонка наименьших квадратов не определена для вертикальной линии (поскольку ошибка для каждой точки измеряется параллельно оси Y).

Однако, если вы поменяете местами X и Y, вы можете найти горизонтальную линию с лучшим наименьшим квадраты подходят. Получается просто среднее значение координат Y:

Уравнение для горизонтальной линии просто y = b.

Ошибка в каждой точке (x i , y i ) равна (y i - b).

Сумма квадратов ошибок равна SSE = sum ((y i - b) 2 ). Мы хотим найти значение b, которое минимизирует SSE. Возьмите частную производную SSE с уважение к б и установить его на ноль:

сумма (-2 (у я - б)) = 0

Упрощен

сумма (у я ) - Nb = 0

и

b = сумма (у я ) / N

Так что в вашем случае усреднение координат X дает вам координату X вертикальная линия, которая наилучшим образом соответствует вашим точкам.

3 голосов
/ 31 мая 2016

Наиболее общим решением было бы применить Всего наименьших квадратов

Это находит (a, b, d), чтобы минимизировать сумму квадратов перпендикулярных расстояний (ax + by = d (a ^ 2 + b ^ 2 = 1): | ax + by - d |). Это может обрабатывать вертикальные линии, такие как 0x + 1y = 0.

Однако это немного сложнее реализовать, поэтому решение, предложенное @Jim Lewis, может быть хорошим и более практичным.

0 голосов
/ 23 января 2010

Если вы хотите, чтобы линия наилучшего соответствия была вертикальной (т. Е. X = постоянной), значения y не имеют значения. Просто возьмите квадратный корень из среднего квадрата значений x.

...