Линейная регрессия
Прямая через точки с минимальной суммой квадратов ошибок: y = kx + b.
1function linearRegression(pts: Array<[x: number, y: number]>): [k: number, b: number] {2 const n = pts.length3 const sx = pts.reduce((s, p) => s + p[0], 0)4 const sy = pts.reduce((s, p) => s + p[1], 0)5 const sxy = pts.reduce((s, p) => s + p[0] * p[1], 0)6 const sxx = pts.reduce((s, p) => s + p[0] * p[0], 0)7 8 const k = (n * sxy - sx * sy) / (n * sxx - sx * sx)9 const b = (sy - k * sx) / n10 return [k, b]11}Проблема
Прямая через точки с минимальной суммой квадратов ошибок: y = kx + b.
Что вы видите
Каждая точка вносит вклад в суммы Σx, Σy, Σxy, Σx²; из них формулы дают k и b.
Как это работает
Метод наименьших квадратов: минимизируем Σ(y − kx − b)²; приравнивание производных к нулю даёт закрытые формулы. Если данные линейны — это оптимальная прямая.
Пошаговый разбор
- 01
Суммы
Σx, Σy, Σxy, Σx².
- 02
Наклон
k по формуле ковариации.
- 03
Сдвиг
b из средних.
Complexity и ограничения
Сложность см. в шапке страницы.
Edge cases
- Пустой вход
Корректная тривиальная обработка.
- Вырожденный случай
Минимум работы — сразу ответ.
Где встречается в реальности
Прогнозы
Тренды метрик, бюджеты, погода.
A/B
Оценка эффекта изменений.
Финансы
Модель стоимости, бета-коэффициенты.
Связанные алгоритмы
«Прямая через точки: математика прогнозов»
Тот же сценарий StepSequence в вертикальной композиции — с safe zones и записью WebM ниже на странице.
Shorts 9:16
Вертикальная композиция строится той же последовательностью шагов, что и страница: safe zones отмечены пунктиром (там живёт UI платформ), биты сценария подсвечиваются по прогрессу. Кнопка записи сохраняет WebM — детерминированная StepSequence даёт воспроизводимый ролик без монтажа.