2009-05-01 1 views
1

Итак, вот мой вызов. У меня есть таблица, которая выглядит следующим образом:Как получить средневзвешенное значение для отзывов в Excel?

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 рейтингами.

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

+1

Как это связано даже с дистанционным программированием? Статистический анализ, да. – 2009-05-01 22:41:42

+0

Ну, я пытаюсь выяснить логику в Excel, чтобы воспроизвести результаты в PHP/MySQL. – 2009-05-01 22:45:05

+2

Итак, VBA больше не считается программированием? Джоулю будет грустно, но я доволен этим. ;) –

ответ

1

Я не могу точно сказать, без калькулятора, но это выглядит как

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

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

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

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

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 и уменьшит остальное.

Посмотрите на "Collective Intelligence" для некоторых других идей.

Смежные вопросы