Wie kann ich numerische Daten in natürlich geformte "Klammern" gruppieren? (zB Einkommen)

14

Das Folgende beschreibt, was ich versuche, aber es ist möglich, dass eine alternative Problembeschreibung mein Ziel beschreibt:

ich will

  1. Teilen Sie die folgenden Zahlen in Gruppen ein, wobei die Varianzen der Zahlen innerhalb jeder Gruppe nicht zu groß sind und die Unterschiede zwischen den Durchschnittswerten der Gruppen nicht zu gering sind

  2. Vergleichen Sie die am Ende erhaltene Verteilung mit den "perfekten" und sehen Sie, wie "anders" es ist, wenn man nicht perfekt ist.


Zielerklärung des Laien

Ich versuche, die Einkommensverteilung zu berechnen und die "Einkommensklassen" zu bestimmen, in denen sich jede Population befindet. Die Einkommensklasse soll sich basierend auf den Eingabedaten selbst anpassen.

Mein Ziel ist es, letztendlich die Differenz zwischen den Einkommensklassen zu messen oder zu berechnen. Ich gehe davon aus, dass es viele Klammern geben wird, und möchte sehen, wie weit die einzelnen Ebenen voneinander entfernt sind.

Hier ist eine Stichprobe des Stundeneinkommens für eine Stichprobe von 20 Einwohnern und eines Gesamteinkommens von 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 

Wie kann ich mathematische Konzepte verwenden, um Daten zu gruppieren, zu sortieren und zu analysieren, die sich wie eine Einkommensverteilung über eine bestimmte Population verhalten?

Am Ende der Berechnung möchte ich die gestufte Einkommensverteilung bestimmen, bei der eine perfekte Verteilung (so etwas) so aussehen würde

(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

oder dieses:

(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 

Frage

Wie soll ich die Bevölkerungsgruppen analysieren und die Lücke so messen, dass ich weiß, wie viel benötigt wird, um sie den beiden oben aufgeführten Modellgruppen ähnlicher zu machen?

goodguys_activate
quelle
Vielen Dank an @svidgen für den Vorschlag, anstelle von Programmers.SE
goodguys_activate
Hinweis: Ich habe dieses Feedback erhalten, als ich diese Frage gestellt habe: 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
Ich habe anscheinend etwas gefunden, das dem sehr ähnlich ist, was ich brauche ... Binning-Daten: msdn.microsoft.com/en-us/magazine/dn342876.aspx
goodguys_activate
Ja, bitte migrieren Sie die Frage (und geben Sie nach Möglichkeit eine bessere Erklärung aus den Kommentaren an).
goodguys_activate
Suchen Sie nach Lücken in der Einkommensverteilung. Wenn Sie Glück haben, können Sie (etwas künstliche) Spitzen finden, die Sie dann als Klammern verwenden können. Dies funktioniert wahrscheinlich relativ gut für niedrigere Einkommen.
Marc Claesen

Antworten:

18

Eine Clusteranalyse mit einer einzelnen Variablen ist immer dann sinnvoll, wenn es eine Dimension gibt, entlang derer Werte angeordnet werden können. Dies kann eine Messskala , Zeit oder Raum sein .

Bei geordneten Daten auf einer bestimmten Messskala besteht möglicherweise Interesse an der Suche nach relativen Brüchen innerhalb einer Häufigkeitsverteilung (Antimoden in einer Terminologie).

Vorsichtshinweis: Pausen, die Klassen definieren, die willkürlich sind oder scheinen, werden in verschiedenen Bereichen der statistischen Wissenschaft weitgehend vermieden, und es besteht eine weit verbreitete und ausgeprägte Präferenz für eine Klasseneinteilung mit gleichen Intervallen und sehr oft für die Vermeidung einer Klasseneinteilung, wenn dies möglich ist . Dies ist zum Teil Geschmackssache, zum Teil Konvention: Die Praktiken haben sich verschoben, da es einfacher wird, Datensätze in ihrer Gesamtheit zu speichern.

Eine Zeitreihe kann in Zauber, Epochen, Zeiten, was auch immer, im Idealfall mit relativ kleinen Unterschiede innerhalb Sub - Serie und relativ große Unterschiede zwischen den Sub - Serie unterteilt werden. Dasselbe Problem ergibt sich für den Raum, wenn eine einzelne räumliche Dimension (horizontal oder vertikal) unterteilt werden soll. In den geologischen und anderen Wissenschaften wird dies häufig unter der Überschrift Zonierung untersucht.

Beachten Sie, dass jedes formale Clustering immer von einem geeigneten Plotten der Daten begleitet werden sollte (z. B. unter Verwendung eines Punkt-, Quantil- oder Liniendiagramms), was in der Tat klar machen kann, dass Brüche offensichtlich sind (so dass formales Clustering nur dekorativ ist) oder dass überzeugende Pausen gibt es nicht (so dass formales Clustering möglicherweise sinnlos ist).

Betrachten Sie ein Spielzeugbeispiel für Werte, die nach Größe sortiert sind:

    14 15 16 23 24 25 56 57 58 

wo es offensichtlich ist, dass ein Drei-Gruppen-Clustering

    14 15 16 | 23 24 25 | 56 57 58 

knk-1k-1=2n-1(n-1k-1)k2n1n

Das Problem kann präzisiert werden (Fisher 1958; Hartigan 1975), indem Markierungen angebracht werden, um für eine gegebene Anzahl von Gruppen die

sum over groups of variability around group centres.

Eine Summe der quadratischen Abweichungen von den Gruppenmitteln wird als die offensichtlichste Möglichkeit in den Sinn kommen. Die Summe der absoluten Abweichungen von den Gruppenmedianen und anderen Messgrößen kann durchaus berücksichtigt werden.

Hartigan (1975) zeigte, wie ein dynamischer Programmieransatz eine solche Berechnung einfach macht, und präsentierte Fortran-Code. Eine Stata-Implementierung (Cox 2007) group1dmuss von SSC installiert werden.

Cox, NJ 2007. GROUP1D: Datenmodul zum Gruppieren oder Gruppieren in einer Dimension. http://ideas.repec.org/c/boc/bocode/s456844.html

Fisher, WD 1958. Zur Gruppierung für maximale Homogenität. Journal, American Statistical Association 53: 789 & ndash; 98.

Hartigan, JA 1975. Clustering-Algorithmen. New York: John Wiley. Ch.6.

Postscript Dieser Ansatz scheint dem ersten Teil der spezifischen Frage zu entsprechen. Ich habe es allgemein aufgeschlagen, weil ich denke, dass die Formulierung von allgemeinem Interesse ist (und weil es mir leicht gefallen ist, einen Teil der Dokumentation von Cox 2007 zu recyceln). Aber wenn das spezifische Ziel darin besteht, eine Einkommensverteilung mit einer Referenzgleichverteilung zu vergleichen, sehe ich nicht, dass das Binning überhaupt eine Rolle spielt. Das ist ein Standardproblem in der Wirtschaft, für das Lorenzkurven und Ungleichungsmaße die Ausgangspunkte sind. Im Wesentlichen können Sie Quantil mit Quantil oder Prozentpunkt mit Prozentpunkt vergleichen.

Nick Cox
quelle
1

Werfen Sie einen Blick auf Jenks Natural Break:

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

Ich denke, es ist das, was Sie brauchen, und es gibt Implementierungen in vielen Sprachen.

ftfarias
quelle
5
Auch wenn dies möglicherweise nicht sofort ersichtlich ist, ist dies genau der Vorschlag von Nick Cox, dass "eine Summe der quadratischen Abweichungen vom Gruppenmittel die naheliegendste Möglichkeit ist". Er war zum Teil allgemeiner (ich vermute), weil dies für die Einkommen eine schlechte Lösung sein wird: Normalerweise ist es besser, die Berechnung in Bezug auf die Log-Einkommen durchzuführen.
Whuber