Как я могу сгруппировать числовые данные в естественные «скобки»? (например, доход)

14

Ниже описано, чего я пытаюсь достичь, но возможно, что альтернативное постановление проблемы может описать мою цель:

Я хочу

  1. разделите следующие числа на группы, где дисперсии чисел в каждой группе не слишком велики, а различия между средними значениями групп не слишком малы

  2. сравните полученное в итоге распределение с «идеальным» и посмотрите, насколько оно «отличается» от идеального.


Мирянин объяснение цели

Я пытаюсь рассчитать распределение доходов и определить «скобки доходов», в которых находится каждая популяция. Предполагается, что шкала доходов будет саморегулирующейся на основе входных данных.

Моя цель - в конечном итоге измерить или рассчитать разницу между доходами. Я предполагаю, что будет много скобок, и хочу посмотреть, насколько далеко «разделен» каждый уровень.

Вот выборка почасового дохода для выборки из 20 человек с общим доходом 3587:

Population= 10                   pop=2   population=5              population =3
10, 11,13,14,14,14,14,14,15,20,  40,50  ,90,91,92,93,94      999,999,900 

Как я могу использовать математические концепции для группировки, сортировки и анализа данных, которые действуют как распределение доходов по данной группе населения?

В конце расчета я хочу определить многоуровневое распределение доходов, где идеальное распределение будет выглядеть (как-то так)

(each person makes $10 more per hour than the previous; total is 3587)
89, 99, 109, 119, 129, 139, 149, 159, 169, 179, 189, 199, 209, 219, 229, 239, 249, 259, 269, 279

или это:

(evenly distributed groups of people make the same per hour) 
(gaps between income groups is consistent and not "too far")
(income total is 3587)
99 99 99   129 129 129   159 159 159   199 199 199  229 229 229  269 269 269 

Вопрос

Как я должен проанализировать группы населения и измерить разрыв таким образом, чтобы он сказал мне, сколько нужно, чтобы сделать его более похожим на последние два набора моделей, перечисленных выше?

goodguys_activate
источник
Спасибо @svidgen за предложение публиковать здесь вместо Programmers.SE
goodguys_activate
Примечание: я получил этот отзыв, задавая этот вопрос: It may seem you are interested in cluster analysis, but the problem with real-life distributions is they are nearly continuous, and hence the straightforward clusterization won't apply.
goodguys_activate
Похоже, я нашел нечто очень похожее на то, что мне нужно ... под названием данные биннинга
goodguys_activate
Да, перенесите вопрос (и, если возможно, включите ваше лучшее объяснение из комментариев).
goodguys_activate
Ищите пробелы в распределении доходов, если вам повезет, вы можете найти (несколько искусственные) пики, которые затем сможете использовать в скобках. Это, вероятно, работает относительно хорошо для более низких доходов.
Марк Клазен

Ответы:

18

Кластерный анализ с одной переменной имеет смысл, когда есть какое-то измерение, вдоль которого можно расположить значения. Это может быть шкала измерения , время или пространство .

Учитывая упорядоченные данные в некоторой шкале измерений , может быть интересным поиск относительных разрывов в частотном распределении (антимоды в одной терминологии).

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

Время серию можно разделить на периоды, эпохи, периоды, независимо, в идеале с относительно небольших различий внутри подсерии и относительно больших различий между подсерией. Та же проблема возникает для пространства всякий раз, когда одно пространственное измерение (горизонтальное или вертикальное) должно быть подразделено. В геологических и других науках это часто изучается под названием зонирования.

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

Рассмотрим игрушечный пример значений, упорядоченных по величине:

    14 15 16 23 24 25 56 57 58 

где очевидно, что кластеризация трех групп

    14 15 16 | 23 24 25 | 56 57 58 

КNК-1К-1знак равно2N-1(N-1К-1)К2N-1N

Проблема может быть уточнена (Fisher 1958; Hartigan 1975) путем размещения маркеров, чтобы минимизировать для заданного числа групп

сумма по группам изменчивости вокруг групповых центров,

Сумма квадратов отклонений от групповых средних будет приходить на ум как наиболее очевидная возможность. Сумма абсолютных отклонений от медианы группы и другие меры вполне могут быть приняты.

Хартиган (1975) показал, как подход динамического программирования упрощает такие вычисления, и представил код на Фортране. Реализация Stata (Cox 2007) group1dдолжна быть установлена ​​из SSC.

Кокс, Нью-Джерси, 2007. GROUP1D: модуль Stata для группировки или кластеризации в одном измерении. http://ideas.repec.org/c/boc/bocode/s456844.html

Фишер, WD 1958. О группировании для максимальной однородности. Журнал, Американская статистическая ассоциация 53: 789-98.

Хартиган, JA 1975. Алгоритмы кластеризации. Нью-Йорк: Джон Уайли. Ch.6.

Постскриптум Этот подход, кажется, соответствует первой части конкретного вопроса. Я сделал это, как правило, потому что я думаю, что формулировка представляет некоторый общий интерес (и потому что мне было легко перерабатывать часть документации Cox 2007). Но если конкретная цель состоит в том, чтобы сравнить распределение доходов с эталонным равномерным распределением, я не вижу, чтобы биннинг вообще играл какую-либо роль. Это стандартная проблема в экономике, для которой кривые Лоренца и меры неравенства являются отправными точками. По сути, вы можете сравнить квантиль с квантилем или процентную точку с процентной точкой.

Ник Кокс
источник
1

Посмотрите на Jenks Natural Break:

https://en.wikipedia.org/wiki/Jenks_natural_breaks_optimization

Я думаю, что это то, что вам нужно, и есть реализации на многих языках.

ftfarias
источник
5
Хотя это может быть не сразу очевидно, это как раз и есть предположение Ника Кокса о том, что «сумма квадратов отклонений от групповых значений возникнет как наиболее очевидная возможность». Он был более общим, чем частично (я подозреваю), потому что для доходов это будет плохим решением: обычно лучше выполнить расчет в терминах журнальных доходов.
whuber