ник: Altu
По поводу необходимости такой функции: мое мнение - на сайт скинуть можно.
Суть медианы состоит в следующем. Предположим, есть числовой ряд значений. Медиана разбивает числовой ряд значений на две части таким образом, что половина значений числового ряда меньше медианы, а другая половина - больше. Ее применяют в статистических расчетах, в тех случаях когда среднее арифметическое не будет являтся достаточно точным описанием среднестатистического значения. Поясняю: среднее арифметическое значение хорошо в случае однородности числового ряда, но в других случаях оно не является идеальным критерием оценки среднестатистического значения, так как оно в значительной мере подвержено влиянию максимумов и минимумов.
Например: есть числовой ряд: 1 2 3 1000 10000
Медиана равна 3, а среднее арифметическое равно 2201.
Если бы ряд был однороден (1 2 3 4 5), то медиана и ср.ар были бы равны.
Таким образом медиана часто используется для определения среднестатистического значения по причине своей относительной стабильности.
Конкретный пример:
ВЫ - работодатель и хотите взять на работу мерчендайзера, но не знаете сколько ему платить. Вы обращаетесь за помощью к Кадровому агентству, которое для Вас проводит обзор заработных плат в городе и определяет среднестатистическую зарплату мерчендайзера.
В городе всего 5 предприятий, где работают мерчендайзеры.
На 1 предприятии мерчендайзерам платят 5000 рублей, на 2 - 5000, на 3 - 6000, на 4 - 6000, а на 5 работает всего один уникум, которому платят 30000.
Если Кадровое агенство будет определять зарплату по среднему арифметическому значению, то по такому варианту примерная зарплата мерчендайзера в городе будет равна 10400 рублей (5000+5000+6000+6000+30000=10400).
А если Кадровое агенство посчитает по медиане, то получит среднестатистическую зарплату мерчендайзера - 6000.
Очевидно, что наиболее ближе к действительности, что среднестатистическая зарплата мерчендайзера равна 6000. Это и есть стоимость профессии на рынке труда города, а не 10400.
Понятно, что для работодателя предпочтительнее, если Кадровое агенство даст ему информацию, что мерчендайзер в городе получает примерно 6000.
Наряду с медианой используются квартильные, децильные и процентильные значения.
Первый квартиль отделяет первую четверть расположенных в возрастающем порядке значений числового ряда.
Третий квартиль отделяет последнюю четверть расположенных в возрастающем порядке значений числового ряда.
Второй квартиль = медиана.
Нижний дециль - это параметр, отделяющий 10% наименьших значений числового ряда.
Верхний дециль отделяет 10% наибольших значений числового ряда.
Таким образом, дециль «обрезает» верхние и нижние 10% статистического материала, отображая нижние и верхние пределы точнее, чем непосредственно «минимум» или
«максимум», которые могут быть как чрезвычайно низки, так и предельно высоки.
Данные в квартилях считаются статистически надежными, так как они представляют собой средние 50% статистического материала (т.е., 50% значений между первым и третьим
квартилем).
С процентилями аналогично. Например третий процентиль отделяет 3% наименьших значений числового ряда, а 98 процентиль - 2% наибольших значений числового ряда.
10 процентиль = нижнему децилю.
25 процентиль = первому квартилю.
50 процентиль = второму квартилю = медиане.
Не знаю понятно объяснил или нет?
Хорошо бы сделать функцию, вычисляющую заданный процентиль, аналогично DMedian. Только добавить четвертый параметр, указывающий, какой процентиль нужно посчитать и выложить на сайт.