Концепция модели линейной регрессии для новичков!

Что такое линейная регрессия?

Линейная регрессия — это простой метод статистической регрессии, используемый в прогнозной аналитике. Как следует из названия, это помогает вам изучить линейную зависимость между двумя или более переменными, которые являются непрерывными числовыми и находятся на оси X и оси Y. Все переменные разбиты на две категории. Одна переменная ответа, которая является выходом данных, находится на оси Y как зависимая переменная, остальные все переменные находятся на оси X как независимые переменные, влияющие на зависимую переменную.

Например, если мы прогнозируем продажи определенного бренда в этом месяце и хотим предсказать, какие маркетинговые платформы (предположим, Новости, Радио и Газета) способствовали увеличению продаж. Тогда валовая сумма продаж будет отображаться на оси Y как зависимая переменная, а маркетинговые платформы, в которые мы инвестировали, будут действовать как независимые переменные на оси X. Лучший способ визуализировать, какая независимая переменная имеет линейную связь с зависимой переменной, — построить парный график с помощью библиотеки seaborn.

Если есть одна предикторная переменная против целевой переменной, такая линейная регрессия называется простой линейной регрессией (SLR). И, если есть более одной переменной-предиктора по отношению к целевой переменной, такая линейная регрессия называется множественная линейная регрессия (MLR). Связь между этими переменными может быть нулевой, положительной или отрицательной. SLR предназначен для вашего общего понимания, так как одной независимой переменной недостаточно для охвата всех неопределенностей целевой переменной. Следовательно, чтобы сделать точный прогноз, вам нужно несколько переменных. Давайте начнем с создания вашего фундамента с помощью простой линейной регрессии.

Простая линейная регрессия:

SLR пытается объяснить взаимосвязь между зависимой переменной и независимой переменной, используя прямую линию на графике. Независимая переменная также известна как «переменная-предиктор», поскольку они будут предсказывать максимумы и минимумы зависимой переменной. С другой стороны, зависимая переменная также известна как «целевая переменная».

Статистика, стоящая за этим:

Чтобы рассчитать наиболее подходящий прямолинейный линейный метод, используйте формулировку формы наклона и пересечения:

Статистическая формула простой линейной регрессии:

y = m*x + c; где

y — зависимая/целевая переменная по оси Y;

x — независимая переменная/предиктор оси X;

m - наклон линии, обозначающий линейную зависимость между x и y (может быть положительным или отрицательным наклоном). Здесь значения m являются коэффициентами предиктора x. и,

с - постоянная. Константа — это точка, в которой линейная линия будет пересекаться с осью Y, когда x будет равен 0.

Интерпретация уравнения:

Значения m называются коэффициентами модели или параметрами модели. Для этой линии регрессии c — точка пересечения, а m — наклон. Это означает, что увеличение единицы x увеличит количество единиц y, или уменьшение единицы x уменьшит количество единиц y, то есть на целевую переменную будут положительно или отрицательно влиять переменные-предикторы. Кроме того, когда x равен 0, значение y определяется точкой пересечения линии с осью y.

Линия наилучшего соответствия (остаточный анализ):

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

Остаточная стоимость - это разница между фактическим значением и прогнозируемым значением, обозначенная прямой линией,

е = Yi — Yпред, где

Остаточное значение обозначается как «e», поскольку остатки — это не что иное, как расстояние между фактическими и прогнозируемыми значениями, которые обозначаются в терминах ошибок.

Yi — фактическое значение или измеренное значение, а

Ypred — прогнозируемое значение, обозначенное прямой линией.

Идея состоит в том, чтобы свести к минимуму общие ошибки для достижения минимального расстояния, возведя их в квадрат для получения наилучшей линии соответствия. Поэтому, если мы говорим, что e — это ошибка для конкретной точки данных, мы возводим в квадрат и суммируем все ошибки. Математический подход соблюдается следующим образом:

Остаток (ошибки) = фактические значения — прогнозируемые значения

Квадрат суммы остатков (ошибки, т.е. RSS) = (Сумма (фактические прогнозируемые значения)) ^ 2

i.e

Это также известно как остаточная сумма квадратов (RSS). Таким образом, наша цель состоит в том, чтобы свести к минимуму остаточную сумму квадратов (RSS), что помогло бы нам выбрать прямую линию с лучшими параметрами c (пересечение по оси y) и m (наклон линии). Если у вас есть способ минимизировать RSS, вы сможете найти наилучшие возможные значения для прямой линии.

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

Сила SLR:

После определения прямой линии нужно ответить на несколько важных вопросов.

  1. Насколько хорошо линия наилучшего соответствия представляет график?
  2. Насколько хорошо линия наилучшего соответствия предсказывает новые данные?

Обычно, что происходит? Значение, которое мы получаем в RSS, выражено в абсолютном выражении, но вместо этого нам нужны значения в относительном выражении. Как вы знаете, абсолютное является сырым и несравнимым, тогда как относительное относится к уровню жизни других классовых групп. Итак, чтобы преобразовать значение RSS, мы сначала вычисляем общую сумму квадратов (TSS), которая представляет собой не что иное, как ошибку расстояния между фактическими точками и средней линией на графике, которую мы получаем, вычисляя среднюю сумму наших фактических значений. точки. Пожалуйста, обратитесь к графику ниже.

Уравнение TSS выглядит следующим образом:

ӯ — средняя линия, представленная пунктирной линией в середине графика.

Yi представляет все точки данных относительно оси Y.

Таким образом, вся идея заключается в том, что если у вас есть линейная модель, в которой у вас нет независимых переменных, и вы просто используете значение точки пересечения, вы можете создать очень простую модель, в которой значение точки пересечения y (c) = ӯ (среднее значение всех точек данных ). Эта базовая модель, если она построена с использованием независимых переменных, должна быть лучше, чем базовая модель, в которой ӯ = c. Это становится для нас эталоном, и мы вычисляем соотношение RSS / TSS как нормализованную величину, которая говорит нам, насколько хороша модель. Вот как мы вычисляем значение R-квадрата (r2).

где RSS = остаточная сумма квадратов и

TSS = общая сумма квадратов.

Вывод = Чем выше значение R-квадрата, тем лучше модель.

Допущения линейной регрессии:

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

  1. Существует линейная зависимость между x и y:

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

2. Члены ошибок обычно распределяются со средним значением, равным нулю:

  • Если члены ошибок не распределены нормально, это означает, что значения p, полученные при построении модели, становятся ненадежными.

3. Условия ошибки не зависят друг от друга:

  • Они не должны зависеть друг от друга как временной ряд.

4. Условия ошибки должны иметь постоянную дисперсию (гомоскедастичность):

  • Дисперсия не должна увеличиваться или уменьшаться при изменении значения ошибки.
  • Кроме того, дисперсия не должна следовать какой-либо закономерности при изменении члена ошибки.
  • Изменение дисперсии известно как гетероскедастичность.

Множественная линейная регрессия:

Как видно в SLR, модель строится с использованием одной независимой переменной, но что, если у вас более одной независимой переменной. Множественная линейная регрессия необходима, когда одной переменной недостаточно для создания хорошей модели и точных прогнозов. MLR представляет отношение между двумя или более независимыми входными переменными и переменной отклика.

MLR также использует линейную модель, которую можно сформулировать очень просто. В MLR формула преобразуется следующим образом:

Идеальное уравнение MLR:

y = c + m1*x1 + m2*x2 + m3*x3 …… + mn*xn, где

- y - переменная ответа/цели.

- c - это точка пересечения с осью y, или вы можете рассматривать ее как константу.

- m1 - коэффициент для первого признака.

- mn – коэффициент для n-го признака.

Интерпретация уравнения:

Значения m называются коэффициентами модели или параметрами модели.

Увеличение на единицу m для любой конкретной переменной (x) представляет собой величину увеличения/уменьшения E(y), т.е. ожидаемого значения y или среднего значения y, когда другие предикторы остаются постоянными или одинаковыми.

Например, если у вас есть два коэффициента m1 и m2 и две независимые переменные вместе с x1 и x2, например…

m1*x1 + m2*x2, затем

Изменение m2 представляет собой величину изменения среднего отклика E(y) при увеличении x2 на единицу при условии, что x1 поддерживается постоянным или одинаковым.

Новые особенности MLR:

А. Слишком много поваров портят бульон:

Сложность модели из-за переобучения:

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

В середине он хорошо обобщает набор данных, если ввести больше таких данных, точность не упадет. Следовательно, это хорошая подгонка.

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

Мультиколлинеарность:

Это противоречит тому, что мы интерпретировали в уравнении MLR, где увеличение среднего отклика E (y), когда другие предикторы остаются постоянными, из-за увеличения одной предикторной переменной (x). Это понятие становится недействительным, поскольку многие временные значения x (переменные-предикторы) имеют сильную корреляцию между собой или сильную связь друг с другом, поэтому становится трудно оставаться постоянным.

Это влияет на способность интерпретации сделать правильный вывод о модели, поскольку p-значения становятся ненадежными.

Обнаружение мультиколлинеарности:

Проще говоря, это означает обнаружение сильных ассоциаций или корреляций между переменными-предикторами. Наиболее распространенный способ - визуализировать его, рисуя график рассеяния или график корреляции попарно между всеми переменными-предикторами, включая целевые переменные. Но этого будет недостаточно, потому что иногда одна переменная может быть связана с 2-3 другими переменными вместе. Итак, как мы это оцениваем?

Основная идея заключается в том, что какое-то уравнение может помочь нам рассчитать, насколько хорошо одна независимая переменная (x1) объясняется всеми другими независимыми переменными вместе взятыми (x2, x3, x4, ……, xN). Такое уравнение задается …

Здесь мы вычисляем модель для i-й переменной, используя другие переменные. Это называется проверкой фактора инфляции дисперсии (VIF).

Итак, когда у вас есть r2 для конкретной линейной модели, вы можете вычислить VIF. Если VIF высокий, мы уверены, что эта переменная связана с другими переменными. В соответствии с общепринятой отраслевой практикой значение VIF > 5 считается высоким и должно проверяться.

После обнаружения мультиколлинеарность может быть устранена с помощью

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

б. Преобразование исходных переменных в новые, которые взаимодействуют друг с другом, путем объединения их в одну с помощью техники разработки признаков.

Б. Выбор функций:

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

Создание фиктивных переменных:

У вас всегда будет набор данных с определенными категориальными столбцами. В таких столбцах у вас будет n предопределенных уровней категорий. Но чтобы подобрать линию регрессии, нам потребуются числовые значения, а не строковые значения. Следовательно, нам нужно преобразовать их в 1 и 0, где 1 — «Да», а 0 — «Нет». Когда у вас есть категориальная переменная, скажем, с n уровнями, идея создания фиктивной переменной заключается в создании n-1 переменных, указывающих переменные.

Давайте разберемся с этим на примере.

Предположим, у нас есть категориальная переменная «realationship_status» с тремя уровнями, а именно «холост», «в отношениях» и «замужем». Изображение такого столбца с некоторыми значениями будет выглядеть так:

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

Как видите, нет необходимости определять три разные фиктивные переменные. Если вы отбросите фиктивную переменную, скажем, «Single», вы сможете объяснить все три уровня. Это возможно с помощью параметров кодирования. Давайте еще раз посмотрим на таблицу с первой фиктивной переменной, а затем узнаем о кодировании.

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

Одноместный -› 00

В отношениях -› 10

Замужем -› 01

Выбор модели:

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

Предположим, у вас есть две разные модели с множеством функций, например, 12 переменных в одной модели и 18 переменных в другой. Как тогда сравнивать? Справедливо ли использовать r2? Поскольку модель с 18 переменными лучше определит r2. Кроме того, в некоторых случаях могут возникать опасения по поводу мультиколлинеарности.

Следовательно, между выбором двух таких моделей всегда будет компромисс между объяснением большей дисперсии и сохранением ее простоты. Существует несколько способов справиться с такой ситуацией, используемых в бизнесе, но мы рассмотрим наиболее распространенный из них, то есть «Скорректированный r2». Основная идея состоит в том, чтобы наказать модель за использование большего количества предикторов.

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

где p = количество предикторов

n = размер выборки

Конец примечаний:

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

Это образовательный пост, составленный из материалов моей магистратуры в IIIT Bangalore, которые помогли мне в моем путешествии. Если вы хотите взглянуть на проект линейной регрессии, полное тематическое исследование можно найти в этом репозитории GitHub.

- - - - Продолжение следует

Спасибо за чтение!