Jak obliczyć współczynnik giniego w pythonie (z przykładem)


Nazwany na cześć włoskiego statystyka Corrado Giniego , współczynnik Giniego jest sposobem pomiaru rozkładu dochodów populacji.

Wartość współczynnika Giniego waha się od 0 do 1, gdzie wyższe wartości oznaczają większą nierówność dochodów i gdzie:

  • 0 oznacza idealną równość dochodów (wszyscy mają taki sam dochód)
  • 1 oznacza idealną nierówność dochodów (jedna osoba ma cały dochód)

Listę współczynników Giniego według krajów znajdziesz tutaj .

Poniższy przykład pokazuje, jak obliczyć współczynnik Giniego w Pythonie.

Przykład: oblicz współczynnik Giniego w Pythonie

Aby obliczyć współczynnik Giniego w Pythonie, musimy najpierw zdefiniować prostą funkcję obliczającą współczynnik Giniego dla tablicy wartości 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))

Następnie użyjemy tej funkcji do obliczenia współczynnika Giniego dla tabeli wartości dochodów.

Załóżmy na przykład, że mamy następującą listę rocznych dochodów 10 osób:

Dochód: 50 000 USD, 50 000 USD, 70 000 USD, 70 000 USD, 70 000 USD, 90 000 USD, 150 000 USD, 150 000 USD, 150 000 USD, 150 000 USD

Poniższy kod pokazuje, jak użyć właśnie utworzonej funkcji gini() do obliczenia współczynnika Giniego dla tej populacji:

 #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

Współczynnik Giniego wynosi 0,226 .

Uwaga : w scenariuszu ze świata rzeczywistego w danym kraju istniałyby setki tysięcy różnych dochodów osób, ale w tym przykładzie jako prostą ilustrację wykorzystaliśmy 10 osób.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak obliczyć współczynnik Giniego przy użyciu różnych programów statystycznych:

Jak obliczyć współczynnik Giniego w R
Jak obliczyć współczynnik Giniego w Excelu

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *