Это старая версия (1.1154) МетодНаименьшихКвадратов.

Содержание

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


  • ToDo статьи:
    1. картинки: http://rextester.com/UML85196
    2. ссылки на литературу
    3. формулы: типографика + вывод в терминах roman D\[ bold x , bold y \] ~ , ~~ roman D\[ bold x \]
    4. ТеоремаГауссаМаркова
    • статья удовлетворяет слабому критерию Никитенкова и частично — сильному критерию Никитенкова.

{ y hat } sub i , { y accent } sub i

В данной статье все вектора по умолчанию являются векторами-столбцами. Внимательно следите за размерностями матриц и векторов по ходу объяснения.

Простейший случай

Общая постановка задачи

Допустим, в рамках некого эксперимента было проведено n измерений ¹). Каждое измерение представляет собой пару (x sub i , y sub i ), где x sub iвход, y sub iвыход (такую пару будем называть «точкой»).

Результаты эксперимента могут быть записаны в таблице, в первом столбце которой будут находиться все значения входов, а во втором — все значения выходов: bold x =
left \[
pile {x sub 1 above x sub 2 above vdots above x sub i above vdots above x sub n}
right \]
~ , ~
bold y =
left \[
pile {y sub 1 above y sub 2 above vdots above y sub i above vdots above y sub n}
right \]
~ .

Графически можно представить результаты проведённого эксперимента на графике: по оси абсцисс будем откладывать входы, а по оси ординат — выходы. Такой график называется диаграмма рассеяния (scatter diagram, scatter plot, scatter chart).

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

Значения этой функции будем называть оценками и обозначим y hat sub i. Сама функция будет иметь вид: y hat sub i = k x sub i + b.

Каждому измерению входа x sub i будет соответствовать реальное значение y sub i и оценка y hat sub i . Разницу между реальным значением и оценкой будем называть отклонением и обозначим d sub i = y sub i - y hat sub i  = y sub i - k x sub i - b.

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

Выбор способа «подгонки»

Существует большое количество способов измерить общее отклонение реальных экспериментальных значений от их оценок. Приведём самые очевидные из них:

  1. сумма значений отклонений sum from i=1 to n d sub i
  2. сумма абсолютных значений отклонений sum from i=1 to n | d sub i |
  3. сумма квадратов отклонений sum from i=1 to n d sub i sup 2

Каждый из этих способов имеет как свои плюсы, так и свои минусы. В каком-то смысле, все они «плохие», поэтому наша задача выбрать наименее «плохой» из них: тот, чьи плюсы перевесят минусы. Для выбора рассмотрим их по отдельности.

Несомненным достоинством первого способа является его чрезвычайная простота. Однако такой способ небезопасен с точки зрения статистических выбросов. Если в наших данных есть два выброса, лежащие по разные стороны от прямой на примерно одном и том же расстоянии, то они погасят друг друга. Если таких выбросов будет много (при малых выборках бывает достаточно и двух), то это может дать нам прямую с неверным угловым коэффициентом k.

Казалось бы, недостатки первого способа полностью снимаются вторым. Взятие абсолютного значения (модуля) должно обезопасить нас от проблем с взаимопогашающимися разносторонними выбросами. Однако и у этого способа есть существенные недостатки.

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

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

Таким образом мы можем формализовать описанную нами задачу: необходимо наити такие значения коэффициентов k и b, при которых функция sum from i=1 to n d sub i sup 2 примет наименьшее значение.

Математическая формализация

min from k,b sum from i=1 to n d sub i sup 2 = 
min from k,b sum from i=1 to n (y sub i - k x sub i - b) sup 2

Необходимое условие минимума: left {
lpile {
{partial sum from i=1 to n (y sub i - k x sub i - b) sup 2} over {partial k} = 0 ~ , above
{partial sum from i=1 to n (y sub i - k x sub i - b) sup 2} over {partial b} = 0
}
right nothing
~ \\(ti ~
left {
lpile {
{-2} sum from i=1 to n x sub i (y sub i - k x sub i - b) = 0 ~ , above
{-2} sum from i=1 to n (y sub i - k x sub i - b) = 0
}
right nothing
~ \\(ti ~
left {
lpile {
sum from i=1 to n x sub i y sub i = 
k sum from i=1 to n x sub i sup 2 +
b sum from i=1 to n x sub i ~ , above
sum from i=1 to n y sub i =
k sum from i=1 to n x sub i +
b n
}
right nothing

Разделим оба уравнения системы на 1 over n и перепишем их используя принятые в математической статистике обозначения x bar = {sum from i=1 to n x sub i} over n ~ , ~~  y bar = {sum from i=1 to n y sub i} over n ~ , ~~ xy bar = {sum from i=1 to n x sub i y sub i} over n ~ , ~~ {x sup size -2 2} bar = {sum from i=1 to n x sub i sup 2} over n left {
lpile {
xy bar = k {x sup size -2 2} bar + b x bar ~ , above
y bar = k x bar + b
}
right nothing

Выразив из второго уравнения b = y bar - k x bar и подставив в первое получим k = {xy bar - x bar y bar} over {{x sup size -2 2} bar - {x bar} sup 2}

В итоге получим коэффициенты: left {
lpile {
k = {xy bar - x bar y bar} over {{x sup size -2 2} bar - {x bar} sup 2} ~ , above
b = y bar - k x bar
}
right nothing



Множественный случай

Общая постановка задачи

Расширим наш эксперимент: по-прежнему было проведено n измерений, но замерялся не один вход, а m различных входов (выход по-прежнему один).

Результаты эксперимента могут быть компактно записаны с помощью матриц. Входы будут находиться в матрице X, а выходы — в векторе-столбце bold y. X =
left \[
matrix {
ccol {x sub 11 above x sub 21 above vdots above x sub i1 above vdots above x sub n1}
ccol {x sub 12 above x sub 22 above vdots above x sub i2 above vdots above x sub n2}
ccol {cdots above cdots above ddots above cdots above ddots above cdots}
ccol {x sub 1j above x sub 2j above vdots above x sub ij above vdots above x sub nj}
ccol {cdots above cdots above ddots above cdots above ddots above cdots}
ccol {x sub 1m above x sub 2m above vdots above x sub im above vdots above x sub nm}
}
right \]
~ , ~ 
bold y = 
left \[
pile {y sub 1 above y sub 2 above vdots above y sub i above vdots above y sub n}
right \] 
~ .

По строкам матрицы X расположены результаты измерений, по столбцам — значения входов. Например, x sub 34 — значение 4-го входа в 3-ем измерении.

Мы по-прежнему хотим «подогнать» наши экспериментальные данные к линейной функции, но, в отличие от предыдущего случая это будет не прямая, а m-мерная плоскость (для m = 2 это будет обычная плоскость, для m > 2 — гиперплоскость). Вектор значений линейной функции назовём вектором оценкок и обозначим bold y hat = X bold k ~ , где bold k — вектор-столбец коэффициентов линейной функции.

Проиллюстрируем случай m = 2 следующим примером. Представьте, что в комнате в разных местах на разной высоте висят воздушные шарики. Вы хотите растянуть в этой комнате несгибаемое полотно (из ткани, бумаги, картона) так, чтобы это полотно находилось ближе всего к шарикам. Высота шарика относительно пола будет являться выходом y sub i, координаты проекции шарика на пол — входами (x sub i1 , x sub i2 ), расстояние от проекции шарика на пол до полотна — оценкой y hat sub i, расстояние от шарика до полотна по линии проекции шарика на пол — отклонением d sub i.


  • Трёхмерная картинка

Если мы предполагаем, что в нашей линейной функции имеется свободный член, то значения крайнего правого столбца матрицы X будут состоять только из единиц. Соответственно, k sub m и будет значением свободного члена.

Разницу между реальным значением и оценкой будем по-прежнему называть отклонением и обозначим bold d = bold y - bold y hat = bold y - X bold k.

Сумма квадратов отклонений может быть получена как bold d sup roman T bold d. Нам необходимо, найти такой вектор bold k, чтобы сумма квадратов отклонений была минимальна:

Математическая формализация

min from bold k bold d sup roman T bold d = 
min from bold k ( bold y - bold y hat ) sup roman T  ( bold y - bold y hat ) =
min from bold k ( bold y - X bold k ) sup roman T ( bold y - X bold k )

Список литературы

  1. Марков, А. А. Исчисление вероятностей, изд. 4 / Андрей Андреевич Марков. — ГИЗ, 1924.
  2. Марков, А. А. Закон больших чисел и метод наименьших квадратов (1898) Избр. труды / Андрей Андреевич Марков. — Изд. АН СССР, 1951. — C. 233—251.
  3. Линник, Ю. В. Метод наименьших квадратов и основы математико-статистической теории обработки наблюдений / Юрий Владимирович Линник. — М. : ''''''ФизМатГИЗ'''''', 1962. — C. 10—16. — http://books.e-herit....
  4. Доугерти, К. Введение в эконометрику / Кристофер Доугерти. — М. : Инфра-М, 1999. — C. 53—58.
  5. Атрашкевич, А. А. Занимательная эконометрика для дошкольников / Андрей Анатольевич Атрашкевич, Григорий Александрович Ситкарев. — Сыктывкар : Издательство Лаборатории прикладной математики и программирования, 2015. — 65 c.

¹) В случае, если МНК используется для обработки социально-экономических данных, вместо «измерение» говорят «наблюдение», вместо «опыт» — «статистическое наблюдение».


КатегорияПрикладнаяМатематика