Menu

Калькулятор линейной регрессии

Прямая регрессии через ваши точки, точно, с r и каждым шагом решения.

Автор Nethanel Bar, Сооснователь и генеральный директор

Обновлено

Хотите решать это без калькулятора?

Курс математики Coddy учит самому методу: вы прорабатываете каждый шаг на интерактивной доске и узнаёте, где именно ход пошёл не так.

Линейная регрессия находит ту единственную прямую, которая промахивается мимо точек меньше всех

Реальные данные никогда не ложатся на одну прямую, поэтому любая проведённая через них прямая промахивается мимо большинства точек. Каждый промах называется остатком: фактическое y минус y, которое предсказывает прямая. Линейная регрессия возводит каждый остаток в квадрат, складывает квадраты и выбирает ту прямую, при которой эта сумма минимальна. Это прямая регрессии по методу наименьших квадратов, её же называют прямой наилучшего приближения, и для любого набора точек, у которого не все x одинаковы, она ровно одна.

Чтобы её найти, нужно пять чисел: количество точек n и суммы x, y, xy и x². Угловой коэффициент равен m = (nΣxy минус ΣxΣy), делённое на (nΣx² минус (Σx)²), а свободный член b = (Σy минус mΣx), делённое на n. Эта страница строит таблицу этих сумм, подставляет ваши числа в обе формулы и показывает каждую строку решения, потому что именно таблицу проверяет учитель.

Угловой коэффициент и свободный член хранятся точными дробями. На данных из целых чисел, десятичных дробей и обыкновенных дробей они всегда рациональны, поэтому коэффициент 162/35 печатается как 162/35, а не как 4,6286, что лишь его округление. Коэффициент корреляции r представляет собой квадратный корень, поэтому он показан как радикал с десятичным значением рядом. Кнопка «Копировать» даёт прямую в десятичной записи, готовую для электронной таблицы.

Что стоит заметить в прямой

  • Она всегда проходит через точку средних. Для x = 1 до 5 и y = 2, 4, 5, 4, 5 средние равны 3 и 4, прямая y = 0,6x + 2,2, и 0,6 × 3 + 2,2 = 4.
  • Её остатки всегда в сумме дают ровно ноль. Промахи выше прямой и ниже неё уравновешивают друг друга, поэтому метод возводит их в квадрат перед сложением.
  • У углового коэффициента есть единицы: единицы y на единицу x. Коэффициент 162/35 для часов подготовки и баллов за тест означает примерно на 4,63 балла больше за каждый лишний час.
  • Если поменять x и y местами, получится другая прямая, а не та же, записанная иначе. Регрессия y по x делает маленькими вертикальные промахи, регрессия x по y делает маленькими горизонтальные.
  • Угловой коэффициент говорит, насколько крутой тренд, а r говорит, насколько плотно точки ему следуют. Знак у них всегда общий, но у крутой прямой r может быть слабым, а у пологой сильным.
  • Две точки всегда дают идеальное совпадение с r = 1 или -1. О данных это ничего не говорит; прямая регрессии начинает что-то значить с трёх и более точек.

Как найти прямую регрессии вручную

  1. Составьте таблицу

    Запишите каждую точку строкой из четырёх столбцов: x, y, xy и x². Сложите каждый столбец и посчитайте точки. Для x = 1, 2, 3, 4, 5 и y = 2, 4, 5, 4, 5 получается n = 5, Σx = 15, Σy = 20, Σxy = 66 и Σx² = 55.

  2. Вычислите угловой коэффициент

    m = (nΣxy минус ΣxΣy) / (nΣx² минус (Σx)²). Здесь это (5 × 66 минус 15 × 20) / (5 × 55 минус 15²) = 30 / 50 = 0,6. Оставьте его дробью, если не выходит короткая десятичная.

  3. Вычислите свободный член

    b = (Σy минус mΣx) / n. Здесь (20 минус 0,6 × 15) / 5 = 11/5 = 2,2. Берите точный угловой коэффициент из предыдущего шага, а не округлённый.

  4. Запишите прямую и проверьте её

    y = 0,6x + 2,2. Проверьте, что она проходит через точку средних (3, 4): 0,6 × 3 + 2,2 = 4. Если нет, одна из сумм неверна.

  5. Оцените качество приближения

    Вычислите r или посмотрите на остатки. Здесь r = √15/5, около 0,7746, а остатки равны -0,8; 0,6; 1; -0,6 и -0,2, и их квадраты в сумме дают 2,4.

Прямые регрессии для небольших наборов данных

Каждая строка содержит один набор данных, введённый в калькулятор выше. Угловой коэффициент и свободный член точные; r показан радикалом с десятичным значением.

Значения xЗначения yПрямая регрессииrr²
1, 2, 3, 4, 52, 4, 5, 4, 5y = 0.6x + 2.2√15/5 ≈ 0.77460.6
0, 1, 2, 37, 5, 3, 1y = -2x + 7-11
2, 4, 6, 8, 103, 7, 8, 12, 15y = 1.45x + 0.329√215/430 ≈ 0.9889841/860
1, 2, 3, 4, 5, 652, 58, 61, 67, 70, 76y = (162/35)x + 47.89√15/35 ≈ 0.9959243/245
1, 2, 3, 4, 53, 1, 4, 1, 5y = 0.4x + 1.6√2/4 ≈ 0.35360.125
1, 32, 8y = 3x - 111
-2, -1, 0, 1, 24, 1, 0, 1, 4y = 200

Разобранные примеры

Набор из учебника

plain
x: 1, 2, 3, 4, 5; y: 2, 4, 5, 4, 5

Суммы: Σx = 15, Σy = 20, Σxy = 66 и Σx² = 55 при n = 5. Угловой коэффициент равен 30/50 = 0,6, свободный член 11/5 = 2,2, значит прямая y = 0,6x + 2,2. Остатки равны -0,8; 0,6; 1; -0,6 и -0,2, в сумме 0, а их квадраты в сумме дают 2,4. Коэффициент корреляции r = √15/5, около 0,7746: сильная положительная связь.

Угловой коэффициент в виде дроби: часы подготовки и баллы за тест

plain
x: 1, 2, 3, 4, 5, 6; y: 52, 58, 61, 67, 70, 76

Средние равны 3,5 часа и 64 балла. Угловой коэффициент 162/35, около 4,63 балла за час, а свободный член 64 минус (162/35) × 3,5 = 47,8, так что y = (162/35)x + 47,8 при r ≈ 0,9959. Для 4,5 часа прямая предсказывает 2402/35, около 68,63. Для 12 часов она предсказывает около 103,34 в тесте, где максимум 100 баллов: это экстраполяция, которую данные не подтверждают.

Точки, которые уже лежат на прямой

plain
x: 0, 1, 2, 3; y: 7, 5, 3, 1

Каждый шаг x на 1 уменьшает y на 2, поэтому точки лежат ровно на y = -2x + 7. Калькулятор находит эту прямую, каждый остаток равен 0, сумма квадратов остатков равна 0, и r = -1: полная отрицательная корреляция.

Прогноз внутри данных и за их пределами

plain
x: 2, 4, 6, 8, 10; y: 3, 7, 8, 12, 15

Прямая y = 1,45x + 0,3 при r ≈ 0,9889 проходит через точку средних (6, 9). При x = 7, внутри данных, она предсказывает 10,45, и этой интерполяции можно доверять примерно настолько, насколько хорошо приближение. При x = 60 она предсказывает 87,3, на пятьдесят единиц дальше последней точки, где ничто в данных не говорит, что тренд сохраняется.

Сильный r, за которым прячется кривая

plain
x: 0, 1, 2, 3, 4, 5; y: 0, 1, 4, 9, 16, 25

Прямая регрессии y = 5x - 10/3 при r ≈ 0,9599, что звучит отлично. Остатки равны 10/3, -2/3, -8/3, -8/3, -2/3 и 10/3: положительные на обоих концах и отрицательные в середине. Такая U-образная картина значит, что точки лежат на кривой, и квадратичная регрессия точно находит её как y = x².

Частые ошибки

  • Округлять угловой коэффициент до вычисления свободного члена. При коэффициенте 162/35 значение 4,63 даёт свободный член 47,795 вместо 47,8. Несите точный коэффициент до конца и округляйте один раз в самом конце.
  • Путать nΣx² и (Σx)². Для x = 1 до 5 первое равно 5 × 55 = 275, второе 15² = 225. Если их поменять, знаменатель сменит знак.
  • Нарушать пары значений. Первое x относится к первому y. Если отсортировать один столбец без другого, получится прямая через точки, которых не существует.
  • Экстраполировать далеко за пределы данных. Прямая описывает тот диапазон, на котором её построили; прогноз далеко за его пределами может сильно ошибаться, даже если r близок к 1.
  • Считать высокий r доказательством, что прямая является правильной моделью. Квадраты от 0 до 25 дают r ≈ 0,96 и всё равно лежат на кривой. Смотрите на остатки.
  • Читать угловой коэффициент как причину. Прямая говорит, как y в среднем меняется вместе с x в этих данных, а не что изменение x изменит y.
  • Строить регрессию x по y, когда задача просит y по x. Две прямые регрессии различны, если только все точки не лежат на одной прямой.

Вопросы о линейной регрессии

Как посчитать линейную регрессию вручную?
Составьте таблицу с x, y, xy и x² для каждой точки и сложите столбцы. Угловой коэффициент m = (nΣxy минус ΣxΣy) / (nΣx² минус (Σx)²), свободный член b = (Σy минус mΣx) / n. Для x = 1 до 5 и y = 2, 4, 5, 4, 5 это даёт m = 30/50 = 0,6 и b = 11/5 = 2,2, то есть y = 0,6x + 2,2. Эта страница печатает ту же таблицу и заполняет обе формулы, чтобы вы могли сверить каждую строку.
Что такое прямая регрессии по методу наименьших квадратов?
Прямая, при которой сумма квадратов остатков минимальна, где остаток точки равен её фактическому y минус y, предсказанному прямой. Она единственна, если не все значения x равны. Для пяти точек выше ни одна другая прямая не опускает сумму квадратов ниже 2,4.
Что означают угловой коэффициент и свободный член?
Угловой коэффициент показывает, на сколько в среднем меняется y при увеличении x на 1, в единицах y на единицу x. Свободный член равен предсказанному y при x = 0. Он имеет смысл, только если x = 0 лежит внутри данных или рядом с ними; у регрессии веса по росту свободный член при росте 0 не описывает ни одного реального человека.
Прямая наилучшего приближения и прямая регрессии одно и то же?
Да. В статистике прямая наилучшего приближения и есть прямая регрессии по методу наименьших квадратов, её и вычисляет этот калькулятор. Линия тренда, проведённая на бумаге на глаз, лишь её оценка, и она должна проходить через точку средних, как всегда проходит вычисленная прямая.
Какой r в квадрате считается хорошим для прямой регрессии?
Зависит от области. r² равен доле разброса y, которую объясняет прямая, так что 0,9 означает 90%. Измерения из контролируемого физического эксперимента часто доходят до 0,99; данные о людях часто останавливаются на значениях от 0,3 до 0,5 и всё равно полезны. Высокий r² не доказывает, что прямая является правильной формой, поэтому проверяйте и остатки.
Сколько точек нужно для линейной регрессии?
Две точки задают прямую, поэтому калькулятор принимает две, но прямая через две точки всегда совпадает с ними идеально и ничего не говорит о данных. С трёх и более точек остатки, r и r² начинают нести информацию, а чем больше точек, тем надёжнее угловой коэффициент.
Можно ли делать прогноз по прямой регрессии?
Внутри диапазона ваших x можно: это интерполяция, и она настолько хороша, насколько хорошо приближение. За пределами диапазона это экстраполяция, и ничто в данных не говорит, что тренд продолжается. Пример с баллами за тест на этой странице предсказывает около 103 баллов за 12 часов подготовки в тесте из 100.
Почему ответы в дробях, а не в десятичных?
Потому что угловой коэффициент и свободный член прямой наименьших квадратов на рациональных данных рациональны, и дробь является точным значением. 162/35 и есть угловой коэффициент; 4,6286 лишь его округление, и каждый прогноз по округлению несёт ошибку. Кнопка «Копировать» даёт десятичные значения, когда они нужны.

Другие инструменты по математике

Иллюстрация языков программирования Coddy

Учите математику с Coddy

НАЧАТЬ