В этот раз проведем анализ рейтинга пива. Данные честно взяты с Kaggle.
Проблематика:
Как глядя на данные оценки пива респондентами сказать, какое пиво лучше и насколько.
Данных предостаточно, поэтому можно безжалостно удалить строки с пропусками данных. Сразу удалим ненужные столбцы (brewery_id, review_time, beer_beerid )
Вообще - то удалять данные без переназначения переменных плохой тон. И когда то судьба меня за это накажет.
Но не сегодня...
А пока посмотрим на данные графически.
review_overal - общая оценка - большинство более 4 балов
view_aroma - оценка аромата - большинство оценок в районе 4. Но очень много оценок в от 3 и ниже. Вообще это странно и это может указывать на низкое качество сортов пива продаваемых сетевыми магазинами. В таких магазинах объем продаж будет высок даже у пива с рейтингом ниже среднего.
review_appearance - оценка внешнего вида банки - большинство оценок более 4 балов, но есть и на троечку.
review_palate - рейтинг вкуса - такая же картина как и с ароматом.
review_taste - послевкусие (если правильно перевел) такая же картина как и с ароматом. Типичная картина для Европейских лагеров. Средний вкус и аромат. Обычное "питкое пиво".
beer_abv - крепость пива большинство сортов пива имеют крепость от 5 до 10 %
Если еще раз внимательно взглянуть на графики. то можно заметить как внешний вид упаковки (review_appearance ) влияет на итоговую оценку ( сдвигая данные вправо). Но на наш анализ не про это. Мы хотим провести честную градацию на основе количества оценок. Для этого сгрупируем наши данные по сортам пива и вычислим среднюю итоговую оценку, а так же посчитаем число оценок для каждого сорта.
И построим точечный график.
Чем больше количество оценок у сорта пива, тем меньше разброс этих оценок. По сути чем популярнее пиво тем более оно стабильно в оценке. Массовые сорта нацелены на большую целевую аудиторию. В то время крафтовые сорта (менее известные марки) нравятся только отдельной группе пользователей.
Но как, все таки понять какое пиво лучше? AleSmith IPA с рейтингом 4,303 и количеством оценок 94 или Heady Topper с рейтингом 4,625, но с количеством оценок в два раза меньше? Если пример с пивом не информативе, то представьте, что вы покупаете новенький айфон и у одного продавца рейтинг 5 звезд и количество оценок 10, а другого рейтинг 4, но количество оценок 30. Кто надежнее и у кого вы купите?
Для решения этой проблемы есть метод под названием Bayesian average (Байесовское среднее). Суть метода - учет в расчетах новых оценок уже существующие данные. Так например при расчете рейтинга пива учитывать существующее среднее по всей выборки. Именно такой подход используется в составлении рейтинга фильмов на популярных медиа порталах. И именно поэтому очень сложно перебить рейтинг фильма "Побег из Шоушенка" (количество проголосовавших за этот фильм очень огромно, и оценки лежат выше среднего по всем фильмам).
Но вернемся к нашей проблеме. Вычислим скорректированный рейтинг на основе Bayesian average. И посчитаем изменение рейтинга.
Итак Bayesian average. X = (Cx + Nz)/(C+N)
где С - минимальная выборка для оценки среднего. То количесвто данных на основе которых мы можем достоверно посчитать текущее среднее. х - это среднее по существующей выборке. N - количество новых данных z - среднее новых данных.
примем за C 1000 и более оценок и посчитаем среднее
Итоговая таблица:
На графиках вино как изменился разброс. Он стал меньше. А так же пропали оценки выше 4,0 вначале графиков.
Чем меньше было число оценок и чем больше рейтинг удален от среднего тем больше была и его корректировка рейтинга. По сути там где было мало количество оценок, алгоритм присваивал среднее по существующей выборки, накладывая своеобразный "штраф" на рейтинг, условно доверяя толпе.
Ну и собственно честный рейтинг пива))
П.С.
В топ 20 лучших по скорректированному рейтингу не попали марки с количеством отзывов более 3000. Это подчеркивает одно из важных свойств метода - итоговая оценка не стремиться к среднему по выборке, а коректируется на основе среднего значения.