Comment puis-je regrouper des données numériques en «crochets» formant naturellement? (par exemple revenu)

14

Ce qui suit décrit ce que j'essaie d'accomplir, mais il est possible qu'une autre déclaration de problème puisse décrire mon objectif:

je veux

  1. divisez les nombres suivants en groupes où les variances des nombres au sein de chaque groupe ne sont pas trop importantes et où les différences entre les moyennes des groupes ne sont pas trop faibles

  2. comparer la distribution obtenue à la fin avec les «parfaites» et voir à quel point elle est «différente» d'être parfaite.


Explication du but par Layman

J'essaie de calculer la répartition des revenus et de déterminer les «tranches de revenu» de chaque population. La tranche de revenu est censée s'ajuster d'elle-même en fonction des données d'entrée.

Mon objectif est finalement de mesurer ou de calculer la différence entre les tranches de revenus. Je suppose qu'il y aura de nombreux crochets et je veux voir dans quelle mesure chaque niveau est "séparé".

Voici un échantillon de revenu horaire pour un échantillon d'une population de 20 personnes et un revenu total de 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 

Comment puis-je utiliser des concepts mathématiques pour regrouper, trier et analyser des données qui agissent comme la répartition des revenus sur une population donnée?

À la fin du calcul, je veux déterminer la distribution des revenus à plusieurs niveaux, où une distribution parfaite ressemblerait (quelque chose) à ceci

(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

ou ca:

(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 

Question

Comment dois-je analyser les groupes de population et mesurer l'écart d'une manière qui me dira combien il faut pour le rapprocher des deux derniers ensembles de modèles énumérés ci-dessus?

goodguys_activate
la source
Merci @svidgen pour la suggestion de poster ici au lieu de Programmers.SE
goodguys_activate
Remarque: j'ai reçu ces commentaires en posant cette question: 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
Il semble que j'ai trouvé quelque chose de très similaire à ce dont j'ai besoin ... appelé binning data: msdn.microsoft.com/en-us/magazine/dn342876.aspx
goodguys_activate
Oui, veuillez migrer la question (et inclure si possible votre meilleure explication dans les commentaires).
goodguys_activate
Recherchez les écarts dans la répartition des revenus, si vous êtes chanceux, vous pouvez trouver des pics (quelque peu artificiels) que vous pouvez ensuite utiliser comme parenthèses. Cela fonctionne probablement relativement bien pour les revenus inférieurs.
Marc Claesen

Réponses:

18

L'analyse de grappe avec une seule variable est parfaitement logique chaque fois qu'il existe une dimension le long de laquelle les valeurs peuvent être organisées. Cela peut être une échelle de mesure , du temps ou de l' espace .

Étant donné les données ordonnées sur une certaine échelle de mesure , il pourrait être intéressant de rechercher des ruptures relatives dans une distribution de fréquence (antimodes, dans une terminologie).

Note de prudence: Cependant, les pauses définissant des casiers qui sont ou qui peuvent sembler arbitraires sont largement évitées dans plusieurs domaines de la science statistique, et il existe une préférence répandue et marquée pour le regroupement à intervalles égaux, et très souvent pour éviter le regroupement total lorsque cela est possible . C'est en partie une question de goût, en partie une convention: les pratiques ont changé car il devient plus facile de stocker les ensembles de données dans leur intégralité.

Une fois la série pourrait être divisée en périodes, époques, périodes, peu importe, idéalement avec des différences relativement faibles dans la sous - série et des différences relativement importantes entre les sous - série. Le même problème se pose pour l' espace chaque fois qu'une seule dimension spatiale (horizontale ou verticale) doit être subdivisée. En sciences géologiques et autres, cela est souvent étudié sous le titre de zonation.

Notez que tout regroupement formel doit toujours être accompagné d'un tracé approprié des données (par exemple, en utilisant un point ou un quantile ou un tracé en ligne), ce qui peut en effet indiquer clairement que les ruptures sont évidentes (de sorte que le regroupement formel est simplement décoratif) ou que des ruptures convaincantes n'existent pas (de sorte que le regroupement formel peut être inutile).

Prenons un exemple de jouet de valeurs classées par ordre de grandeur:

    14 15 16 23 24 25 56 57 58 

où il est évident qu'un regroupement en trois groupes

    14 15 16 | 23 24 25 | 56 57 58 

knk1k1=2n1(n1k1)k2n1n

Le problème peut être précisé (Fisher 1958; Hartigan 1975) en plaçant des marqueurs pour minimiser, pour un nombre donné de groupes, la

sum over groups of variability around group centres.

Une somme d'écarts carrés par rapport aux moyennes de groupe viendra à l'esprit comme la possibilité la plus évidente. La somme des écarts absolus par rapport aux médianes de groupe et d'autres mesures pourrait très bien être envisagée.

Hartigan (1975) a montré comment une approche de programmation dynamique rend ce calcul simple et a présenté le code Fortran. Une implémentation Stata (Cox 2007) group1ddoit être installée à partir de SSC.

Cox, NJ 2007. GROUP1D: Module Stata pour regrouper ou regrouper dans une seule dimension. http://ideas.repec.org/c/boc/bocode/s456844.html

Fisher, WD 1958. Sur le regroupement pour une homogénéité maximale. Journal, American Statistical Association 53: 789-98.

Hartigan, JA 1975. Algorithmes de clustering. New York: John Wiley. Ch.6.

Postscript Cette approche semble correspondre à la première partie de la question spécifique. Je l'ai présenté généralement parce que je pense que la formulation présente un certain intérêt général (et parce qu'il m'a été facile de recycler une partie de la documentation de Cox 2007). Mais si l'objectif spécifique est de comparer une distribution de revenu avec une distribution uniforme de référence, je ne vois pas que le binning ait un quelconque rôle à jouer. C'est un problème standard en économie pour lequel les courbes de Lorenz et les mesures des inégalités sont les points de départ. En substance, vous pouvez comparer le quantile au quantile ou le point de pourcentage au point de pourcentage.

Nick Cox
la source
1

Jetez un œil à Jenks Natural Break:

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

Je pense que c'est ce dont vous avez besoin, et il existe des implémentations dans de nombreuses langues.

ftfarias
la source
5
Bien que cela ne soit peut-être pas immédiatement évident, c'est précisément la suggestion de Nick Cox selon laquelle «une somme des écarts au carré des moyennes du groupe viendra à l'esprit comme la possibilité la plus évidente». Il était plus général que cela en partie (je suppose) parce que pour les revenus, ce sera une mauvaise solution: il vaut généralement mieux effectuer le calcul en termes de revenus logarithmiques.
whuber