Jak pogrupować dane liczbowe w naturalnie tworzące się „nawiasy”? (np. dochód)

14

Poniżej opisano, co próbuję osiągnąć, ale możliwe jest, że mój alternatywny opis problemu może opisać mój cel:

chcę

  1. podziel następujące liczby na grupy, w których wariancje liczb w ramach każdej grupy nie są zbyt duże, a różnice między średnimi grup nie są zbyt małe

  2. porównaj ostatecznie otrzymany rozkład z „idealnymi” i zobacz, jak „różni się” od bycia doskonałym.


Wyjaśnienie laika dotyczące celu

Próbuję obliczyć rozkład dochodów i określić „przedziały dochodów”, w których mieści się każda populacja. Ten przedział dochodów powinien sam się dostosowywać na podstawie danych wejściowych.

Moim celem jest ostatecznie zmierzenie lub obliczenie różnicy między przedziałami dochodów. Zakładam, że będzie wiele nawiasów i chcę zobaczyć, jak daleko „od siebie” są poszczególne poziomy.

Oto próbka godzinowego dochodu dla zestawu populacji liczącego 20 osób i łącznego dochodu 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 

Jak korzystać z pojęć matematycznych do grupowania, sortowania i analizowania danych, które działają jak podział dochodu w danej populacji?

Na koniec obliczeń chcę ustalić rozkład dochodów wielopoziomowych, w którym idealny rozkład wyglądałby (coś) w ten sposób

(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

albo to:

(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 

Pytanie

Jak powinienem przeanalizować grupy populacji i zmierzyć lukę w sposób, który powie mi, ile potrzeba, aby upodobnić ją do dwóch ostatnich zestawów modeli wymienionych powyżej?

goodguys_activate
źródło
Dzięki @svidgen za sugestię opublikowania tutaj zamiast Programmers.SE
goodguys_activate 15.08.13
Uwaga: Otrzymałem tę opinię, zadając to pytanie: 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
Wydaje mi się, że znalazłem coś bardzo podobnego do tego, czego potrzebuję ... o nazwie binning data: msdn.microsoft.com/en-us/magazine/dn342876.aspx
goodguys_activate 15.08.2013
Tak, przeprowadź migrację pytania (i jeśli to możliwe, dołącz swoje lepsze wyjaśnienia do komentarzy)
goodguys_activate 16.08.13
Poszukaj luk w rozkładzie dochodów, jeśli masz szczęście, możesz znaleźć (nieco sztuczne) szczyty, których możesz użyć jako nawiasów. Prawdopodobnie działa to stosunkowo dobrze w przypadku niższych dochodów.
Marc Claesen,

Odpowiedzi:

18

Analiza skupień za pomocą jednej zmiennej ma sens, gdy istnieje pewien wymiar, wzdłuż którego można ustawić wartości. Może to być skala pomiarowa , czas lub przestrzeń .

Biorąc pod uwagę uporządkowane dane w pewnej skali pomiarowej , może być zainteresowanie poszukiwaniem względnych przerw w rozkładzie częstotliwości (antymody, w jednej terminologii).

Uwaga: Przerwy definiujące pojemniki, które są lub mogą się wydawać arbitralne, są szeroko pomijane w kilku obszarach nauk statystycznych, i istnieje powszechna i wyraźna preferencja binowania w równych odstępach czasu i bardzo często unikanie binowania całkowicie, jeśli to możliwe . Jest to częściowo kwestia gustu, a częściowo konwencji: praktyki uległy zmianie, ponieważ przechowywanie zestawów danych w całości staje się łatwiejsze.

Czas seria mogła być podzielona na czary, epok, okresów, cokolwiek, najlepiej przy stosunkowo niewielkich różnic w obrębie podserii i stosunkowo dużych różnic między podserii. Ten sam problem pojawia się w przypadku przestrzeni za każdym razem, gdy ma zostać podzielony pojedynczy wymiar przestrzenny (poziomy lub pionowy). W naukach geologicznych i innych jest to często badane pod nazwą strefowania.

Należy pamiętać, że każdemu formalnemu grupowaniu należy zawsze towarzyszyć odpowiednie wykreślanie danych (na przykład przy użyciu wykresu kropkowego, kwantylowego lub liniowego), co może rzeczywiście wyjaśnić, że przerwy są oczywiste (tak, że formalne grupowanie jest jedynie dekoracyjne) lub że przekonujące przerwy nie istnieją (więc formalne grupowanie może być bezcelowe).

Rozważ zabawkowy przykład wartości uporządkowanych według wielkości:

    14 15 16 23 24 25 56 57 58 

gdzie jest oczywiste, że klaster składa się z trzech grup

    14 15 16 | 23 24 25 | 56 57 58 

knk1k1=2n1(n1k1)k2n1n jest to duża liczba.

Problem można sprecyzować (Fisher 1958; Hartigan 1975) poprzez umieszczenie znaczników w celu zminimalizowania, dla danej liczby grup,

sum over groups of variability around group centres.

Suma kwadratowych odchyleń od średnich grupowych pojawi się jako najbardziej oczywista możliwość. Suma absolutnych odchyleń od median grupowych i innych mierników mogłaby być zapewniona.

Hartigan (1975) pokazał, jak dynamiczne podejście programistyczne upraszcza takie obliczenia i przedstawił kod Fortran. Implementacja Stata (Cox 2007) togroup1d zostać zainstalowana z SSC.

Cox, NJ 2007. GROUP1D: Moduł Stata do grupowania lub grupowania w jednym wymiarze. http://ideas.repec.org/c/boc/bocode/s456844.html

Fisher, WD 1958. W sprawie grupowania w celu uzyskania maksymalnej jednorodności. Journal, American Statistics Association 53: 789-98.

Hartigan, JA 1975. Algorytmy grupowania. Nowy Jork: John Wiley. Rozdz.6

Postscriptum To podejście wydaje się pasować do pierwszej części konkretnego pytania. Rozłożyłem go ogólnie, ponieważ uważam, że sformułowanie to jest przedmiotem ogólnego zainteresowania (i ponieważ łatwo było mi przetworzyć część dokumentacji Cox 2007). Ale jeśli konkretnym celem jest porównanie rozkładu dochodu z referencyjnym rozkładem jednolitym, nie widzę, aby binning miał jakąkolwiek rolę do odegrania. Jest to standardowy problem w ekonomii, dla którego krzywe Lorenza i miary nierówności są punktami wyjścia. Zasadniczo można porównać kwantyl do kwantyla lub punkt procentowy do punktu procentowego.

Nick Cox
źródło
1

Spójrz na Jenks Natural Break:

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

Myślę, że to jest to, czego potrzebujesz, a są implementacje w wielu językach.

ftfarias
źródło
5
Chociaż może nie być to od razu oczywiste, jest to dokładnie sugestia Nicka Coxa, że ​​„suma kwadratowych odchyleń od średnich grupowych pojawi się jako najbardziej oczywista możliwość”. Był bardziej ogólny niż częściowo (podejrzewam), ponieważ w przypadku dochodów będzie to złe rozwiązanie: zwykle lepiej jest wykonać obliczenia pod względem dochodów z dzienników.
whuber