2 votos

Cálculo del coeficiente de Gini

¿Cuál es la forma más rápida (o las fórmulas) de calcular manualmente el Coeficiente de Gini de los datos de ingresos de un bin de igual tamaño?

Ejemplo: Número de individuos en el grupo: 4 4 4 4 4 Ingresos de cada grupo: 1 2 3 4 5 respectivamente.

7voto

Tim Abell Puntos 2301

Todas estas respuestas son verdaderas pero no proporcionan una solución fácil que no utilice excel/código. El Gini también se puede calcular fácilmente a mano.

El coeficiente de Gini muestra fundamentalmente la región sombreada por encima de la curva de Lorenz para obtener una medida relativa de la distancia a la que se encuentra la curva de Lorenz de la línea de igualdad. Fundamentalmente, lo que muestra es la distancia media entre las rentas, siendo 1 la renta más alta posible y 0 la más baja.

Una forma de calcularlo es simplemente calcular el área entre la línea de igualdad y la curva de Lorenz. enter image description here

Está claro que esto es bastante difícil de hacer. Por suerte, hay un método más fácil.

Gini también es igual a: (La varianza media de todas las rentas) / (2 * la media)

La varianza media de todas las rentas puede calcularse construyendo una matriz de todas las rentas y calculando después la distancia entre cada una de ellas.

Para su ejemplo:

  | 1   2   3   4   5
__|___________________
1 | 0   1   2   3   4
2 | 1   0   1   2   3
3 | 2   1   0   1   2
4 | 3   2   1   0   1
5 | 4   3   2   1   0

A continuación, sume todas las distancias dentro de la matriz para obtener la varianza total.

0 + 1 + 2 + 3 + 4 + 1 + 0 + 1 + 2 + 3 + 2 + 1 + 0 + 1 + 2 + 3 + 2 + 1 + 0 + 1 + 4 + 3 + 2 + 1 + 0 = 40.

A continuación, divídela por el número total de elementos de la matriz para obtener la varianza media.

Varianza media = 40 / 25 = 1,6.

Ahora divide la varianza media por la renta media multiplicada por dos.

Media = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3

Media*2 = 6.

Dado que el gini es igual a (La varianza media de todas las rentas) / (2 * la media):

Gini = 1,6 / 6 = .2666

Que es lo que consiguieron los demás usuarios con métodos más complicados.

2voto

Sean Puntos 152

Una de las formas más rápidas de calcular el Coeficiente de Gini para cualquier conjunto de datos es ejecutar el siguiente código:

Coeficiente de Gini y curva de Lorenz - en Python

Cuando ejecute este código, obtendrá el Coeficiente de Gini como 0,266666666667. El código también generará la curva de Lorenz.

0 votos

La pregunta se refería a cómo calcular Gini manualmente. Ejecutar el código claramente no cuenta como una solución manual.

0 votos

@TheSaint321 Estoy de acuerdo en que tu respuesta es más apropiada y responde a la pregunta con precisión, pero supongo que mi respuesta puede ser más útil para los futuros visitantes. El código funciona para cualquier entrada. Proporcionará el Coeficiente de Gini y la curva de Lorenz con un solo clic.

0 votos

Debido a la posibilidad de que los bits se pierdan, esta no es una respuesta ideal, incluso para aquellos que desean código python en lugar de un algoritmo. Esta respuesta podría mejorarse incluyendo el código (debidamente citado) en el cuerpo de la respuesta.

1voto

18Rabbit Puntos 1646

A continuación se muestra una imagen de cómo utilizar Excel para calcular los valores necesarios para obtener el Coeficiente de Gini.

enter image description here

Una vez obtenido el valor total, el Coeficiente de Gini se calcula como $1-\text{total value}$ que en este caso es $1-0.733=0.267$ redondeado a la milésima más cercana.

0 votos

La pregunta pregunta cómo calcular la respuesta manualmente. Dudo que Excel pueda hacerlo.

1 votos

No estoy de acuerdo. El proceso se explica claramente en las cabeceras. Se traduce al papel con la misma facilidad que tu respuesta se traduce al Excel.

0voto

Shane Puntos 26

Así es como se puede calcular con SQL:

with balances as (
    select '2018-01-01' as date, balance
    from unnest([1,2,3,4,5]) as balance -- Gini coef: 0.2666666666666667
    union all
    select '2018-01-02' as date, balance
    from unnest([3,3,3,3]) as balance -- Gini coef: 0.0
    union all
    select '2018-01-03' as date, balance
    from unnest([4,5,1,8,6,45,67,1,4,11]) as balance -- Gini coef: 0.625
),
ranked_balances as (
    select date, balance, row_number() over (partition by date order by balance desc) as rank
    from balances
)
SELECT date, 
    -- (1  2B) https://en.wikipedia.org/wiki/Gini_coefficient
    1 - 2 * sum((balance * (rank - 1) + balance / 2)) / count(*) / sum(balance) AS gini
FROM ranked_balances
GROUP BY date
ORDER BY date ASC
-- verify here http://shlegeris.com/gini

La explicación está aquí https://medium.com/@medvedev1088/calculating-gini-coefficient-in-bigquery-3bc162c82168

-1voto

luchonacho Puntos 7713

Una calculadora súper sencilla, suponiendo contenedores de igual tamaño, es ici . Simplemente introduzca sus datos, repartidos por comas (por ejemplo, 1,2,3,4,5 en su caso), y obtendrá el resultado, junto con un bonito gráfico.

Esto confirma que el Gini en su ejemplo es de 0,267, como sugirieron las otras dos personas.

enter image description here

0 votos

La pregunta pide una solución manual.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X