Байесовская статистика в основе науки о данных

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

Теорема Байеса в ее основе

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

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

В чем наш вопрос?

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

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

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

Давайте начнем осмыслять это с помощью кода.

Давай закодируем!

Как вы увидите ниже, мы проведем 100 000 «розыгрышей», вы могли бы сказать, для каждого сценария, когда мы отбираем наших 100 клиентов на предмет оттока. Первое моделирование будет представлять вероятность оттока для активных клиентов, а второе - для неактивных клиентов; с вероятностью оттока 20% и 50% соответственно.

active <- rbinom(100000, 100, .2) inactive <- rbinom(100000, 100, .5)

Если вы возьмете среднее значение числа оттока по моделированию, вы увидите, что они задерживаются около probability рядом с size. 20 и 50 соответственно.

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

hist(active)

hist(inactive)

Как уже упоминалось, вы можете видеть, что распределение сосредоточено на среднем и нормально распределено.

Теперь давайте посмотрим на сценарии, в которых моделируемый отток составлял 35 человек для каждой группы.

active_sample <- sum(active == 35) 
inactive_sample <- sum(inactive == 35)
active_sample / (active_sample + inactive_sample) 
inactive_sample / (active_sample + inactive_sample)

Здесь мы видим, что в тех случаях, когда моделирование представляло активных пользователей, только 12,6% розыгрышей приходилось на когорту активных пользователей по сравнению с 87,4% вероятностью того, что эти розыгрыши действительно были неактивными пользователями.

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

Учет распределения между симуляциями

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

Здесь мы делаем то же самое, но на этот раз мы воссоздаем разделение 80/20 между двумя группами, то есть 80% нашей клиентской базы являются активными.

active <- rbinom(80000, 100, .2) 
inactive <- rbinom(20000, 100, .5)

Теперь, когда мы проходим тот же процесс, что и раньше ...

active_sample <- sum(active == 35) 
inactive_sample <- sum(inactive == 35)
active_sample / (active_sample + inactive_sample) 
inactive_sample / (active_sample + inactive_sample)

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

Заключение

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

Читайте другие мои сообщения, уроки и идеи на datasciencelessons.com и подписывайтесь на меня в Twitter @data_lessons!