De Lorenzcurve: een geweldige manier om ongelijkheid te visualiseren
Visualiseer ongelijkheid in één oogopslag met de Lorenzcurve. Ontdek hoe je Lorenzcurves maakt en interpreteert met Python om ongelijkheid te analyseren in inkomen, misdaad en andere realistische datasets.
Ongelijkheid raakt bijna elk aspect van het leven: inkomen, vermogen, gezondheid, onderwijs en zelfs hoe hulpbronnen in ecosystemen worden verdeeld. Maar hoe meten we het eigenlijk? Een van de krachtigste tools die ik heb gevonden om ongelijkheid te visualiseren is de Lorenzcurve.
Hoewel hij vaak wordt gebruikt om inkomensongelijkheid te meten, is de Lorenzcurve niet alleen voor economen. In de loop der tijd is het een veelzijdige tool geworden om gezondheidsverschillen te onderzoeken, biodiversiteit te bestuderen en zelfs in machine learning om eerlijkheid in voorspellende modellen te beoordelen. Voor data scientists is het een geweldige manier om een verhaal te vertellen over ongelijkheid in een dataset.
In deze tutorial laat ik je zien hoe de Lorenzcurve werkt. We bespreken hoe je hem maakt met jouw dataset, met Python, en je leert hoe je hem in je eigen projecten gebruikt. Of je nu inkomensongelijkheid wilt kwantificeren, klantsegmentatie wilt analyseren of hulpbrontoewijzing wilt onderzoeken, de Lorenzcurve kan je helpen deze complexe ideeën met een eenvoudige visual te communiceren.
De Lorenzcurve begrijpen
De Lorenzcurve werd in 1905 geïntroduceerd door econoom Max O. Lorenz. Het werkt door de daadwerkelijke verdeling van een hulpbron te vergelijken met een hypothetische lijn van perfecte gelijkheid (een lijn waar iedereen een gelijk aandeel heeft). Hoe verder de curve van deze lijn van perfecte gelijkheid afbuigt, hoe groter de ongelijkheid in de verdeling van die specifieke hulpbron.
Structuur van de Lorenzcurve
De Lorenzcurve heeft een eenvoudige structuur. Op de x-as plotten we het cumulatieve aandeel van de bevolking, beginnend met het armste individu en oplopend naar het rijkste. De y-as toont het cumulatieve aandeel van de gemeten hulpbron.
Vervolgens voegen we de lijn van perfecte gelijkheid toe, een diagonale lijn van linksonder naar rechtsboven. Deze lijn staat voor een scenario waarin iedereen een gelijk aandeel heeft van de hulpbron waarin we geïnteresseerd zijn.
De Lorenzcurve zelf toont de daadwerkelijke verdeling van de hulpbron. Hoe verder de curve weg buigt van de lijn van perfecte gelijkheid, hoe groter de ongelijkheid die hij weergeeft.
Hoe de Lorenzcurve te interpreteren
Als de Lorenzcurve dicht bij de diagonale lijn van perfecte gelijkheid ligt, betekent dit dat de hulpbron vrij gelijkmatig is verdeeld. In een samenleving waar bijvoorbeeld de onderste 50% van de bevolking ongeveer 50% van het inkomen heeft, zal de Lorenzcurve dichter bij de diagonaal liggen. Deze ondiepe curve duidt op lage ongelijkheid.
Aan de andere kant, als de curve ver weg buigt van de diagonaal, wijst dat op hoge ongelijkheid. Dit kan gebeuren als bijvoorbeeld de onderste 50% van de bevolking slechts 10% van het inkomen heeft, terwijl de bovenste 10% de rest heeft.
Hoe maak je een Lorenzcurve
Laten we samen een Lorenzcurve opbouwen met een eenvoudig voorbeeld. Stel dat we de inkomensverdeling van een kleine populatie analyseren.
Stap 1: Sorteer de data
De eerste stap is om de gegevens in oplopende volgorde te zetten. In dit voorbeeld hebben we de volgende inkomenswaarden voor vijf individuen in een populatie: $20, $30, $50, $80, $100.
We sorteren deze waarden van klein naar groot. Dit zorgt ervoor dat de cumulatieve percentages die we later berekenen logisch zijn. Hier is de gesorteerde tabel:
Individu
Inkomen ($)
1
120
2
230
3
350
4
480
5
5100
Stap 2: Bereken cumulatieve percentages
Vervolgens berekenen we de cumulatieve percentages voor zowel de bevolking (x-as) als het inkomen (y-as).
Voor het cumulatieve bevolkingspercentage deel je de positie van elk individu in de gesorteerde lijst door het totale aantal individuen. Zo vertegenwoordigt het eerste individu 1/5 (of 20%) van de bevolking, het tweede 2/5 (40%), enzovoort.
Voor het cumulatieve inkomenspercentage tel je de inkomens achtereenvolgens op en deel je elk cumulatief totaal door het totale inkomen. In dit voorbeeld is het totale inkomen $280, dus het inkomen van het eerste individu ($20) staat voor 20/280 (of ongeveer 7,14%), en de eerste twee individuen samen staan voor (20 + 30)/280 (ongeveer 17,86%).
Hier is de bijgewerkte tabel met cumulatieve percentages:
Individu
Inkomen ($)
Cumulatieve bevolking (%)
Cumulatief inkomen (%)
120
20
20%
7,14%
230
30
40%
17,86%
350
50
60%
35,71%
480
80
80%
64,29%
5100
100
100%
100%
Stap 3: Plot de cumulatieve verdeling
Nu we de cumulatieve percentages hebben, kunnen we ze in een grafiek plotten.
De x-as staat voor het cumulatieve aandeel van de bevolking, en de y-as voor het cumulatieve aandeel van het inkomen. Elke rij in de tabel correspondeert met een punt in de grafiek. Zodra de punten zijn geplot, verbind je ze om de Lorenzcurve te vormen. Voeg daarna de lijn van perfecte gelijkheid toe.
Stap 4: Interpreteer de Lorenzcurve
De resulterende Lorenzcurve toont de daadwerkelijke inkomensverdeling in deze populatie. Hoe verder de curve weg buigt van de diagonale lijn, hoe groter de ongelijkheid. Zoals je in dit voorbeeld ziet, buigt de curve duidelijk, omdat de onderste 20% van de bevolking slechts 7,14% van het inkomen heeft.
Data-eisen en uitdagingen
Om een nauwkeurige Lorenzcurve te maken, heb je hoogwaardige data nodig die aan een paar belangrijke criteria voldoet. De kwaliteit en structuur van je data heeft direct invloed op de nauwkeurigheid en betrouwbaarheid van je resultaten.
Ten eerste is de steekproefgrootte een cruciale factor. Kleine datasets kunnen misleidende resultaten opleveren, omdat ze mogelijk niet het volledige spectrum van ongelijkheid in een populatie vangen. Ons voorbeeld gebruikte hier een veel te kleine dataset van slechts 5 individuen. Deze curve is bedoeld voor hele populaties. Grotere datasets geven een betrouwbaarder en representatiever beeld van ongelijkheid, waardoor je Lorenzcurve nauwkeuriger wordt.
Granulariteit is ook belangrijk: hoe gedetailleerder je data, hoe preciezer je Lorenzcurve zal zijn. Zo geeft inkomen per individu of huishouden een beter beeld van ongelijkheid in een populatie dan inkomen per hele county. Die laatste dataset kan veel ongelijkheid verhullen.
Zoals bij de meeste analyses is onvolledige data een veelvoorkomend probleem dat de Lorenzcurve aanzienlijk kan vertekenen. Ontbrekende waarden creëren gaten in de cumulatieve percentages, wat tot onnauwkeurige resultaten kan leiden. Zorg er vóór het maken van je curve voor dat je dataset zo compleet mogelijk is, en denk goed na over hoe je met ontbrekende data omgaat. Weet je niet zeker hoe je ontbrekende data moet behandelen? Bekijk dan onze zeer behulpzame cursus Dealing with Missing Data in Python.
Praktisch Python-voorbeeld
Nu we de basis hebben, bekijken we hoe de Lorenzcurve kan worden gebruikt als vertelmiddel, verder dan alleen inkomensdata.
In dit voorbeeld analyseren we misdaadcijfers om de ongelijkheid in de verdeling van gerapporteerde misdrijven over wijken in een stad te begrijpen. Dit laat zien hoe de Lorenzcurve kan worden toegepast op domeinen zoals openbaar beleid.
We gebruiken een echte dataset uit de misdaaddatabase van het Chicago Police Department, die gratis online beschikbaar is. Je kunt de dataset downloaden via het Chicago Data Portal. Deze dataset bevat gedetailleerde informatie over gerapporteerde misdrijven in Chicago, waaronder het type misdrijf, de locatie en de datum.
Hieronder lopen we de stappen door om de data op te schonen, de Lorenzcurve te berekenen en deze te visualiseren met Python. Als je nieuw bent met Python, raad ik onze cursus Introduction to Python aan als snelle manier om de taal te leren.
Laten we eerst alle libraries installeren die we voor dit voorbeeld nodig hebben:
import pandas as pd
import numpy as np
import matplotlib.pyplot as pltMogelijk gemaakt door
Stap 1: Download en laad de dataset
De onderstaande code zou de dataset van het Chicago Data Portal als CSV-bestand moeten downloaden en deze met pandas in Python laden.
# Load the dataset
url ="<https://data.cityofchicago.org/resource/ijzp-q8t2.csv?$limit=100000>"# Limit to 100,000 rows for simplicity
data = pd.read_csv(url)Mogelijk gemaakt door
Stap 2: Agregeer misdaaddata per wijk
Deze dataset bevat een kolom voor community areas, oftewel wijken. We groeperen de data op deze kolom om het totale aantal gerapporteerde misdrijven per wijk te berekenen.
# Group by community area and count the number of crimes
crime_counts = data.groupby("community_area").size().reset_index(name="crime_count")# Drop rows with missing community area values
crime_counts = crime_counts.dropna()# Sort by crime count
crime_counts = crime_counts.sort_values(by="crime_count").reset_index(drop=True)# Display the aggregated dataprint(crime_counts.head())Mogelijk gemaakt door
Output:
community_area crime_count
047.010219.0102212.0195374.0212437.0246Mogelijk gemaakt door
Stap 3: Bereken cumulatieve percentages
Om de Lorenzcurve te maken, moeten we het cumulatieve percentage wijken en het cumulatieve percentage misdrijven berekenen.
# Calculate cumulative percentages
crime_counts["cumulative_crime"]= crime_counts["crime_count"].cumsum()
crime_counts["cumulative_crime_percentage"]= crime_counts["cumulative_crime"]/ crime_counts["crime_count"].sum()
crime_counts["cumulative_population_percentage"]=(np.arange(1,len(crime_counts)+1))/len(crime_counts)# Display the updated dataprint(crime_counts.head())Mogelijk gemaakt door
Output:
community_area crime_count cumulative_crime cumulative_crime_percentage \\
047.01021020.0010219.01022040.00204212.01953990.00399374.02126110.00611437.02468570.00857
cumulative_population_percentage
00.01298710.02597420.03896130.05194840.064935Mogelijk gemaakt door
Stap 4: Plot de Lorenzcurve
Nu we de cumulatieve percentages hebben, kunnen we de Lorenzcurve plotten. De x-as staat voor het cumulatieve aandeel van de wijken, en de y-as voor het cumulatieve aandeel van de misdrijven. Om een regionaal tintje te geven, gebruiken we de kleuren van de Chicago Bears als inspiratie voor onze plot.
# Example data for cumulative percentages# x represents the cumulative share of neighborhoods# y represents the cumulative share of crimes
x = np.linspace(0,1,100)# Replace with actual data
y = x**2# Replace with actual data# Chicago Bears-inspired colors
blue ="#0065D1"# Lighter blue for the Lorenz curve
orange ="#FF5A1F"# Bright orange for the line of perfect equality# Create the plot
plt.figure(figsize=(8,6))# Plot the Lorenz curve# This curve shows the inequality in crime distribution across neighborhoods
plt.plot(x, y, label="Lorenz Curve", color=blue, linewidth=2)# Plot the line of perfect equality# This line represents a hypothetical scenario where crimes are evenly distributed
plt.plot([0,1],[0,1], label="Line of Perfect Equality", color=orange, linestyle="--", linewidth=2)# Add a title to explain what the graph represents
plt.title("Lorenz Curve of Crime Distribution Across Chicago Neighborhoods", fontsize=16, color="black", pad=15)# Label the x-axis to show what the horizontal axis represents
plt.xlabel("Cumulative Share of Neighborhoods", fontsize=12, color="black", labelpad=10)# Label the y-axis to show what the vertical axis represents
plt.ylabel("Cumulative Share of Crimes", fontsize=12, color="black", labelpad=10)# Add a legend to explain the two lines
plt.legend(fontsize=12, loc="lower right", frameon=False)# Remove the grid for a cleaner look
plt.grid(False)# Set the background color to white for a professional appearance
plt.gca().set_facecolor("white")# Remove the top and right borders of the graph for a minimalist design
plt.gca().spines["top"].set_visible(False)
plt.gca().spines["right"].set_visible(False)# Save the plot as a PNG file# This saves the graph as an image file for sharing or embedding in reports
plt.savefig("lorenz_curve_crime.png", dpi=300, bbox_inches="tight")# Display the plot
plt.show()Mogelijk gemaakt door
Stap 5: Interpreteer de resultaten
Tot slot moeten we de grafiek interpreteren. Deze Lorenzcurve laat een opvallende ongelijkheid zien in de verdeling van misdrijven over de wijken van Chicago. De curve buigt aanzienlijk weg van de lijn van perfecte gelijkheid, wat laat zien dat een klein deel van de wijken het merendeel van de gerapporteerde misdrijven voor zijn rekening neemt.
Het lijkt erop dat de eerste 50% van de wijken verantwoordelijk is voor minder dan 20% van de totale misdrijven, terwijl de overige wijken het grootste deel van de last dragen. Deze visualisatie benadrukt patronen van ongelijkheid die in andere soorten grafieken minder zichtbaar zijn. De volgende stap kan zijn om wijken met hogere criminaliteit te identificeren om mitigerende maatregelen te starten, of om wijken met minder criminaliteit te bekijken om te zien welke afschrikmiddelen werken.
Dit voorbeeld laat zien hoe de Lorenzcurve ook buiten inkomensdata kan worden toegepast om overtuigende verhalen over ongelijkheid in andere domeinen te vertellen. Door misdaaddata te analyseren, kunnen we patronen van ongelijkheid blootleggen die het publieke beleid en stedelijke planning informeren. Probeer deze methode toe te passen op andere datasets, zoals toegang tot gezondheidszorg, onderwijsresultaten of milieudata om ongelijkheid op nieuwe en betekenisvolle manieren te verkennen.
De Lorenzcurve vs. de Gini-coëfficiënt
De Gini-coëfficiënt is direct afgeleid van de Lorenzcurve. Hij meet het gebied tussen de Lorenzcurve en de lijn van perfecte gelijkheid. Een groter gebied duidt op meer ongelijkheid, terwijl een kleiner gebied meer gelijkheid suggereert. De Gini-coëfficiënt loopt van 0 tot 1, waarbij 0 perfecte gelijkheid vertegenwoordigt (iedereen heeft gelijke middelen) en 1 extreme ongelijkheid (één individu heeft alle middelen).
Welke maat je gebruikt, hangt af van je doelen. De Lorenzcurve laat de vorm van de ongelijkheid zien, terwijl de Gini-coëfficiënt hiervan een numerieke samenvatting geeft. Als je naar de mate van ongelijkheid binnen één populatie kijkt, biedt de Lorenzcurve meer detail. Maar als je veel populaties met elkaar vergelijkt, kan het vergelijken van Lorenzcurves omslachtig zijn en is de Gini-coëfficiënt mogelijk geschikter. Voor een diepere duik in de Gini-coëfficiënt kun je mijn tutorial Understanding the Gini Coefficient bekijken.
Ook moeten we zeggen dat de Lorenzcurve wellicht flexibeler is, omdat hij kan worden toegepast op verschillende soorten data, waaronder inkomen, misdaad, toegang tot gezondheidszorg of biodiversiteit, en kan worden gebruikt om verdelingen in de tijd of tussen groepen te vergelijken. De Gini-coëfficiënt kan ook voor dit soort vergelijkingen worden gebruikt, maar staat vooral bekend om het meten van inkomensongelijkheid. Dit kan bij sommige lezers voor bias zorgen. Naar mijn ervaring hebben mensen bij het interpreteren van grafieken minder vooroordelen dan wanneer ze een enkel getal krijgen.
Kenmerk
Lorenzcurve
Gini-coëfficiënt
Doel
Toont de verdeling van middelen over een bevolking
Vat ongelijkheid samen in één waarde
Type
Visuele weergave
Numerieke weergave
Interpretatie
Vorm van de curve geeft de mate van ongelijkheid aan
Waarde loopt van 0 (perfecte gelijkheid) tot 1 (extreme ongelijkheid)
Use-cases
Verdelingen vergelijken, patronen identificeren en bevindingen communiceren
Niveaus van ongelijkheid vergelijken tussen datasets of populaties
Flexibiliteit
Kan worden toegepast op diverse datasets (bijv. inkomen, misdaad, biodiversiteit)
Voornamelijk gebruikt voor inkomens- of vermogensongelijkheid
Bruikbaarheid
Helpt specifieke gebieden van ongelijkheid te identificeren voor gerichte interventies
Biedt een samenvatting op hoog niveau voor brede vergelijkingen
De bovenstaande vergelijking benadrukt hoe de Lorenzcurve en de Gini-coëfficiënt elkaar aanvullen. De Lorenzcurve biedt een gedetailleerder en visueel perspectief voor één populatie, terwijl de Gini-coëfficiënt een beknopte samenvatting geeft die kan worden gebruikt voor vergelijkingen tussen populaties.
Toepassingen van de Lorenzcurve in de echte wereld
De Lorenzcurve is een veelzijdige tool die in een breed scala aan vakgebieden is toegepast. Laten we een paar van de meest impactvolle toepassingen verkennen.
De Lorenzcurve in economie en financiën: De Lorenzcurve wordt het meest bekend gebruikt om inkomens- en vermogensongelijkheid te analyseren. Economen en beleidsmakers vertrouwen erop om te begrijpen hoe middelen binnen een populatie zijn verdeeld en om interventies te ontwerpen zoals belastingbeleid of sociale programma's.
De Lorenzcurve in volksgezondheid en epidemiologie: In de volksgezondheid kan de Lorenzcurve worden gebruikt om ongelijkheden in gezondheidsuitkomsten of toegang tot zorg te meten. Dit helpt onderzoekers en beleidsmakers om verschillen te identificeren en middelen effectiever toe te wijzen.
De Lorenzcurve in ecologie en biodiversiteit: Ecologen kunnen de Lorenzcurve gebruiken om soortverspreiding en -abundantie te bestuderen. Het kan helpen biodiversiteit te kwantificeren en ecosystemen te identificeren waar een paar soorten domineren terwijl andere schaars zijn.
De Lorenzcurve in data science en machine learning: De Lorenzcurve wordt steeds vaker gebruikt in data science om verdelingen te analyseren en eerlijkheid in voorspellende modellen te evalueren. Eén voorbeeld hiervan is in klantenanalyse. Bedrijven kunnen de Lorenzcurve gebruiken om de concentratie van omzet onder klanten te begrijpen. Het kan helpen identificeren welke gebruikers het grootste deel van de omzet aansturen, wat marketingstrategieën of loyaliteitsprogramma's kan informeren.
De Lorenzcurve in data science en machine learning: Een ander voorbeeld dat me verraste is in machine learning. De Lorenzcurve kan data scientists helpen beoordelen of de voorspellingen van een model bevooroordeeld zijn. In een model voor leningstoekenning kan de curve bijvoorbeeld laten zien dat een kleine groep aanvragers het merendeel van de toekenningen krijgt, wat kan wijzen op bias in het algoritme.
Voordelen en beperkingen van de Lorenzcurve
Zoals elke methode heeft de Lorenzcurve zijn sterke en zwakke punten.
Beperkingen van de Lorenzcurve
De Lorenzcurve vereist vaak behoorlijk gedetailleerde data om betekenisvolle resultaten te leveren. Geaggregeerde of onvolledige datasets kunnen soms tot onjuiste conclusies leiden. Zo kan inkomensdata die informele inkomsten, zoals fooien, uitsluit ongelijkheid onderschatten.
Het is ook belangrijk om een grote genoeg steekproef te hebben om een curve te krijgen in plaats van een grillige lijn, zoals je in de eerste figuur kunt zien. Zoals altijd is het belangrijk om te zorgen dat je data zo compleet mogelijk is. En natuurlijk moet je je data zorgvuldig valideren en alle aannames documenteren om transparantie en betrouwbaarheid te waarborgen.
De Lorenzcurve legt ook geen multidimensionale ongelijkheid vast. Hij richt zich op één variabele, zoals inkomen of vermogen, en houdt geen rekening met gecombineerde effecten. Als je multidimensionale ongelijkheid wilt meten, zijn er echter andere tools die je kunt gebruiken, zoals de Multidimensional Poverty Index.
Voordelen van de Lorenzcurve
Het grootste voordeel van de Lorenzcurve is naar mijn mening dat hij een intuïtieve visuele weergave van ongelijkheid biedt, waardoor je het in één oogopslag begrijpt. Door de curve te vergelijken met de lijn van perfecte gelijkheid, worden verschillen binnen een populatie direct zichtbaar. Het is een visueel vertelmiddel dat ongelijkheidsdata toegankelijk maakt voor zowel technische als niet-technische doelgroepen.
Zijn veelzijdigheid is een ander groot voordeel. De Lorenzcurve kan worden toegepast in uiteenlopende vakgebieden, van economie en volksgezondheid tot ecologie en machine learning. Deze flexibiliteit maakt hem breed inzetbaar.
Ik ben gepromoveerd en heb 13 jaar ervaring met het werken met data in een biologische onderzoeksomgeving. Ik maak software in verschillende programmeertalen, waaronder Python, MATLAB en R. Ik deel met plezier mijn liefde voor leren met de wereld.
FAQs
Wat is de Lorenzcurve?⌄
De Lorenzcurve is een grafiek die de mate van ongelijkheid van een hulpbron in een bevolking laat zien.
Is de Lorenzcurve hetzelfde als de Gini-index?⌄
De Gini-index, of Gini-coëfficiënt, gebruikt de Lorenzcurve in de berekening. Maar het zijn verschillende maten.
Hoe interpreteer je een Lorenzcurve?⌄
Grofweg geldt: hoe verder de curve afbuigt van de lijn van gelijkheid, hoe meer ongelijkheid er in de verdeling is.
Is de Lorenzcurve alleen voor inkomen?⌄
Hoewel hij oorspronkelijk voor inkomen is ontwikkeld, kan de Lorenzcurve worden gebruikt voor uiteenlopende data zoals gezondheidszorg, misdaad, biodiversiteit en machine learning.
Wat is de lijn van gelijkheid?⌄
De lijn van gelijkheid is een rechte diagonale lijn die perfecte gelijkheid vertegenwoordigt, d.w.z. iedereen heeft dezelfde hoeveelheid van een hulpbron.
Veelgestelde vragen over de Lorenzcurve
Wat is de Lorenzcurve?⌄
De Lorenzcurve is een grafiek die de mate van ongelijkheid van een hulpbron in een bevolking laat zien.
Is de Lorenzcurve hetzelfde als de Gini-index?⌄
De Gini-index, of Gini-coëfficiënt, gebruikt de Lorenzcurve in de berekening. Maar het zijn verschillende maten.
Hoe interpreteer je een Lorenzcurve?⌄
Grofweg geldt: hoe verder de curve afbuigt van de lijn van gelijkheid, hoe meer ongelijkheid er in de verdeling is.
Is de Lorenzcurve alleen voor inkomen?⌄
Hoewel hij oorspronkelijk voor inkomen is ontwikkeld, kan de Lorenzcurve worden gebruikt voor uiteenlopende data zoals gezondheidszorg, misdaad, biodiversiteit en machine learning.
Wat is de lijn van gelijkheid?⌄
De lijn van gelijkheid is een rechte diagonale lijn die perfecte gelijkheid vertegenwoordigt, d.w.z. iedereen heeft dezelfde hoeveelheid van een hulpbron.
Leer hoe u gegevens analyseert met draaitabellen en intermediaire logische functies voordat u doorgaat naar hulpmiddelen zoals wat-als-analyse en prognoses.
Leer de basisvaardigheden die je nodig hebt om Excel te gebruiken, van het voorbereiden van gegevens tot het schrijven van formules en het maken van visualisaties. Je hoeft geen ervaring te hebben.
Ongelijkheid raakt bijna elk aspect van het leven: inkomen, vermogen, gezondheid, onderwijs en zelfs hoe hulpbronnen in ecosystemen worden verdeeld. Maar hoe meten we het eigenlijk? Een van de krachtigste tools die ik heb gevonden om ongelijkheid te visualiseren is de Lorenzcurve.
Hoewel hij vaak wordt gebruikt om inkomensongelijkheid te meten, is de Lorenzcurve niet alleen voor economen. In de loop der tijd is het een veelzijdige tool geworden om gezondheidsverschillen te onderzoeken, biodiversiteit te bestuderen en zelfs in machine learning om eerlijkheid in voorspellende modellen te beoordelen. Voor data scientists is het een geweldige manier om een verhaal te vertellen over ongelijkheid in een dataset.
In deze tutorial laat ik je zien hoe de Lorenzcurve werkt. We bespreken hoe je hem maakt met jouw dataset, met Python, en je leert hoe je hem in je eigen projecten gebruikt. Of je nu inkomensongelijkheid wilt kwantificeren, klantsegmentatie wilt analyseren of hulpbrontoewijzing wilt onderzoeken, de Lorenzcurve kan je helpen deze complexe ideeën met een eenvoudige visual te communiceren.
De Lorenzcurve begrijpen
De Lorenzcurve werd in 1905 geïntroduceerd door econoom Max O. Lorenz. Het werkt door de daadwerkelijke verdeling van een hulpbron te vergelijken met een hypothetische lijn van perfecte gelijkheid (een lijn waar iedereen een gelijk aandeel heeft). Hoe verder de curve van deze lijn van perfecte gelijkheid afbuigt, hoe groter de ongelijkheid in de verdeling van die specifieke hulpbron.
Structuur van de Lorenzcurve
De Lorenzcurve heeft een eenvoudige structuur. Op de x-as plotten we het cumulatieve aandeel van de bevolking, beginnend met het armste individu en oplopend naar het rijkste. De y-as toont het cumulatieve aandeel van de gemeten hulpbron.
Vervolgens voegen we de lijn van perfecte gelijkheid toe, een diagonale lijn van linksonder naar rechtsboven. Deze lijn staat voor een scenario waarin iedereen een gelijk aandeel heeft van de hulpbron waarin we geïnteresseerd zijn.
De Lorenzcurve zelf toont de daadwerkelijke verdeling van de hulpbron. Hoe verder de curve weg buigt van de lijn van perfecte gelijkheid, hoe groter de ongelijkheid die hij weergeeft.
Hoe de Lorenzcurve te interpreteren
Als de Lorenzcurve dicht bij de diagonale lijn van perfecte gelijkheid ligt, betekent dit dat de hulpbron vrij gelijkmatig is verdeeld. In een samenleving waar bijvoorbeeld de onderste 50% van de bevolking ongeveer 50% van het inkomen heeft, zal de Lorenzcurve dichter bij de diagonaal liggen. Deze ondiepe curve duidt op lage ongelijkheid.
Aan de andere kant, als de curve ver weg buigt van de diagonaal, wijst dat op hoge ongelijkheid. Dit kan gebeuren als bijvoorbeeld de onderste 50% van de bevolking slechts 10% van het inkomen heeft, terwijl de bovenste 10% de rest heeft.
Hoe maak je een Lorenzcurve
Laten we samen een Lorenzcurve opbouwen met een eenvoudig voorbeeld. Stel dat we de inkomensverdeling van een kleine populatie analyseren.
Stap 1: Sorteer de data
De eerste stap is om de gegevens in oplopende volgorde te zetten. In dit voorbeeld hebben we de volgende inkomenswaarden voor vijf individuen in een populatie: $20, $30, $50, $80, $100.
We sorteren deze waarden van klein naar groot. Dit zorgt ervoor dat de cumulatieve percentages die we later berekenen logisch zijn. Hier is de gesorteerde tabel:
Stap 2: Bereken cumulatieve percentages
Vervolgens berekenen we de cumulatieve percentages voor zowel de bevolking (x-as) als het inkomen (y-as).
Hier is de bijgewerkte tabel met cumulatieve percentages:
Stap 3: Plot de cumulatieve verdeling
Nu we de cumulatieve percentages hebben, kunnen we ze in een grafiek plotten.
De x-as staat voor het cumulatieve aandeel van de bevolking, en de y-as voor het cumulatieve aandeel van het inkomen. Elke rij in de tabel correspondeert met een punt in de grafiek. Zodra de punten zijn geplot, verbind je ze om de Lorenzcurve te vormen. Voeg daarna de lijn van perfecte gelijkheid toe.
Stap 4: Interpreteer de Lorenzcurve
De resulterende Lorenzcurve toont de daadwerkelijke inkomensverdeling in deze populatie. Hoe verder de curve weg buigt van de diagonale lijn, hoe groter de ongelijkheid. Zoals je in dit voorbeeld ziet, buigt de curve duidelijk, omdat de onderste 20% van de bevolking slechts 7,14% van het inkomen heeft.
Data-eisen en uitdagingen
Om een nauwkeurige Lorenzcurve te maken, heb je hoogwaardige data nodig die aan een paar belangrijke criteria voldoet. De kwaliteit en structuur van je data heeft direct invloed op de nauwkeurigheid en betrouwbaarheid van je resultaten.
Ten eerste is de steekproefgrootte een cruciale factor. Kleine datasets kunnen misleidende resultaten opleveren, omdat ze mogelijk niet het volledige spectrum van ongelijkheid in een populatie vangen. Ons voorbeeld gebruikte hier een veel te kleine dataset van slechts 5 individuen. Deze curve is bedoeld voor hele populaties. Grotere datasets geven een betrouwbaarder en representatiever beeld van ongelijkheid, waardoor je Lorenzcurve nauwkeuriger wordt.
Granulariteit is ook belangrijk: hoe gedetailleerder je data, hoe preciezer je Lorenzcurve zal zijn. Zo geeft inkomen per individu of huishouden een beter beeld van ongelijkheid in een populatie dan inkomen per hele county. Die laatste dataset kan veel ongelijkheid verhullen.
Zoals bij de meeste analyses is onvolledige data een veelvoorkomend probleem dat de Lorenzcurve aanzienlijk kan vertekenen. Ontbrekende waarden creëren gaten in de cumulatieve percentages, wat tot onnauwkeurige resultaten kan leiden. Zorg er vóór het maken van je curve voor dat je dataset zo compleet mogelijk is, en denk goed na over hoe je met ontbrekende data omgaat. Weet je niet zeker hoe je ontbrekende data moet behandelen? Bekijk dan onze zeer behulpzame cursus Dealing with Missing Data in Python.
Praktisch Python-voorbeeld
Nu we de basis hebben, bekijken we hoe de Lorenzcurve kan worden gebruikt als vertelmiddel, verder dan alleen inkomensdata.
In dit voorbeeld analyseren we misdaadcijfers om de ongelijkheid in de verdeling van gerapporteerde misdrijven over wijken in een stad te begrijpen. Dit laat zien hoe de Lorenzcurve kan worden toegepast op domeinen zoals openbaar beleid.
We gebruiken een echte dataset uit de misdaaddatabase van het Chicago Police Department, die gratis online beschikbaar is. Je kunt de dataset downloaden via het Chicago Data Portal. Deze dataset bevat gedetailleerde informatie over gerapporteerde misdrijven in Chicago, waaronder het type misdrijf, de locatie en de datum.
Hieronder lopen we de stappen door om de data op te schonen, de Lorenzcurve te berekenen en deze te visualiseren met Python. Als je nieuw bent met Python, raad ik onze cursus Introduction to Python aan als snelle manier om de taal te leren.
Laten we eerst alle libraries installeren die we voor dit voorbeeld nodig hebben:
Stap 1: Download en laad de dataset
De onderstaande code zou de dataset van het Chicago Data Portal als CSV-bestand moeten downloaden en deze met pandas in Python laden.
Stap 2: Agregeer misdaaddata per wijk
Deze dataset bevat een kolom voor community areas, oftewel wijken. We groeperen de data op deze kolom om het totale aantal gerapporteerde misdrijven per wijk te berekenen.
Stap 3: Bereken cumulatieve percentages
Om de Lorenzcurve te maken, moeten we het cumulatieve percentage wijken en het cumulatieve percentage misdrijven berekenen.
Stap 4: Plot de Lorenzcurve
Nu we de cumulatieve percentages hebben, kunnen we de Lorenzcurve plotten. De x-as staat voor het cumulatieve aandeel van de wijken, en de y-as voor het cumulatieve aandeel van de misdrijven. Om een regionaal tintje te geven, gebruiken we de kleuren van de Chicago Bears als inspiratie voor onze plot.
Stap 5: Interpreteer de resultaten
Tot slot moeten we de grafiek interpreteren. Deze Lorenzcurve laat een opvallende ongelijkheid zien in de verdeling van misdrijven over de wijken van Chicago. De curve buigt aanzienlijk weg van de lijn van perfecte gelijkheid, wat laat zien dat een klein deel van de wijken het merendeel van de gerapporteerde misdrijven voor zijn rekening neemt.
Het lijkt erop dat de eerste 50% van de wijken verantwoordelijk is voor minder dan 20% van de totale misdrijven, terwijl de overige wijken het grootste deel van de last dragen. Deze visualisatie benadrukt patronen van ongelijkheid die in andere soorten grafieken minder zichtbaar zijn. De volgende stap kan zijn om wijken met hogere criminaliteit te identificeren om mitigerende maatregelen te starten, of om wijken met minder criminaliteit te bekijken om te zien welke afschrikmiddelen werken.
Dit voorbeeld laat zien hoe de Lorenzcurve ook buiten inkomensdata kan worden toegepast om overtuigende verhalen over ongelijkheid in andere domeinen te vertellen. Door misdaaddata te analyseren, kunnen we patronen van ongelijkheid blootleggen die het publieke beleid en stedelijke planning informeren. Probeer deze methode toe te passen op andere datasets, zoals toegang tot gezondheidszorg, onderwijsresultaten of milieudata om ongelijkheid op nieuwe en betekenisvolle manieren te verkennen.
De Lorenzcurve vs. de Gini-coëfficiënt
De Gini-coëfficiënt is direct afgeleid van de Lorenzcurve. Hij meet het gebied tussen de Lorenzcurve en de lijn van perfecte gelijkheid. Een groter gebied duidt op meer ongelijkheid, terwijl een kleiner gebied meer gelijkheid suggereert. De Gini-coëfficiënt loopt van 0 tot 1, waarbij 0 perfecte gelijkheid vertegenwoordigt (iedereen heeft gelijke middelen) en 1 extreme ongelijkheid (één individu heeft alle middelen).
Welke maat je gebruikt, hangt af van je doelen. De Lorenzcurve laat de vorm van de ongelijkheid zien, terwijl de Gini-coëfficiënt hiervan een numerieke samenvatting geeft. Als je naar de mate van ongelijkheid binnen één populatie kijkt, biedt de Lorenzcurve meer detail. Maar als je veel populaties met elkaar vergelijkt, kan het vergelijken van Lorenzcurves omslachtig zijn en is de Gini-coëfficiënt mogelijk geschikter. Voor een diepere duik in de Gini-coëfficiënt kun je mijn tutorial Understanding the Gini Coefficient bekijken.
Ook moeten we zeggen dat de Lorenzcurve wellicht flexibeler is, omdat hij kan worden toegepast op verschillende soorten data, waaronder inkomen, misdaad, toegang tot gezondheidszorg of biodiversiteit, en kan worden gebruikt om verdelingen in de tijd of tussen groepen te vergelijken. De Gini-coëfficiënt kan ook voor dit soort vergelijkingen worden gebruikt, maar staat vooral bekend om het meten van inkomensongelijkheid. Dit kan bij sommige lezers voor bias zorgen. Naar mijn ervaring hebben mensen bij het interpreteren van grafieken minder vooroordelen dan wanneer ze een enkel getal krijgen.
De bovenstaande vergelijking benadrukt hoe de Lorenzcurve en de Gini-coëfficiënt elkaar aanvullen. De Lorenzcurve biedt een gedetailleerder en visueel perspectief voor één populatie, terwijl de Gini-coëfficiënt een beknopte samenvatting geeft die kan worden gebruikt voor vergelijkingen tussen populaties.
Toepassingen van de Lorenzcurve in de echte wereld
De Lorenzcurve is een veelzijdige tool die in een breed scala aan vakgebieden is toegepast. Laten we een paar van de meest impactvolle toepassingen verkennen.
Voordelen en beperkingen van de Lorenzcurve
Zoals elke methode heeft de Lorenzcurve zijn sterke en zwakke punten.
Beperkingen van de Lorenzcurve
De Lorenzcurve vereist vaak behoorlijk gedetailleerde data om betekenisvolle resultaten te leveren. Geaggregeerde of onvolledige datasets kunnen soms tot onjuiste conclusies leiden. Zo kan inkomensdata die informele inkomsten, zoals fooien, uitsluit ongelijkheid onderschatten.
Het is ook belangrijk om een grote genoeg steekproef te hebben om een curve te krijgen in plaats van een grillige lijn, zoals je in de eerste figuur kunt zien. Zoals altijd is het belangrijk om te zorgen dat je data zo compleet mogelijk is. En natuurlijk moet je je data zorgvuldig valideren en alle aannames documenteren om transparantie en betrouwbaarheid te waarborgen.
De Lorenzcurve legt ook geen multidimensionale ongelijkheid vast. Hij richt zich op één variabele, zoals inkomen of vermogen, en houdt geen rekening met gecombineerde effecten. Als je multidimensionale ongelijkheid wilt meten, zijn er echter andere tools die je kunt gebruiken, zoals de Multidimensional Poverty Index.
Voordelen van de Lorenzcurve
Het grootste voordeel van de Lorenzcurve is naar mijn mening dat hij een intuïtieve visuele weergave van ongelijkheid biedt, waardoor je het in één oogopslag begrijpt. Door de curve te vergelijken met de lijn van perfecte gelijkheid, worden verschillen binnen een populatie direct zichtbaar. Het is een visueel vertelmiddel dat ongelijkheidsdata toegankelijk maakt voor zowel technische als niet-technische doelgroepen.
Zijn veelzijdigheid is een ander groot voordeel. De Lorenzcurve kan worden toegepast in uiteenlopende vakgebieden, van economie en volksgezondheid tot ecologie en machine learning. Deze flexibiliteit maakt hem breed inzetbaar.
Conclusie
De Lorenzcurve is een veelzijdig vertelmiddel dat nuttig is om ongelijkheid te tonen en te begrijpen. Als dit soort visualisaties je interesseert, vind je Geometric Mean: A Measure for Growth and Compounding wellicht interessant. Of als je meer over financiën wilt leren, bekijk dan onze cursus Introduction to Python for Finance en ons vaardigheidstraject Applied Finance in Python.