¿Cómo puedo agrupar datos numéricos en "paréntesis" formando naturalmente? (por ejemplo, ingresos)

14

A continuación se describe lo que estoy tratando de lograr, pero es posible que una declaración alternativa del problema pueda describir mi objetivo:

quiero

  1. divida los siguientes números en grupos donde las variaciones de los números dentro de cada grupo no sean demasiado grandes y las diferencias entre los promedios de los grupos no sean demasiado pequeñas

  2. compare la distribución obtenida al final con las "perfectas" y vea cuán "diferente" es de ser perfecta.


Explicación de la meta del laico

Estoy tratando de calcular la distribución del ingreso y determinar los "niveles de ingresos" en los que se encuentra cada población. Se supone que el nivel de ingresos se autoajusta en función de los datos de entrada.

Mi objetivo es, en última instancia, medir o calcular la diferencia entre los niveles de ingresos. Supongo que habrá muchos corchetes, y quiero ver qué tan "separados" están cada nivel.

Aquí hay una muestra de ingresos por hora para un conjunto de muestras de una población de 20, y un ingreso 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 

¿Cómo puedo usar conceptos matemáticos para agrupar, ordenar y analizar datos que actúan como la distribución del ingreso en una población determinada?

Al final del cálculo, quiero determinar la distribución de ingresos escalonada, donde una distribución perfecta se vería (algo) así

(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

o esto:

(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 

Pregunta

¿Cómo debería analizar los grupos de población y medir la brecha de una manera que me diga cuánto se necesita para que se parezca más a los dos últimos conjuntos de modelos enumerados anteriormente?

goodguys_activate
fuente
Gracias @svidgen por la sugerencia de publicar aquí en lugar de Programmers.SE
goodguys_activate
Nota: Recibí este comentario al hacer esta pregunta: 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
Parece que he encontrado algo muy similar a lo que necesito ... llamado datos de binning: msdn.microsoft.com/en-us/magazine/dn342876.aspx
goodguys_activate
Sí, migre la pregunta (e incluya su mejor explicación de los comentarios si es posible).
goodguys_activate
Busque brechas en la distribución de los ingresos, si tiene suerte puede encontrar picos (algo artificiales) que luego puede usar como paréntesis. Esto probablemente funciona relativamente bien para menores ingresos.
Marc Claesen

Respuestas:

18

El análisis de conglomerados con una sola variable tiene mucho sentido siempre que haya alguna dimensión a lo largo de la cual se puedan organizar los valores. Esto podría ser una escala de medición , tiempo o espacio .

Dados los datos ordenados en alguna escala de medición , puede haber interés en buscar rupturas relativas dentro de una distribución de frecuencia (antimodos, en una terminología).

Nota de precaución: Sin embargo, los saltos que definen contenedores que son, o que pueden parecer, arbitrarios son ampliamente rechazados en varias áreas de la ciencia estadística, y existe una preferencia generalizada y marcada por el binning con intervalos iguales, y muy a menudo por evitar el binning por completo cuando sea posible. . Esto es en parte una cuestión de gustos, en parte una de convención: las prácticas han cambiado a medida que se hace más fácil almacenar conjuntos de datos en su totalidad.

Una serie temporal podría dividirse en hechizos, épocas, períodos, lo que sea, idealmente con diferencias relativamente pequeñas dentro de las subseries y diferencias relativamente grandes entre las subseries. El mismo problema surge para el espacio cada vez que se subdivide una sola dimensión espacial (horizontal o vertical). En geología y otras ciencias, esto a menudo se estudia bajo el título de zonificación.

Tenga en cuenta que cualquier agrupación formal siempre debe ir acompañada de una representación gráfica adecuada de los datos (por ejemplo, utilizando un gráfico de puntos o cuartiles o líneas), lo que de hecho puede dejar claro que los saltos son obvios (de modo que la agrupación formal es meramente decorativa) o que No existen pausas convincentes (por lo que la agrupación formal puede no tener sentido).

Considere un ejemplo de juguete de valores ordenados por magnitud:

    14 15 16 23 24 25 56 57 58 

donde es evidente que una agrupación de tres grupos

    14 15 16 | 23 24 25 | 56 57 58 

knortek-1k-1=2norte-1(norte-1k-1)k2norte-1norte

El problema se puede precisar (Fisher 1958; Hartigan 1975) colocando marcadores para minimizar, para un número dado de grupos, el

suma sobre grupos de variabilidad alrededor de centros grupales.

Una suma de desviaciones al cuadrado de los medios grupales surgirá como la posibilidad más obvia. La suma de las desviaciones absolutas de las medianas grupales, y otras medidas, bien podrían considerarse.

Hartigan (1975) mostró cómo un enfoque de programación dinámica hace que dicho cálculo sea sencillo y presentó el código Fortran. Se group1ddebe instalar una implementación Stata (Cox 2007) desde SSC.

Cox, NJ 2007. GROUP1D: Módulo Stata para agrupar o agrupar en una dimensión. http://ideas.repec.org/c/boc/bocode/s456844.html

Fisher, WD 1958. Sobre la agrupación para la máxima homogeneidad. Revista, Asociación Americana de Estadística 53: 789-98.

Hartigan, JA 1975. Algoritmos de agrupamiento. Nueva York: John Wiley. Ch.6.

Postdata Este enfoque parece coincidir con la primera parte de la pregunta específica. Lo he presentado en general porque creo que la formulación es de algún interés general (y porque me fue fácil reciclar parte de la documentación de Cox 2007). Pero si el objetivo específico es comparar una distribución de ingresos con una distribución uniforme de referencia, no veo que binning tenga ningún papel que jugar. Ese es un problema estándar en economía para el que las curvas de Lorenz y las medidas de desigualdad son los puntos de partida. En esencia, puede comparar cuantil a cuantil o punto porcentual a punto porcentual.

Nick Cox
fuente
1

Echa un vistazo a Jenks Natural Break:

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

Creo que es lo que necesitas, y hay implementaciones en muchos idiomas.

ftfarias
fuente
55
Aunque podría no ser inmediatamente evidente, esta es precisamente la sugerencia de Nick Cox de que "una suma de desviaciones cuadradas de los medios grupales surgirá como la posibilidad más obvia". Estaba siendo más general que eso en parte (sospecho) porque para los ingresos, esta será una mala solución: generalmente es mejor realizar el cálculo en términos de ingresos log.
whuber