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

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

Например, можно понять, как будет меняться товарооборот (значение "y") сети магазинов с изменением размеров торговой площади (значение "x").

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

Метод наименьших квадратов Аппроксимирующие функции
Эти точки на картинке — наши данные, и мы пытаемся найти функцию типа y = a + bx (эту прямую линию на картинке), которая будет соответствовать наилучшим образом заданным значениям (нашим данным). Такая функция называется аппроксимирующей функцией (аппроксимация — приближение).

Решение МНК

Мы ищем уравнение линейной регрессии, которое выглядит так: y = ax + b

Где:

  • y – зависимая переменная
  • x – независимая переменная
  • a – коэффициент (это также наклон/градиент линии)
  • b – коэффициент (это также точка, где линия пересекает ось Y)

Метод 1

Шаги, которые мы будем делать для поиска y = ax + b (сейчас мы их все пройдём на примере):

Шаг 1: Для каждой точки (x, y) вычислить x² и xy.

Шаг 2: Суммировать все x, y, x² и xy, это даст нам Σx, Σy, Σx² и Σxy (если кто забыл, Σ означает "сумма").

Шаг 3: Рассчитать наклон a по этой формуле:

begin mathsize 36px style a space equals space fraction numerator N capital sigma left parenthesis x y right parenthesis space minus space capital sigma x capital sigma y over denominator N capital sigma left parenthesis x squared right parenthesis space minus space left parenthesis capital sigma x right parenthesis squared end fraction end style, где N – количество данных

Шаг 4: Рассчитать значение числа b:

begin mathsize 36px style b space equals space fraction numerator capital sigma y space minus a capital sigma x over denominator N end fraction end style, где N – количество данных

Шаг 5: Подставить найденные числа по местам в уравнение (y = ax + b)

Пример

После некоторых наблюдений, у нас появились данные о размерах и продажах некой торговой сети, у которой 5 магазинов:

Размер (x) Продажи (y)
2 4
3 6
5 8
7 10
9 12

Для наглядности, например, это магазины мороженого, и 2-метровая лавочка продаёт в месяц 4 тонны мороженого, 7 метровая — 10 тонн.

Шаг 1:

Сразу можно записать, что N = 5 (количество данных; т.е. всего у нас данные по пяти магазинам, ведь у нас 5 строк данных).

Для каждой точки (x, y) вычисляем x² и xy. Для этого, к уже существующим столбцам добавим ещё два: x² и xy.

  • x² получим путём возведения x (Размер) в квадрат
  • xy получим путём умножения одного на второе
x y xy
2 4 2² = 4 2 × 4 = 8
3 6 3² = 9 3 × 6 = 18
5 8 25 40
7 10 49 70
9 12 81 108

Шаг 2: Суммировать все x, y, x² и xy, это даст нам Σx, Σy, Σx² и Σxy (складываем каждый столбик):

x y xy
2 4 2² = 4 2 × 4 = 8
3 6 3² = 9 3 × 6 = 18
5 8 25 40
7 10 49 70
9 12 81 108
Σx = 26 Σy = 40 Σx² = 168 Σxy = 244

Шаг 3: Рассчитать a (наклон графика) по этой формуле:

begin mathsize 36px style a space equals space fraction numerator N capital sigma left parenthesis x y right parenthesis space minus space capital sigma x capital sigma y over denominator N capital sigma left parenthesis x squared right parenthesis space minus space left parenthesis capital sigma x right parenthesis squared end fraction end style, где N – количество данных

Помним, что N = 5, значит:

a space equals space fraction numerator 5 cross times 244 space minus 26 cross times 40 over denominator 5 cross times 168 space minus space 26 squared end fraction space equals space 1 comma 09756097561 space almost equal to space 1 comma 0976

Шаг 4: Рассчитать значение числа b:

begin mathsize 36px style b space equals space fraction numerator capital sigma y space minus space a capital sigma x over denominator N end fraction end style, где N – количество данных

Помним, что N = 5, значит:

b space equals space fraction numerator 40 space minus space 1 comma 0976 cross times 26 over denominator 5 end fraction space equals space 2 comma 29248

Шаг 5: Подставить найденные числа по местам в уравнение

y = ax + b ⇒ y = 1,0976x + 2,29248

Готово!

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

Метод наименьших квадратов график с точками и функцией
Действительно, полученная функция и точки "ходят рука об руку".

Также мы можем использовать эту функцию, чтобы понять, как будут зависеть продажи фирмы от размера помещения. Например: руководство хочет открыть магазин размером в 11,5 м². Для этого подставляем 11,5 вместо x:

y = 1,0976x + 2,29248 ⇒ y = 1,0976 × 11,5 + 2,29248 = 14,91488

Ответ: этот магазин размером в 11,5 м² будет продавать около 15 тонн мороженого в месяц.

Метод 2

Мы продолжаем искать уравнение линейной регрессии, которое выглядит так: y = ax + b.

Используем тот же пример с сетью магазинов.

Размер (x) Продажи (y)
2 4
3 6
5 8
7 10
9 12

Шаг 1: Опять суммируем все x, y, x² и xy, т.е. находим Σx, Σy, Σx² и Σxy (складываем каждый столбик):

x y xy
2 4 2² = 4 2 × 4 = 8
3 6 3² = 9 3 × 6 = 18
5 8 25 40
7 10 49 70
9 12 81 108
Σx = 26 Σy = 40 Σx² = 168 Σxy = 244

Шаг 2: Записать вот такую систему уравнений (так мы будем искать параметры a и b):

begin mathsize 36px style open curly brackets table attributes columnalign left end attributes row cell a sum x subscript i squared space plus space b sum x subscript i space equals space sum x subscript i y subscript i end cell row cell a sum x subscript i space plus space b n space equals space sum y subscript i end cell end table close end style

Шаг 3: Помним, что N = 5. Таким образом, из нашего примера получаем систему:

open curly brackets table attributes columnalign left end attributes row cell a cross times 168 space plus space b cross times 26 space equals space 244 end cell row cell a cross times 26 space plus space b cross times 5 space equals space 40 end cell end table close

Лучше конечно её переписать красиво:

open curly brackets table attributes columnalign left end attributes row cell 168 a space plus space 26 b space equals space 244 end cell row cell 26 a space plus space 5 b space equals space 40 end cell end table close

Шаг 4: Решить систему.

Находим a = 1,0976; b = 2,29248; и ставим по местам в функцию (y = ax + b). Получается y = 1,0976x + 2,29248

Готово!

Для проверки лучше составить график с данными точками и найденной функцией, как в методе 1.

Узнайте также про Метод Крамера, Стандартное отклонение и Корреляции.