Что такое регрессионный анализ

Как строят прогнозы по зависимостям одних данных от других

Что такое регрессионный анализ

Сегодня расскажем о регрессионном анализе. Этот метод используется в статистике и аналитике для прогнозирования — он помогает разобраться, как один показатель зависит от другого: есть ли между ними прямая связь, косвенная, ещё какая-то более сложная зависимость или они вообще не связаны.

Понимание методов анализа полезно не только аналитикам и специалистам Data Science, но и всем, кто работает с данными.

Определение регрессионного анализа

Официальное определение звучит так:

Набор статистических методов исследования влияния одной или нескольких независимых переменных X1, X2, … Xp на зависимую переменную Y.

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

Основные понятия

Чтобы было яснее, разберём несколько основных терминов регрессионного анализа. Для наглядности рассматривать будем связь зарплаты и работы.

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

Независимая переменная, предиктор или фактор — это всё разные названия показателей, которые можно менять и следить за изменением целевой переменной. Например, можно работать больше, меньше или вообще сменить работу — и смотреть на результаты в зависимой переменной.

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

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

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

Модель регрессии — математическое уравнение, которое описывает связь независимой и зависимой переменных. В общем виде выглядит примерно так:

Y = a + bX + ϵ

Что есть что в этом уравнении:

  • Y — зависимая переменная;
  • a — свободный член;
  • b — коэффициент;
  • X — независимая переменная;
  • ϵ (читается как «эпсилон») — ошибка.

Цели и задачи регрессионного анализа

Конечной целью регрессионного анализа должен быть достоверный прогноз. Он будет заключаться в понимании: как вырастет или упадёт объём продаж, изменится ли успеваемость студентов в группе или что будет с рынком акций компании.

Для этого нужно решить несколько задач.

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

Методы регрессионного анализа

Есть несколько основных методов, которые используют для построения модели.

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

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

Линейный регрессионный анализ

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

Источник: statistics.com

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

Полиномиальный регрессионный анализ

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

Источник: en.wikipedia.org

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

Гребневый регрессионный анализ

Этот метод хорошо работает, когда у вас много переменных и некоторые из них могут быть не очень важными. Гребневая регрессия будет штрафовать модель за использование слишком больших значений переменных, чтобы упростить её. Штрафовать — значит просто ограничивать рост переменных.

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

Источник: stats.stackexchange.com

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

Метод лассо

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

Источник: stats.stackexchange.com

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

Эластичная сеть

Комбинация гребневой регрессии и метода лассо. Модель одновременно штрафует за сложность модели и отбрасывает неважные переменные.

Графики лассо и эластичной сети похожи:

Источник: pub.aimind.so

Методы гребневой регрессии, лассо и эластичной сети можно проиллюстрировать на примере укладывания чемодана:

  • Гребневая регрессия позволяет укладывать вещи более компактно.
  • Метод лассо выкидывает наименее нужные вещи.
  • Эластичная сеть совмещает оба подхода: эффективнее укладывает вещи и выбрасывает ненужные.

Этапы проведения регрессионного анализа

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

Мы расскажем о них в контексте программирования, потому что наш журнал — про разработку. Но регрессионный анализ можно проводить и вручную с использованием математических формул, если это позволяют задачи и объём данных.

Сбор и подготовка данных. Для анализа нужно подготовить все данные, с которыми будет работать модель. Чаще всего 80% из них пойдут на обучение, а ещё 20% — на финальное тестирование, чтобы убедиться в работоспособности программы. Парето тут ни при чём, это совпадение.

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

Очищенные данные нужно привести к одному виду, то есть стандартизировать. Это ускорит работу программы с ними и улучшит финальные результаты.

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

Оценка модели. После готовности модели её нужно протестировать и зафиксировать метрики. Некоторые из них показывают разницу между реальными показателями и теми, что предсказывает программа, другие измеряют скорость работы.

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

Примеры использования регрессионного анализа

Регрессионный анализ может использоваться в разных областях. Вот четыре примера.

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

Оценка эффективности маркетинга. Можно оценить, как разные маркетинговые каналы влияют на продажи, и сравнить социальные сети, имейл-рассылки, контекстную рекламу и другие площадки. Анализ поможет оптимизировать стратегию.

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

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

Различия между регрессией и корреляцией

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

Но корреляция только показывает силу и направление связи между переменными и не позволяет строить прогнозы.

  • Корреляция: «Чем больше рекламных расходов, тем выше продажи».
  • Регрессия: «Если увеличить рекламные расходы на 100 000 рублей в месяц, продажи вырастут на 500 единиц».

Применение регрессионного анализа в Data Science

Прогнозные модели — основной продукт специалистов Data Science. Поэтому регрессивный анализ здорово помогает им в этой задаче и других, например в анализе влияния на целевую переменную и оптимизации бизнес-процессов.

Вам слово

Приходите к нам в соцсети поделиться своим мнением о статье и почитать, что пишут другие. А ещё там выходит дополнительный контент, которого нет на сайте: шпаргалки, опросы и разная дурка. В общем, вот тележка, вот ВК — велком!

Обложка:

Алексей Сухов

Корректор:

Елена Грицун

Вёрстка:

Кирилл Климентьев

Соцсети:

Юлия Зубарева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
А вы читали это?
hard
[anycomment]
Exit mobile version