вторник, 7 августа 2012 г.

срединное значение






Среднее или медиана? Аналитика на практике. Маркетинг в электронной коммерции. Консультант (KPIs.ru)

Загрузка. Пожалуйста, подождите...

Среднее или медиана?

Просмотров: 7349 | 18 декабря 2006 | Комментариев: (2)

По долгу службы мне приходилось, да и приходится работать со статистическими данными. Очень часто нужно рассчитывать средние значения, например, среднее кол-во дней между покупками, среднюю сумму заказа, среднее кол-во пальцев на ногах (наверное такой показатель можно считать в зоопарке :-))... Обычно руки тянуться сразу применить функцию среднего в excel или в SQL. Но есть одно но... Строго говоря, среднее значение - это математический термин, и он имеет значение или смысл, только в случае нормального распределения. Пока предлагаю обратиться к определениям (не строгим): - берется сумма значений и делится на кол-во значений. Например, если всего покупатели оставили в кассе за день 3000$ и кол-во чеков было 100, то среднее значение одного чека (покупки) равно 3000$[сумма значений] / 100 [кол-во значений] = 30$ - значение, которое делит выборку пополам. Считается оно так. Берем все суммы чеков, записываем их в один столбец (всего получится 100 строк), сортируем (по убыванию или возрастанию), находим 50 и 51 строку, берем сумму этих двух и делим пополам. И получаем, например, 20 $. Если же у нас было бы нечетное число чеков, например 101, то нужно было бы отсортировать их значения и взять 51 чек, это и будет значение, которое делить выборку чеков пополам. Обратите внимание на то, что в выше приведенных примерах среднее равно 30$, а медиана 20$. Если я не ошибаюсь, то эти значения совпадут только для нормального (колокообразного) распределения На графике выше представлено как раз такое рапределение чеков, по оси Y отложено кол-во чеков, по оси X - сумма чеков. Как видно из графика срединное значение или вершина колокола равна около 30$. Медиана также будет равна этому значению.Рассмотрим другой случай, который чаще встречается: А вот как раз наш случай. Здесь среднее будет завышено относительно смыслового срединного значения. И значение среднего будет больше значения медианы. Также обратите внимание на выброс в районе 55$. Все это дает недостоверную картину, когда мы рассчитываем среднее и в таких случаях вместо него нужно рассчитывать медиану. Когда можно считать среднее, а не медиану (если выполняется хотя бы один пункт): Распределение частот значений (гистограмма) близко к нормальному распределению Если нужно не абсолютное значение, а следить за изменение параметра во времени (но это тоже не совсем корректно) Если тяжело рассчитать :-(. Например, в TransactSQL функции расчета медианы нет, в Excel она есть. Если лень ... -- Решение на SQL Server 2000 USE pubs; GO IF OBJECT_ID(dbo.fn_median) IS NOT NULL DROP FUNCTION dbo.fn_median; GO CREATE FUNCTION dbo.fn_median(@stor_id AS CHAR(4)) RETURNS NUMERIC(11, 1) AS BEGIN RETURN ( (SELECT MAX(qty) FROM (SELECT TOP 50 PERCENT qty FROM dbo.sales WHERE stor_id = @stor_id ORDER BY qty) AS H1) + (SELECT MIN(qty) FROM (SELECT TOP 50 PERCENT qty FROM dbo.sales WHERE stor_id = @stor_id ORDER BY qty DESC) AS H2) ) / 2. END GO SELECT stor_id, dbo.fn_median(stor_id) AS median FROM dbo.stores; GO -- Решение на SQL Server 2005 WITH salesRN AS ( SELECT stor_id, qty, ROW_NUMBER() OVER(PARTITION BY stor_id ORDER BY qty) AS rownum, COUNT(*) OVER(PARTITION BY stor_id) AS cnt FROM sales ) SELECT stor_id, CAST(AVG(1.*qty) AS NUMERIC(11, 1)) AS median FROM salesRN WHERE rownum IN ((cnt+1)/2, (cnt+2)/2) GROUP BY stor_id; GO Дополнительный материал:

Если Вам понравилась эта статья, подпишитесь на .

Ссылки для копирования:

Нет, медиана не только в случае нормального распределения равна среднему. Вообще во всех случаях когда распределение симметрично относительно среднего медиана совпадает со средним.

Зарегистрирован: -- | ICQ: -- |

Дата: 24 марта 2011 08:00

source




Комментариев нет:

Отправить комментарий