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

Содержание

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



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

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

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

Допустим, в рамках некого эксперимента было проведено 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).

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


[|http://rextester.com/VGWGO78956| 450px]

Таким образом, наша цель — найти такую линейную функцию (прямую), которая, в некотором смысле, наилучшим образом описывала бы полученные результаты.

Значения этой функции будем называть оценками и обозначим 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.


[| http://rextester.com/PXN34584 | 450px]

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

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

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

  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, при которых функция Q = sum from i=1 to n d sub i sup 2 примет наименьшее значение.

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

min from k,b Q = 
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 Q} over {partial k} = 0 ~ , above
  {partial Q} over {partial b} = 0
 }
right nothing
~ \\(ti ~
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 size -1 2}

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

Обратите внимание: линия наилучшей линейной аппроксимации проходит через «центр масс».


[|http://rextester.com/UFPG93288|450px]

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

Достаточное условие максимума (условие второго порядка): left \[
 matrix {
  ccol{
   {partial Q} over {partial sup 2 k} 
   above 
   {partial Q} over {partial k partial b}
  }
  ccol{
   {partial Q} over {partial b partial k} 
   above 
   {partial Q} over {partial sup 2 b}
  }
 }
right \] =
left \[
 matrix {
  ccol{
   2 sum from i=1 to n x sub i sup 2 
   above 
   2 sum from i=1 to n x sub i
  }
  ccol{
   2 sum from i=1 to n x sub i 
   above 
   2n
  }
 }
right \] =
2 ~
left \[
 matrix {
  ccol{
   sum from i=1 to n x sub i sup 2 
   above 
   sum from i=1 to n x sub i
  }
  ccol{
   sum from i=1 to n x sub i 
   above 
   n
  }
 } 
right \]

Напомним, что roman det ( alpha A) = alpha roman det (A), поэтому можем рассматривать матрицу с вынесенной двойкой: умножение матрицы на положительное число не изменит знака её угловых миноров. Delta sub 1 = 
left |
 sum from i=1 to n x sub i sup 2 
right | = 
sum from i=1 to n x sub i sup 2 > 0 ~ .

Значение первого углового минора будет неотрицательным всегда. Единственный случай, при котором этот минор обратиться в ноль, — это равенство всех входов нулю. Данный случай не представляет для нас интереса: при нём обработка данных методом наименьших квадратов не будет иметь смысла. Поэтому мы можем утверждать: первый угловой минор матрицы вторых частных производных функции Q строго положителен. Delta sub 2 =
left |
 matrix {
  ccol{
   sum from i=1 to n x sub i sup 2 
   above 
   sum from i=1 to n x sub i
  }
  ccol{
   sum from i=1 to n x sub i 
   above 
   n
  }
 }
right | = 
n sum from i=1 to n x sub i sup 2 - left ( sum from i=1 to n x sub i right ) sup 2 > 0 ~ .

Неотрицательность второго углового минора матрицы вторых частных производных функции Q следует из неравенство о средних (также называемого неравенством Коши, не путайте с неравенством Коши-Буняковского). lpile {
 sqrt {x sup size -2 2} bar >= x bar 
 above
 {x sup size -2 2} bar >= {x bar} sup size -1 2 
 above
 {sum from i=1 to n x sub i sup 2} over n 
 >= 
 left ( {sum from i=1 to n x sub i} right ) sup 2 over n sup 2 
 above
 n sum from i=1 to n x sub i sup 2 >= left ( sum from i=1 to n x sub i right ) sup 2 
 above
 n sum from i=1 to n x sub i sup 2 - left ( sum from i=1 to n x sub i right ) sup 2 >= 0 ~ .
}

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

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

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

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

Расширим наш эксперимент: по-прежнему было проведено 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 back 40 roman \\\"^\\\" = 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 back 40 roman \\\"^\\\" = bold y - X bold k.

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

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

min from bold k Q =
min from bold k bold d sup roman T bold d = 
min from bold k ( bold y - bold y back 40 roman \\\"^\\\" ) sup roman T 
( bold y - bold y back 40 roman \\\"^\\\" ) =
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. Angrist, J. D. Mostly Harmless Econometrics: An Empiricist's Companion / Joshua D. Angrist, Jörn-Steffen Pischke. — Princeton University Press, 2009. — pp. 21—38. — http://egei.vse.cz/e....
  6. Атрашкевич, А. А. Занимательная эконометрика для дошкольников / Андрей Анатольевич Атрашкевич, Григорий Александрович Ситкарев. — Сыктывкар : Издательство Лаборатории прикладной математики и программирования, 2015. — 65 c.

Примечания

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


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