2013-10-26 1 views
7

Уверенность Уилсона Интервал принимает в качестве аргументов значения TRUE или FALSE, или «upvotes» и «downvotes» соответственно. Из этих голосов он генерирует рейтинг.Уверенный интервал Уилсона для 5-звездочного рейтинга

Что касается моего проекта, я думаю, что WCI идеально подходит. Тем не менее, скалярная upvote и downvote недостаточно для описания того, что я оцениваю.

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

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

1/5 звезды: -2 2/5 звезды: -1 3/5 звезды: 1 4/5 звезд: 2 5/5 звезды: 3

Чтобы суммировать приведенные выше значения. Минимальный голос 1 звезды классифицируется как 2 downvotes. Голос 2 звезды классифицируется как 1 голос. Для среднего голоса 3 звезды мы даем 1 upvote. Для 4 звезд мы даем 2 upvotes. И для максимума 5 звезд мы даем 3 upvotes.

Пожалуйста, опроверг эту логику, почему это не будет работать? Может быть, это идет вразрез с пониманием «среднего человека» звездной системы?

+1

Есть другие вещи, которые вы можете сравнить. Например, вы могли бы запускать 4 разных доверительных интервала параллельно - интервал для «по крайней мере двух звезд», для «как минимум трех звезд» ... и так далее, или вы могли бы выработать доверительный интервал для среднего числа звезд , или для среднего числа звезд. Существует множество способов сократить распределение по 5 возможностям до одного номера, и именно тот, который вы хотите, зависит от того, что вы хотите сделать с этим единственным номером. – mcdowella

ответ

2

Сначала попробуйте понять, что такое интуиция за WCI. Или, что еще проще, нормальный интервал аппроксимации (http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval).

Интуиция за всем этим интервалом расчета проста. Вы вычисляете среднее значение выборки и стандартное отклонение. Интервал - средний + -z * std.

В вашем случае вычисление среднего просто. Это среднее значение рейтингов. Предположим, что p1 - это доля 1-звездочного рейтинга, p2, ..., p5. p1 + p2 + ... + p5 = 1. И предположим, что вы вычисляете эти статистические данные, используя n выборок. среднее значение ваших данных: 1 * p1 + 2 * p2 + ... + 5 * p5.

Разница ваших данных (E (x^2) - (E (x))^2)/n = ((p1 * 1^2 + p2 * 2^2 .. + p5 * 5^2) - (1 * p1 + 2 * p2 + .. + 5 * p5)^2)/n

Поскольку std = sqrt (var), достаточно рассчитать нормальный интервал аппроксимации. Я позволю вам работать над расширением этого для WCI.

+0

Doh! Хотелось бы, чтобы я учился в колледже ... Как-то я взял все исчисления и другие математические классы, но статистику, и теперь эта нехватка знаний укусит меня в прикладе. @ElKamina, я был бы очень благодарен, если вы сможете расширить свой ответ и, надеюсь, обеспечить реализацию в Ruby (например, на этой странице http://www.evanmiller.org/how-not-to-sort-by-average-rating .html) - это будет потрясающе для всех, кто ищет ответ на использование этой 5-звездочной настройки для интервала доверия Уилсонса. –

1

Самая большая проблема с этой схемой заключается в том, что один 5-звездочный рейтинг будет весить до 3-х звездных оценок. Кроме того, предмет с 300 3-звездочными рейтингами (который должен быть посредственным счетом) будет иметь тот же балл, что и предмет со 100 рейтингами 5 звезд (что должно быть отличным счетом).

Что вы, , может быть do вычисляет доверительный интервал Wilson для каждого возможного результата. Нижняя граница каждого интервала - это вес этого счета в среднем (взвешенном) средстве.

2

Легко думать о следующем «обходном пути», который преобразует систему многократного ранжирования в бинарный рейтинг «вверх-вниз»/«вниз» (который затем может быть оценен с использованием нижней границы доверительного интервала оценки Уилсона):

Предположим, у вас популярная система оценки 5 звезд. Таким образом, у нас есть несколько голосов, каждый из которых имеет значение: 1, 2, 3, 4 или 5.

Чтобы «преобразовать» эти рейтинги вверх/вниз голоса, используйте следующее правило:

For star rating -- Add 

*  - 0.00 to up votes and 1.00 to down votes (i.e. a full down vote) 
** - 0.25 to up votes and 0.75 to down votes 
*** - 0.50 to up votes and 0.50 to down votes 
**** - 0.75 to up votes and 0.25 to down votes 
***** - 1.00 to up votes and 0.00 to down votes (i.e. a full up vote) 

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

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