Объяснение остатков, суммы квадратов остатков, простой линейной регрессии и множественной линейной регрессии с кодом на R

Линейная регрессия - одна из первых концепций, которые мы изучаем в области науки о данных и машинного обучения. Тем не менее, многих смущает линейная регрессия и связанная с ней общая терминология. В этой статье мы шаг за шагом исследуем линейную регрессию. Мы обсуждаем остатки, сумму квадратов остатков (или ошибок), простую и множественную линейную регрессию и терминологию линейной регрессии. Затем мы собираем все вместе на простом примере линейной регрессии в R.

Мы собираемся изучить различные компоненты линейной регрессии, используя набор данных, основанный на исследовании семи стран, в котором изучались факторы, влияющие на сердечно-сосудистые заболевания во всем мире (обратите внимание, что этот набор данных, основанный на исследовании, смоделированные данные). Набор данных доступен для скачивания в формате .csv здесь.

Сначала мы рассмотрим следующие две колонки (переменные): идентификатор страны и смертность от ишемической болезни сердца (на 10 000 населения):

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

Проведите линию по этим точкам. Поскольку мы выдвинули гипотезу об отсутствии связи между переменными, давайте проведем линию с наклоном 0, указывающую на отсутствие связи.

Теперь мы собираемся определить расстояние по вертикали между каждой точкой и линией, которую мы только что нарисовали. Начните с рисования стрелок от линии к каждой точке.

Если мы исследуем расстояния между линией и точкой, мы увидим, что некоторые точки находятся очень близко к линии (например, +3, -4), а некоторые очень далеко (например, +11, -9). Одна точка находится точно на линии, и мы видим, что расстояние равно 0.

Эти расстояния по вертикали от линии до каждой точки называются остатками. Для точек данных над линией остаток положительный, а для точек данных ниже линии остаток отрицательный.

Если мы рассматриваем линию как «прогноз» того, где должны быть точки (на основе нашей гипотезы о том, что не должно быть связи между нашими переменными), остатки - это просто наблюдаемые значения y (точки) минус прогнозируемые значения y (линия). Один из способов подумать об остатках - это то, насколько данные «отклоняются» от линии.

Теперь давайте сложим все остатки над линией и все остатки под линией. Мы увидим, что положительные остатки (над линией) в сумме составляют 24, а отрицательные остатки (под линией) составляют -24. Если ваша линия действительно является линией наилучшего соответствия, ваши остатки всегда будут равняться 0.

Проблема с остатками в том, что мы не знаем абсолютных отличий от линии. Наше решение - возвести остатки в квадрат. Это дает нам абсолютные различия. Это также подчеркивает большие отклонения.

Суммируя эти квадраты остатков, мы получаем хорошую оценку ошибки. (Ошибка заключается в разнице между наблюдаемым значением и прогнозируемым значением). Мы называем это суммой квадратов остатков или суммой квадратов ошибок (SSE). Вы также можете слышать, что это называется остаточной суммой квадратов.

Ниже приведено уравнение суммы квадратов ошибок, где SSE - это сумма квадратов ошибок (или остатков).

Итак, теперь, когда мы узнали об остатках и сумме квадратов ошибок, мы можем обсудить линейную регрессию!

Цель линейной регрессии - создать линейную модель, которая минимизирует сумму квадратов остатков.

Итак, вернемся к нашим данным. Теперь мы хотим взглянуть на другую переменную и изучить ее связь со смертностью от ишемической болезни сердца. Эта переменная «Курение» представляет собой среднее количество сигарет на одного взрослого в день в этой стране.

Если мы построим график смертности от ишемической болезни сердца относительно среднего количества сигарет на одного взрослого в день, мы увидим сильную линейную зависимость:

В простой линейной регрессии мы пытаемся выбрать несколько линий наилучшего соответствия, пока не найдем ту, которая минимизирует сумму квадратов ошибок. Ниже вы можете увидеть визуальное представление трех исследуемых линий. Для каждой строки вычисляется сумма квадратов ошибок. Линия с наименьшей суммой квадратов ошибок - это линия наилучшего соответствия (здесь это красная линия).

Регрессия - это всего лишь методология, используемая для моделирования и анализа числовых данных. В регрессии оцениваются отношения между 2+ переменными. Регрессия может использоваться для прогнозирования, оценки, проверки гипотез и моделирования причинно-следственных связей.

Если мы посмотрим на терминологию простой линейной регрессии, мы найдем уравнение, мало чем отличающееся от нашего стандартного уравнения y = mx + b из начальной школы.

«Y» называется зависимой переменной, переменной результата или переменной ответа. «X» называется независимой переменной, переменной-предиктором, независимой переменной или переменной-регрессором. β0 называется точкой пересечения, β1 - наклон, а ε - случайная величина. Наклон и точка пересечения (β1 и β0 соответственно) также называются коэффициентами регрессии.

Если мы теперь вернемся к нашему предыдущему примеру, нам дается уравнение нашей простой линейной регрессии: y = 0,25 + 2,41x.

Давайте зададим себе несколько вопросов интерпретации, чтобы убедиться, что мы понимаем наше уравнение простой линейной регрессии:

  1. Как можно интерпретировать β1 = 2,41?
  2. Если бы у нас была 9-я страна со средним количеством сигарет на взрослого в день = 20, как бы вы предсказали уровень смертности? Какое ожидаемое значение Y?

  1. Как можно интерпретировать β1 = 2,41? Ожидаемое изменение CHD при изменении среднего количества сигарет на 1 взрослого в день.
  2. Если бы у нас была 9-я страна со средним количеством сигарет на взрослого в день = 20, как бы вы предсказали уровень смертности? Какое ожидаемое значение Y? Если мы подставим «20» вместо X в приведенное выше уравнение, мы обнаружим, что ожидаемое значение Y равно 48,45, которое мы округляем до 48.

Мы изучили простую линейную регрессию и можем определить связь между нашей переменной результата и переменной регрессии. Но что, если бы у нас были другие потенциальные регрессионные переменные, например, указанные ниже?

  • Средний возраст населения
  • Среднее количество потребляемых насыщенных жиров
  • Минуты упражнений в день в среднем
  • Любимый номер страны

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

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

Код

Набор данных доступен для скачивания в формате .csv здесь.

Импортируйте библиотеку lme4 в R. Это позволит вам создавать модели линейной регрессии. Здесь вы выполняете простую линейную регрессию, прогнозируя смертность (ИБС) с помощью регрессионной переменной «Курение», поэтому вы настроите свою линейную регрессию следующим образом:

CHD ~ Курение

Затем вы можете построить линию наилучшего соответствия, используя аблайн.

Чтобы определить коэффициенты регрессии и сигму (используемую для вычисления случайной переменной в уравнении линейной регрессии), вы вызовете модель, распечатаете модель и распечатайте значение сигмы модели:

Ваш результат покажет ваши коэффициенты регрессии, β1 = 2,41 и β0 = 0,246 в дополнение к значению сигмы 3,42.

Множественная линейная регрессия в R так же проста. Вы добавите «+» между переменными регрессора. Мы добавляем (1 | ID), чтобы сообщить модели, что ID является переменной уровня группы.

Хотите еще глубже погрузиться в использование R для линейной регрессии? Ознакомьтесь с моделями смешанных эффектов, что также можно сделать с помощью библиотеки lme4!

Таким образом, мы исследовали остатки, которые представляют собой расстояние между линией регрессии и каждым наблюдаемым значением. Мы узнали, что цель линейной регрессии - минимизировать сумму квадратов остатков. Мы разработали интуицию для линейной регрессии, которую можно использовать для прогнозирования, оценки, проверки гипотез и моделирования причинно-следственных связей. Мы узнали, что можем использовать множественную линейную регрессию для учета нескольких переменных регрессии. Наконец, мы узнали, как выполнять линейную регрессию в R!