Задать вопрос

Как правильно посчитать процент верности ответов?

Возникла следующая проблема:
Существует вопрос, к которому приложено 5 вариантов ответа. Верных ответов в данном вопросе 2. Необходим алгоритм для подсчета процента верности ответа, т.е.:
Человек поставил 2 верных галочки и 0 неверных - процент верности 100%.
Человек поставил 1 верную галочку и 0 неверных - процент верности 50%.
Человек поставил 1 верную галочку и 1 неверную - какой процент верности?
Человек поставил 1 верную галочку и 2 неверных - какой процент верности?

За каждую неверную галочку должен быть некоторый штраф, но как его посчитать? Если штраф будет слишком маленький, пользователю будет проще поставить все галочки, и получить свои сколько-то там процентов. Если штраф будет слишком большим, пользователь будет ставить только галочку, в которой на 100% уверен и не будет искать возможных вторых ответов.

Возможно есть какие-либо статьи или известные решения?
  • Вопрос задан
  • 9938 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Можно, конечно, за неправильные ответы вообще никакие баллы не давать, но можно поступить и так:

Пусть prav - число правильных ответов, neprav - число неправильных.

Введем обозначение: X = (prav/2 - neprav/3), Q = (X + abs(X)) * 50%

Тогда полученное значение Q - выставляемый процент. В случае, когда число неправильных ответов превышает число правильных, выставляется нулевое количество процентов.
Ответ написан
@throughtheether
human after all
Предлагаю такое решение. Вес каждого пункта одинаков (20% в случае 5 вариантов ответа). Для каждого пункта известно, должен ли он быть включен в ответ (должна ли стоять галочка). Если галочка должна стоять и пользователь ее поставил - за этот пункт баллы начисляются. Если галочка должна стоять, пользователь ее не поставил - баллы не начисляются. Аналогично для пункта, который не должен быть включен в ответ.
Пример: 5 пунктов, 1 и 2 правильные, 3,4,5 - неправильные.
1 и 2 отмечены, 3,4,5 не отмечены - 100%
1 и 2 не отмечены, 3,4,5 не отмечены - 60%
1 отмечен, 2,3,4,5 не отмечены - 80%
1,3,4 отмечены, 2,5 не отмечены - 40%
1,2 не отмечены, 3,4,5 отмечены - 0%
и так далее (всего 32 варианта).

Человек поставил 1 верную галочку и 1 неверную - какой процент верности?
20% за одну верную поставленную галочку и 40% за две верные непоставленные галочки, всего 60%
Человек поставил 1 верную галочку и 2 неверных - какой процент верности?
20% за верную поставленную галочку, 20% за одну верную непоставленную галочку, всего 40%.
Возможно есть какие-либо статьи или известные решения?
Примерно так, по-моему, реализовано тестирование в coursera.

UPD. Как я понял, вас смущает тот факт, что при некоторых свойствах ответов (количество верных/неверных) пользователь может получить средний балл, вообще не ставя галочки. Если вы считаете это проблемой, то предлагаю два решения. Первое - соответственно составлять вопросы, чтобы количество верных ответов было выше количества неверных. Второе - при старте выставить галочки в случайном порядке. В таком случае (опять же, при правильном подборе параметров) получить высокий балл ничего не делая будет сложнее.
Ответ написан
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
вот мой вариант, смотрите сколько всего отмеченных ответов, потом 100 делите на количество всех отмеченных ответов, например 100 / 4 = 25% на ответ, потом вычисляйте количество правильных ответов, если их 2, то процент правильных ответов получитсья 50%, с каждым неверным ответом уменьшается количество процентов за правильность, и штрафы не нужны, просто пользователь если накликает из 10 ответов 10, и из них будет только один правильный, то он получит 10%, а если бы отметил только 2 галочки, то получил бы 50%, если вам так нужны штрафы, то сделайте коэффицент, который будет отниматься от количества привильных ответов, допустим с каждым неправильным ответом отнимается один процент, в итоге из 10 если юзер отметит 10, то и получит 1%, т.к. 10% за правильность получил, - 9% за штрафы. как-то так)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы