Калькулятор множественной линейной регрессии
Введите значения зависимой переменной и два или более столбца предикторов, чтобы построить множественную линейную регрессию методом наименьших квадратов. Калькулятор возвращает свободный член, коэффициенты при каждом предикторе, R², уравнение регрессии, а также предсказанные значения с остатками.
Аппроксимация зависимой переменной несколькими предикторами
Формула множественной линейной регрессии
Обозначения:
- \(\hat{y}\) — предсказанное значение зависимой переменной
- \(\beta_0\) — свободный член: ожидаемое значение \(y\) при нулевых значениях всех предикторов
- \(\beta_j\) — коэффициент предиктора \(X_j\): насколько ожидаемо изменится \(y\) при увеличении \(X_j\) на единицу, если остальные предикторы остаются неизменными
- \(p\) — число предикторов
- \(n\) — число наблюдений
- \(R^2\) — доля дисперсии \(y\), объясненная моделью
Коэффициенты оцениваются обычным методом наименьших квадратов (МНК): подбираются такие значения \(\beta\), при которых сумма квадратов остатков \(\sum (y - \hat{y})^2\) минимальна. В матричной форме решение записывается как \(\hat{\boldsymbol{\beta}} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y}\); этот калькулятор решает ту же задачу наименьших квадратов численно устойчивым QR-разложением, не строя матрицу \(\mathbf{X}^T\mathbf{X}\) в явном виде.
Множественная линейная регрессия — пример расчета
Пример: восемь наблюдений со значениями зависимой переменной 7; 12; 11; 16; 15; 20; 19; 24 и два предиктора: \(X_1\), принимающий значения от 1 до 8, и \(X_2\), чередующий 0, 1, 0, 1, … — это и есть данные, которые заданы в калькуляторе по умолчанию.
\[ \hat{y} = 5 + 2X_1 + 3X_2 \]
Результат: свободный член \(\beta_0 = 5\), коэффициенты \(\beta_1 = 2\) и \(\beta_2 = 3\), а также \(R^2 = 1\). Каждое предсказанное значение совпадает с фактическим, поэтому все остатки равны 0, а сумма квадратов остатков равна 0 при общей сумме квадратов 210. Этот набор данных подобран так, чтобы модель подходила идеально, поэтому \(R^2\) достигает максимума, равного 1; на реальных данных почти всегда остается какая-то остаточная изменчивость и получается \(R^2 < 1\).
Как пользоваться калькулятором
- Введите Значения зависимой переменной (y) — по одному значению на наблюдение, разделяя их пробелами, точками с запятой или переносами строк. Десятичные запятые допускаются.
- Введите Столбцы предикторов (X) — по одному наблюдению в строке; значения предикторов этого наблюдения разделяйте пробелами или точками с запятой. Порядок столбцов должен быть одинаковым во всех строках, а самих столбцов должно быть не меньше двух.
- Проверьте, что количество строк X совпадает с количеством значений y и что в каждой строке одно и то же число значений. Наблюдений должно быть минимум на два больше, чем предикторов.
- Ознакомьтесь с результатами: свободный член, таблица коэффициентов при предикторах, R², таблица предсказанных значений с остатками и уравнение регрессии с характеристиками качества подгонки.
Что такое множественная линейная регрессия?
Множественная линейная регрессия описывает непрерывную зависимую переменную как взвешенную сумму двух и более предикторов плюс константу. Она расширяет простую линейную регрессию, в которой используется один предиктор, на случаи, когда на результат одновременно влияют несколько переменных — например, оценка цены дома по площади, числу комнат и году постройки или урожайности по количеству осадков, температуре и объему удобрений.
Главное преимущество перед отдельными простыми регрессиями в том, что каждый коэффициент выделяет вклад одного предиктора при фиксированных остальных включенных предикторах. Коэффициент 2 при \(X_1\) означает, что при увеличении \(X_1\) на единицу зависимая переменная ожидаемо возрастает на 2 единицы независимо от того, на каком уровне находятся остальные предикторы. Именно поэтому коэффициенты могут заметно отличаться от наклонов, которые получились бы при регрессии по каждому предиктору по отдельности, — модель разделяет перекрывающиеся эффекты.
R² показывает, насколько хорошо подобранная плоскость (или гиперплоскость) следует данным: это доля дисперсии \(y\), которую объясняют предикторы. R², равный 0,80, означает, что модель воспроизводит 80 % наблюдаемой изменчивости. Учтите, что при добавлении предикторов R² может только остаться прежним или вырасти, поэтому высокий R² при большом числе предикторов сам по себе не доказывает качество модели — он лишь характеризует подгонку к данным, на которых модель оценивалась.
Чтобы перед построением модели изучить попарные связи между переменными, воспользуйтесь калькулятором ранговой корреляции Спирмена или калькулятором коэффициента Кендалла.
Допущения, ограничения и практические советы
- Размер выборки: для \(p\) предикторов и свободного члена нужно минимум \(p + 2\) наблюдений (калькулятор это контролирует). На практике для устойчивых оценок старайтесь иметь 10–20 наблюдений на каждый предиктор.
- Без избыточных столбцов: предикторы не должны быть линейно зависимыми. Если вы кодируете категориальную переменную столбцами из нулей и единиц, включайте дамми-столбцов на один меньше, чем категорий, — базовый уровень «заберет» свободный член, как и чередующийся столбец 0/1 в примере.
- Мультиколлинеарность: сильно коррелирующие между собой предикторы дают неустойчивые и трудные для интерпретации коэффициенты, даже если общее качество подгонки выглядит хорошо. Сначала проверьте попарные связи и уберите или объедините перекрывающиеся переменные.
- Линейность: МНК предполагает, что каждый предиктор связан с зависимой переменной линейно при фиксированных остальных предикторах. Нелинейные связи часто удается учесть, добавив преобразованные столбцы (например, квадрат переменной) как дополнительные предикторы.
- Анализ остатков: модель предполагает независимость ошибок и примерно постоянную их дисперсию. Полезно просмотреть остатки в таблице предсказаний; для данных, упорядоченных по времени, калькулятор автокорреляции поможет выявить оставшийся в остатках систематический характер, а калькулятор асимметрии и эксцесса — заметить сильно ненормальные данные.
- Связь — не причинность: коэффициенты описывают связи внутри ваших данных. Чтобы говорить о причинном эффекте, нужен соответствующий план исследования, а не просто хорошая подгонка.
- Оставайтесь в диапазоне данных: прогнозы далеко за пределами наблюдаемых значений предикторов — это экстраполяция, и она может оказаться совершенно ошибочной.
- Без статистических выводов: калькулятор выдает только уравнение регрессии и качество подгонки на исходных данных; стандартные ошибки, p-значения и доверительные интервалы рассчитывайте в полноценном статистическом ПО.
Часто задаваемые вопросы
Как вычислить множественную линейную регрессию вручную?
Составьте матрицу плана \(\mathbf{X}\), добавив первый столбец из единиц для свободного члена, затем решите систему нормальных уравнений \((\mathbf{X}^T\mathbf{X})\hat{\boldsymbol{\beta}} = \mathbf{X}^T\mathbf{y}\). При двух предикторах это означает решение системы из трех линейных уравнений относительно \(β_0, β_1, β_2\). По найденному уравнению вычислите предсказания, затем остатки и R² через суммы квадратов. Уже при нескольких наблюдениях это очень трудоемко, поэтому в калькуляторах используется численно устойчивое QR-разложение.
Какое значение R² считается хорошим для множественной регрессии?
Универсального порога нет. В физических и инженерных данных R² выше 0,9 — обычное дело; в социальных и медицинских исследованиях содержательными бывают значения 0,3–0,5. Что считать хорошим результатом, зависит от уровня погрешностей измерений и от самой предметной области. Кроме того, помните: R² автоматически растет при добавлении предикторов, поэтому модели разного размера сравнивайте по скорректированному R², а качество модели оценивайте по тому, как она предсказывает новые данные, а не только по подгонке к данным, на которых строилась.
Почему коэффициенты отличаются от наклонов простых регрессий по каждой переменной?
Это нормальное явление, а не ошибка. В множественной регрессии каждый коэффициент отражает влияние своего предиктора при постоянных остальных включенных предикторах. Если два предиктора перекрываются (например, площадь дома и число комнат), модель делит их общую объясняющую силу между ними, поэтому коэффициенты могут уменьшаться, менять знак или увеличиваться по сравнению с регрессиями по одной переменной. Именно в этом и польза множественной регрессии: она разделяет переплетенные эффекты.
Можно ли использовать категориальные переменные вроде пола или города в этом калькуляторе?
Да, но сначала закодируйте их дамми-переменными со значениями 0/1. Для категории с k уровнями создайте k − 1 дамми-столбцов и введите их как отдельные предикторы — пропущенный уровень станет базовым и уйдет в свободный член. Ни в коем случае не вводите один столбец с произвольными кодами вроде 1, 2, 3 для трех городов: это заставит модель считать категории равноотстоящими числами, что обычно неверно.
Сколько наблюдений нужно по сравнению с числом предикторов?
Математический минимум — на два наблюдения больше, чем предикторов (с учетом свободного члена), что калькулятор и требует, но для надежных результатов этого крайне мало. Распространенное эмпирическое правило — 10–20 наблюдений на каждый предиктор. Когда наблюдений слишком мало, коэффициенты становятся крайне чувствительными к отдельным точкам, R² механически приближается к 1, а модель будет плохо предсказывать новые данные.
Почему появляется ошибка о линейно зависимых или избыточных столбцах?
Предикторы должны нести независимую информацию. Ошибка возникает, если один столбец — константа, точное кратное другого или сумма остальных — например, если включить дамми-переменные для всех уровней категории: их сумма всегда равна 1, и они дублируют столбец свободного члена. Уберите или объедините избыточный столбец. Почти зависимые столбцы (например, температура одновременно в °C и °F) тоже приводят к ошибке, поскольку подгонка становится численно неустойчивой.
Чем отличается R² от скорректированного R²?
R² показывает долю дисперсии y, объясненную моделью, но при добавлении предиктора он никогда не убывает — его слегка повышает даже бесполезная случайная переменная. Скорректированный R² штрафует за число предикторов относительно объема выборки, поэтому он может снизиться, если добавленная переменная не оправдывает своего места в модели. Для сравнения моделей с разным числом предикторов используйте скорректированный R²; этот калькулятор выдает обычный R², характеризующий подгонку к данным, по которым модель оценивалась.