Вычисление процентилей в Excel с использованием данных «корзины» вместо самого списка данных - PullRequest
1 голос
/ 22 апреля 2010

У меня есть куча данных в Excel, из которых мне нужно получить определенную процентильную информацию. Проблема заключается в том, что вместо того, чтобы набор данных состоял из каждого значения, у меня вместо этого есть информация о количестве или данных «корзины».

Например, представьте, что мой фактический набор данных выглядит следующим образом: 1,1,2,2,2,2,3,3,4,4,4

У меня есть следующий набор данных:

Value    No. of occurrences
  1              2
  2              4
  3              2
  4              3

Есть ли простой способ для меня, чтобы вычислить процентильную информацию (а также медиану) без необходимости разбирать сводные данные до полного набора данных? (Как только я это сделал, я знаю, что могу просто использовать функцию Percentile (A1: A5, p))

Это важно, потому что мой набор данных очень большой. Если бы я взорвал данные, у меня были бы сотни тысяч строк, и мне пришлось бы сделать это для пары сотен данных наборы.

Помощь!

1 Ответ

0 голосов
/ 20 августа 2013

Медиана в вашем примере довольно проста, так как вы показываете нечетное общее число No. of occurrences. По наблюдениям, медиана в 2. Относительно последних 2 (шестое значение в последовательности) есть пять значений, меньших или равных [1,1,2,2,2], и пять значений, больших или равных [3, 3,4,4,4].

Это можно рассчитать на основе ваших сводных данных по формуле, такой как =(1+SUM(No._of_occurrences))/2, где No._of_occurences - это именованный диапазон, содержащий массив вашего числа вхождений [2,4,2,3].

Набор данных с четным числом точек данных не имеет медианы, поэтому любой результат добавления одной точки данных (скажем, 4) является подозрительным. В этом случае формула будет возвращать 6,5, причем половина указывает на недопустимый результат (есть два средних значения). Хотя, если принять довольно традиционный подход к усреднению этих двух значений, результат формулы можно интерпретировать как среднее шестого [2] и седьмого [3] значений - то есть 2,5.

Отдельные значения для вашего количества экземпляров в корзине, умноженные на 100 и разделенные на общее число экземпляров [11], дадут проценты, которые каждый бин вносит в общее количество. Совокупное их количество дает процентиль для верхнего предела каждого бина. Если взять, скажем, нижний 30-й процентиль, то это возникает во втором бине, следовательно, в данном случае это 2. Нижний 20-й и 50-й процентиль (медиана) находятся в одном бине, поэтому для них ответ также равен 2.

Это работает, потому что вы выбрали одну ячейку для каждого значения точки данных. Если бы это, как это более обычно, были диапазоны (скажем, 1-5, 6-10 и т. Д.), Тогда нижний 20-й и 50-й процентиль могли бы все еще находиться в одном и том же бункере, но не обязательно иметь одинаковое значение. Однако для определения значения требуется только дополнительная проверка содержимого этого бина, чтобы определить точное значение, а не весь ваш набор данных.

SO2691928 example

...