Как оценивать объекты в массиве по кривой колокола от 1 до 10 с шагом 0,5 только с кривой колокола, генерируемой вокруг среднего значения - PullRequest
1 голос
/ 09 июля 2019

У меня есть массив объектов, где каждый объект выглядит так:

{
  name: "John Doe",
  score: ""
}

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

[{name: "John Doe", score: ""}, {name: "Jane Doe", score: ""}, ..., {name: "Adam Smith", score: ""}]

У Джона Доу будет самый высокий балл из всех, а у Адама Смита будет самый низкий балл.

Цель состоит в том, чтобы взять в качестве входных данных средний балл и все, что необходимо, например, стандартное отклонение, и оценить всех в массиве по кривой колокола вокруг этого среднего, где оценки представляют собой приращения 0,5, чтобы они шли 1 , 1,5, 2, 2,5, ..., 9,5, 10. Это должно работать на больших массивах, содержащих до сотен элементов.

1 Ответ

2 голосов
/ 09 июля 2019

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

enter image description here

, где x - случайное значение от 0 до 1, μ - желаемое среднее значение, а σ - желаемое стандартное отклонение.есть вероятные библиотеки статистики для javascript, которые имеют готовую функцию norminv.

, поэтому вы будете запускать эту функцию столько раз, сколько вам нужно для количества записей, которые вы хотите заполнить, используя генератор случайных чисел (0-1) в качестве входных данных для x, а также желаемого среднего и стандартного значения dev, затем отсортируйте полученные значения и добавьте их в свои записи.результаты должны хорошо вписываться в кривую колокольчика.

Что касается квантования с шагом 0,5, вам может потребоваться просто использовать некоторую форму округления для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...