Метод наименьших квадратов: вывод и применение
Что такое метод наименьших квадратов? 🎯
Представьте, что у вас есть набор точек на графике, и вы хотите провести через них прямую линию, которая лучше всего описывает их общую тенденцию. Метод наименьших квадратов — это математический способ найти именно такую линию! Он минимизирует сумму квадратов расстояний от каждой точки до этой линии.
Этот метод — фундаментальный инструмент в анализе данных, машинном обучении и эконометрике. Мы используем его, когда хотим построить модель, которая предсказывает одну переменную на основе другой.
💡 Простая аналогия: представьте, что точки — это гвозди, вбитые в доску, а линия регрессии — это резинка, которую вы натягиваете между ними. Метод наименьших квадратов находит положение, где резинка находится в равновесии — где сумма «натяжения» (ошибок) минимальна.
Математическая постановка задачи ➕
Мы хотим найти параметры 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̄ и ȳ — средние значения переменных.
Практическое применение 📊
Давайте рассмотрим конкретный пример с небольшим набором данных:
| 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 |
Решение:
- Вычислим суммы:
Σ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 - Найдем коэффициент b:
b = (3*34 - 6*15) / (3*14 - 6²) = (102 - 90) / (42 - 36) = 12/6 = 2 - Найдем коэффициент a:
x̄ = 6/3 = 2 ȳ = 15/3 = 5 a = 5 - 2*2 = 1 - Уравнение регрессии:
y = 1 + 2*x
Задача 2
Спрогнозируйте значение y при x = 4 для данных из Задачи 1.