Как получить средневзвешенное для обзоров в Excel? - PullRequest
1 голос
/ 02 мая 2009

Итак, вот мой вызов. У меня есть таблица, которая выглядит так:

prod_id | pack  | value | durable | feat | ease | grade  | # of ratings
1         75      85      99        90     90     88       1
2         90      95      81        86     87     88       9
3         87      86      80        85     82     84       37
4         92      80      68        67     45     70       5
5         93      81      94        93     90     90       4
6         93      70      60        60     70     70       1

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

Весь набор данных, который у меня есть, размещает 68% продуктов в пределах 80-89 классов. Мне нужно пересчитать оценки, чтобы учесть количество оценок для продукта, поэтому продукты, которые значительно ниже общего среднего числа оценок, оцениваются ниже (и получают более низкую оценку). В основном, продукт с оценками 84 и 100 должен иметь более высокий рейтинг, чем продукт с оценкой 95 и только 5 оценок.

Надеюсь, в этом есть смысл, заранее спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 02 мая 2009

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

prod id raw grade   # ratings   weight          weighted grade
1         88          1           0.01754386      1.543859649 
2         88          9           0.157894737     13.89473684
3         84          37          0.649122807     54.52631579
4         70          5           0.087719298     6.140350877
5         90          4           0.070175439     6.315789474
6         70          1           0.01754386      1.228070175
                       57       

Не уверен, имеет ли это смысл для вашей проблемы, но он соответствует вашим требованиям. Может быть, вы можете нормализовать взвешенные оценки, чтобы идентификатор продукта № 3 равнялся 100, а остальное масштабировали.

Посмотрите на "Коллективный разум" , чтобы найти другие идеи.

1 голос
/ 02 мая 2009

Я не могу сказать точно без калькулятора, но похоже, что

Grade = AVG(pack, value, durable, feat, ease)

Если это так, то вам просто нужно определить «упасть намного ниже общего среднего числа оценок». Я буду сравнивать со стандартным отклонением от среднего значения - что может быть, а может и не быть достойным алгоритмом (я не статистика). Но это означает, что любой рейтинг равен среднему значению = 1, и вы получите +/- оттуда.

WeightedGrade = Grade * ABS((Rating - AVG(H:H)) / STDEV(H:H))
...