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

Что такое метод наименьших квадратов? 🎯

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

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

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

Математическая постановка задачи ➕

Мы хотим найти параметры a и b для уравнения прямой:

y = a + b*x

где:

  • y — зависимая переменная (то, что мы предсказываем)
  • x — независимая переменная (то, на основе чего предсказываем)
  • a — intercept (точка пересечения с осью Y)
  • b — slope (наклон прямой)

Наша цель — минимизировать функцию суммы квадратов ошибок:

S = Σ(y_i - (a + b*x_i))²

где суммирование происходит по всем наблюдениям i = 1, 2, ..., n.

Вывод формулы шаг за шагом 🔍

Чтобы найти минимум функции S, мы воспользуемся классическим методом — возьмем частные производные по a и b и приравняем их к нулю.

Шаг 1: Запишем функцию, которую нужно минимизировать:

S(a, b) = Σ(y_i - a - b*x_i)²

Шаг 2: Возьмем частную производную по a:

∂S/∂a = -2 * Σ(y_i - a - b*x_i)

Шаг 3: Возьмем частную производную по b:

∂S/∂b = -2 * Σ[x_i*(y_i - a - b*x_i)]

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

(1) Σy_i = n*a + b*Σx_i
(2) Σx_i*y_i = a*Σx_i + b*Σx_i²

Шаг 5: Решим эту систему уравнений. Выразим a из первого уравнения:

a = (Σy_i - b*Σx_i) / n

Шаг 6: Подставим во второе уравнение и найдем b:

b = (n*Σx_i*y_i - Σx_i*Σy_i) / (n*Σx_i² - (Σx_i)²)

Шаг 7: Теперь можем найти a, подставив найденное значение b:

a = ȳ - b*x̄

где и — средние значения переменных.


Практическое применение 📊

Давайте рассмотрим конкретный пример с небольшим набором данных:

x y
1 2
2 3
3 5
4 4
5 6

Найдем линию регрессии для этих данных.

Сначала вычислим необходимые суммы:

Σx_i = 1 + 2 + 3 + 4 + 5 = 15
Σy_i = 2 + 3 + 5 + 4 + 6 = 20
Σx_i*y_i = 1*2 + 2*3 + 3*5 + 4*4 + 5*6 = 2 + 6 + 15 + 16 + 30 = 69
Σx_i² = 1² + 2² + 3² + 4² + 5² = 1 + 4 + 9 + 16 + 25 = 55
n = 5

Теперь подставим в формулы:

b = (5*69 - 15*20) / (5*55 - 15²) = (345 - 300) / (275 - 225) = 45/50 = 0.9

x̄ = 15/5 = 3
ȳ = 20/5 = 4
a = 4 - 0.9*3 = 4 - 2.7 = 1.3

Таким образом, уравнение регрессии:

y = 1.3 + 0.9*x

📘 На практике вычисления всегда доверяют компьютеру, но понимание математики behind the scenes помогает осознанно интерпретировать результаты!


Задачи для закрепления 📝

Задача 1

Найдите уравнение линейной регрессии для следующих данных:

x y
1 3
2 5
3 7

Решение:

  1. Вычислим суммы:
    Σx_i = 1 + 2 + 3 = 6
    Σy_i = 3 + 5 + 7 = 15
    Σx_i*y_i = 1*3 + 2*5 + 3*7 = 3 + 10 + 21 = 34
    Σx_i² = 1² + 2² + 3² = 1 + 4 + 9 = 14
    n = 3
        
  2. Найдем коэффициент b:
    b = (3*34 - 6*15) / (3*14 - 6²) = (102 - 90) / (42 - 36) = 12/6 = 2
        
  3. Найдем коэффициент a:
    x̄ = 6/3 = 2
    ȳ = 15/3 = 5
    a = 5 - 2*2 = 1
        
  4. Уравнение регрессии: y = 1 + 2*x

Задача 2

Спрогнозируйте значение y при x = 4 для данных из Задачи 1.

Скрыть рекламу навсегда

📘 VK Видео — обучение без ограничений

Все уроки доступны без VPN, без блокировок и зависаний.

Можно смотреть с телефона, планшета или компьютера — в любое время.

▶️ Смотреть на VK Видео