Як обчислити коефіцієнт джині в python (з прикладом)


Коефіцієнт Джіні , названий на честь італійського статистика Коррадо Джіні , є способом вимірювання розподілу доходів населення.

Значення коефіцієнта Джині коливається від 0 до 1, де вищі значення означають більшу нерівність доходів і де:

  • 0 означає ідеальну рівність доходів (кожен має однаковий дохід)
  • 1 означає ідеальну нерівність доходів (одна особа має весь дохід)

Ви можете знайти список коефіцієнтів Джині за країнами тут .

У наступному прикладі показано, як обчислити коефіцієнт Джіні в Python.

Приклад: розрахувати коефіцієнт Джині в Python

Щоб обчислити коефіцієнт Джині в Python, нам спочатку потрібно визначити просту функцію для обчислення коефіцієнта Джіні для масиву значень NumPy:

 import numpy as np

#define function to calculate Gini coefficient
def gini(x):
    total = 0
    for i, xi in enumerate(x[:-1], 1):
        total += np. sum (np. abs (xi - x[i:]))
    return total / (len(x)**2 * np.mean (x))

Далі ми використаємо цю функцію для розрахунку коефіцієнта Джині для таблиці значень доходу.

Наприклад, припустимо, що у нас є такий список річних доходів для 10 осіб:

Дохід: $50 000, $50 000, $70 000, $70 000, $70 000, $90 000, $150 000, $150 000, $150 000, $150 000

У наведеному нижче коді показано, як використовувати щойно створену функцію gini() , щоб обчислити коефіцієнт Джіні для цієї генеральної сукупності:

 #define NumPy array of income values
income = np. array ([50, 50, 70, 70, 70, 90, 150, 150, 150, 150])

#calculate Gini coefficient for array of incomes
gini(incomes)

0.226

Коефіцієнт Джині виявляється рівним 0,226 .

Примітка . У реальному сценарії існували б сотні тисяч різних доходів для окремих осіб у певній країні, але в цьому прикладі ми використали 10 осіб як просту ілюстрацію.

Додаткові ресурси

У наступних посібниках пояснюється, як обчислити коефіцієнт Джині за допомогою різного статистичного програмного забезпечення:

Як розрахувати коефіцієнт Джині в R
Як розрахувати коефіцієнт Джині в Excel

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *