[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Голосование без занижения/завышения оценки
BydloCoder
Как-то давно на хабре (с год назад) видел статью о написании голосования с учётом занижения/завышения оценки. Нагуглить не смог, но, так как общую мысль уловил, то решил написать простой алгоритм.


$sum = 400; // К примеру, сумма всех оценок
$count = 100; // Количество проголосовавших
$sredn = $sum/$count; // Средняя оценка
$mark = 3; // Оценка текущего пользователя

// Проверяем оценку ($mark) на занижение/завышение

if ((($sredn - 1) > $mark) || (($sredn + 1) < $mark)) {
$mark = $sredn; // Если оценка занижена/завышена, то записываем в БД среднюю оценку без учёта голоса пользователя
}

*Код не проверял, писал из головы

Внимание, вопрос: как лучше поступить:
-Если контент не набрал ни одного голоса;
-Если сначала оценки были завышены или занижены, то как поступить вдальнейшем с "честными" оценками?

Пока в голову приходит ручная модерация, но чувствую, что есть простое решение.
johniek_comp
а зачем тогда голосование?

_____________
user posted image
BydloCoder
johniek_comp,
Цитата
Если звёзды горят, значит это кому-нибудь нужно
Pulse
Считаю, что в данной задаче идеального решения нет.
Можно например делать проверку на завышение/занижение рейтинга после 100 голоса.
Ретро
Узнать какие оценки выбиваются сразу не выйдет. Сначала нужно набрать определённое количество оценок. Те же сто, как считает Pulse. Эта задача относится к такой науке как статистика. Есть статистические формулы, которые удаляют сомнительные (сильновыбивающиеся) оценки. Но даже в этих хитрых формулах всё равно есть эмпирический критерий, т.е. что является отклонением "по жизни". Как вариант можно не показывать результаты голосования, пока колебания средней величины не сведутся к минимуму. Но так первые пользователи лишаются обратной связи, что не есть хорошо. Сюда же можно добавить, что средняя величина не всегда показывает суть проблемы. Классика жанра - средняя температура в больнице. Или допустим взять голосование на тему доходов: кто-то ответит, что получает 1000 долларов в месяц, кто-то, что еле-еле набирает 350, кто-то скажет (или не скажет), что имеет 5000 в месяц как минимум. Таким образом приходим, допустим, к некой цифре в 1200 долларов в месяц на человека. А это ли мы хотели как результат исследования? Ведь интереснее углубить исследование разбив опрашиваемых на подргуппы, ставить новые цели для анализа. Сюда же можно приписать и то, что большинство не всегда право, оценивая что-то. Вообще есть разные факторы, которые показывают, что не всегда можно абстрактно оперировать цифрами, а с другой стороны могут быть примеры, когда объяснить явление статистически невозможно, но оно имеет место быть. Если нужны формулы, то рекомендую начать гуглить с таких стартовых слов: СТАТИСТИКА, СТАНДАРТНОЕ ОТКЛОНЕНИЕ, МАТЕМАТИЧЕСКОЕ ОЖИДАНИЕ. Уйти в эту тему можно с головой. Про это ни один десяток диссертаций написан.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.