Categories
Uncategorized

Segregazione residenziale Una simulazioneVariazio

TheMummichogblog è un partecipante al Amazon Services LLC Associates programma, un programma di affiliazione pubblicitario progettato per fornire un mezzo per siti per guadagnare tariffe pubblicitarie con la pubblicità e il link al amazon.com. Amazon, il logo di Amazon, AmazonSupply, e il logo AmazonSupply sono marchi di Amazon.com, Inc. o delle sue affiliate.

Segregazione residenziale – Una simulazione

Variazioni di modelli dinamici di Schelling di segregazione

--------------------------------------------------------------------------------------------------



Vi do un comandamento nuovo: che vi amiate gli uni gli altri; come io vi ho amato, così amatevi anche voi gli uni gli altri.


Subscribe By E-mail:

Enter your email address:

Delivered by FeedBurner



----------------------------------------------------------------------------------------------

9 Giugno 2020

Le persone si separano lungo molte linee e in molti modi. C’è la segregazione per sesso, età, reddito, lingua, religione, colore, sapore, vantaggio comparato e gli accidenti della posizione storica. Alcuni risultati di segregazione delle pratiche delle organizzazioni; alcuni è volutamente organizzata; e alcuni risultati dalla interazione di scelte individuali che discriminano. Alcuni di essi proviene da sistemi di comunicazione specializzati, come lingue diverse. E alcuni di segregazione è un corollario di altri modi di segregazione: residenza è correlata con la posizione di lavoro e di trasporto “. – Modelli dinamici di segregazione [1] – Thomas C. Schelling 1969

La motivazione principale per la carta era lo studio della segregazione residenziale osservata razziale negli Stati Uniti. Schelling ha presentato un modello di segregazione, in cui gli individui non avevano preferenze forti contro i membri di altri gruppi, ma quasi sempre portato a segregazione. Schelling scrive:

Le linee di divisione della singolarmente motivati, il fatto collettivo, e la segregazione economicamente indotto non sono linee chiare a tutti.

Questa carta, quindi, è di quei meccanismi che traducono comportamenti individuali non organizzati in risultati collettivi.

Guardiamo al modello. Si supponga c’è una griglia, in cui ogni cella è occupata da una persona. Ogni persona è un membro di un gruppo. Le cellule vicine definiscono il quartiere. Ogni persona è “felice” fintanto che almeno una certa percentuale dei vicini appartengono allo stesso gruppo che fanno. Se una persona non è felice, si sposta in unaltra posizione dove sarebbero stati felici. Questa è una rappresentazione molto semplificata del modello, ma una buona sufficiente uno per ottenere una sensazione di esso.

Quando sono arrivato attraverso la carta, mi ha ricordato l’incontro di Conway di vita [2], in cui le regole semplici, data una particolare configurazione iniziale si tradurrebbe in modelli emergenti arbitrariamente complessi. Il modello di Schelling non era così. Con altrettanto semplici regole (anche se molto diverso), sembrava avere la propensione a convergere nella segregazione dei gruppi.

Figura 1: illustrazioni originali della dinamica segregazione Modelli – Thomas C. Schelling 1969
Figura 1: illustrazioni originali della dinamica segregazione Modelli – Thomas C. Schelling 1969
Mezzo secolo più tardi, la stessa che ha spinto la segregazione Schelling per studiare la questione, è ancora visibile [3]. segregazione residenziale non si limita alla gara. Si può osservare con l’istruzione, il reddito e molti altri aspetti sociali.

In questo post del blog, avremo in maggiori dettagli del modello, costruire un simulatore dove possiamo studiare schemi collettivi che emergono dal comportamento individuale. Vedremo diversi parametri del modello, e cerchiamo di capire quali parametri portano a integrazione o la segregazione. Hereafter: la gente \ rightarrow → popolazione, persona \ rightarrow → agente.

Simulazione parametri e ipotesi
Ci sono 5 variabili nel modello lineare Schelling apre la carta con:

Vicinato (dimensione) Il k più vicino vicini.
Somiglianza preferenza Demanded percentuale di un proprio gruppo in un quartiere.
Popolazione composizione Numero di agenti e la percentuale della popolazione totale ogni gruppo rappresenta.
Configurazione iniziale l’istanza della popolazione (sedi di agenzia).
Norme che disciplinano il movimento quanto tempo può un agente mossa, qual è la funzione di costo (cioè Dare priorità di vicinanza) etc.
Inizieremo con una popolazione che è esaustivamente divisa in due gruppi, e l’appartenenza di ogni agente è permanente e riconoscibile. Ogni agente ha una posizione particolare in un dato momento. Le preferenze di un gruppo propagano a tutti i suoi agenti. Ogni agente ha poi una preferenza di vivere in un quartiere dove almeno una frazione minima dei vicini fanno parte dello stesso gruppo. In tutta questa località offerente simulazione all’inizio saranno estratti casualmente da una distribuzione uniforme (cioè ci aspettiamo agenti di occupare uniformemente l’intera mappa o griglia). Pertanto Configurazione iniziale rimarrà costante.

Implementazione: primo turno
Iniziamo estraendo i parametri che ci permettono di definire una popolazione e le preferenze degli agenti. Conserviamo questi parametri nella configurazione variabile. Questo si prende cura della dimensione di quartiere, la preferenza somiglianza e la composizione della popolazione.

config = {
# Dimensione della popolazione
“agenti”: 10000,

# Somiglianza preferenza
“Somiglianza”: 0,5,

# Dimensioni quartiere
“vicini”: 100,

# Composizione della popolazione (che definisce i gruppi)
“gruppi”: {
“Gruppo 1”: {
“Tipo”: “gruppo 1”,
# Percentuale della popolazione
“Ratio”: 0.5,
“Colore”: “# ff745c”
},
“Gruppo 2”: {
“Tipo”: “Gruppo 2”,
“Ratio”: 0.5,
“Colore”: “# c2bebe”
},
},
}
Poi abbiamo bisogno di generare una popolazione dalla config abbiamo definito in precedenza, oltre a fornire una configurazione originale per la simulazione. Per fare questo, cerchiamo di rappresentare ogni agente da una serie record di NumPy con tre attributi:

agente =
agente =

x, y determinare la posizione dell’agente nella mappa (piano cartesiano) e del gruppo per indicare l’appartenenza dell’agente.

importare numpy come np

generate_population def (config):
# gruppi di carico da config ( `prob` è la% della popolazione
# Il gruppo rappresenta).
gruppi, prob = zip (
*smistato(
[
(G [ “tipo”], g [ “rapporto”])
per g nella lista (config [ “gruppi”]. I valori ())
],
key = lambda x: x [1],
)
)
Agenti = []
# agenti in modo casuale di spawn in luoghi diversi e assegnare
# Per un gruppo con una certa probabilità (per approssimare
# Una dimensione di gruppo desiderato)
per _ nella gamma (config [ “agenti”]):
x = np.random.uniform (0, 1)
y = np.random.uniform (0, 1)
agents.append ((x, y, np.random.choice (gruppi, p = prob)))

# Rappresentano la popolazione come una matrice di registrazione
# (Comoda struttura di dati)
tornare np.rec.array (
agenti,
dtype = [( “x”, “f”), ( “y”, “f”), ( “gruppo”, “ )

All’inizio ogni agente viene assegnato una posizione casuale. La simulazione sarà iterativo, nel senso che ogni round ogni agente infelice verrà data la possibilità di delocalizzare.

In questo primo tentativo, ogni agente esaminerà i vicini 100 agenti, e se la preferenza somiglianza non è soddisfatto della volontà dell’agente, ancora una volta, in modo casuale essere generato in un altro luogo. La casualità nel modo in cui definire le regole che disciplinano il movimento possono apparire “preoccupante” per almeno due motivi: in primo luogo, non rispecchia la realtà. Agenti in vita reale avranno informazioni sulla distribuzione e il clustering dei gruppi (ad esempio Manhattan è dove un sacco di gente ricca vive), e sono tenuti a comunicare le loro decisioni con esso. In secondo luogo, non possiamo ottenere la simulazione a convergere in un equilibrio stabile in cui tutti gli agenti sono felici. Tuttavia, per molte configurazioni, potrai osservare la segregazione che si svolgono comunque. È interessante notare che la restrizione di Schelling che un gruppo è una minoranza, non ha bisogno di essere imposto.

In ogni caso, ecco un’implementazione della simulazione di iterazione a base abbiamo descritto. Sentitevi liberi di sorvolare su di esso, cambieremo più tardi.

da collezioni importare Contatore
da sklearn.neighbors importazione KDTree

# Collegherà a alla fine (non è importante per ora)
importazione plotting

simulazione def (plot_folder):
popolazione = generate_population (config)

stabile = False
iterazioni = 0

mentre non è stabile e iterazioni posizioni = np.array (lista (zip (population.x, population.y)))
kdtree = KDTree (destinazioni leaf_size = 100)

agents_relocating = 0
per l’agente della popolazione:
dist, idx = kdtree.query (
[(Agent.x, agent.y)],
k = config [ “vicini”]
)
quartiere = Contatore (popolazione [idx [0]]. gruppo)

# Controllare se l’agente ha bisogno di trasferirmi
observed_similarity = (
quartiere [agent.group]
/ sum (neighborhood.values ​​()
)
se observed_similarity agent.x = np.random.uniform (0, 1)
agent.y = np.random.uniform (0, 1)
agents_relocating + = 1

iterazioni + = 1
se agents_relocating stabile = true

# Produce un appezzamento di Stato in un dato di iterazione
plotting.population_scatter (
popolazione,
iterazione = iterazioni,
folder = plot_folder,
config = config
)
In poche parole, istanziamo una popolazione, poi tenere l’iterazione fino a quando la popolazione è stabile (nel senso che ha raggiunto un equilibrio) dove gli agenti si sono stabiliti dato la loro preferenza somiglianza, o ci sono stati al massimo 100 iterazioni. Quest’ultimo è meramente lì per garantire i termina programma.

Per ogni iterazione, costruiamo un albero k-d [4], che usiamo per eseguire la ricerca più vicino-vicino di casa su un quartiere. Poi, per ogni agente, interroghiamo il quartiere per vedere la distribuzione dei gruppi in quello spazio, con il quale l’agente decide se a trasferirsi.

Simulazione 1: nessuna minoranza
prima Guardiamo una popolazione di 10.000 agenti. Ogni gruppo fa la metà della popolazione. Ciascun agente preferisce avere almeno il 50% dei loro vicini appartengono allo stesso gruppo che fanno.

dimensione di vicinato 100
Somiglianza preferenza 0.5
composizione popolazione 10000 agenti, 2 gruppi di uguale dimensione
Norme che disciplinano il movimento Se somiglianza preferenza non raggiunto, in modo casuale al trasferimento
Vale la pena di ripetere, ogni agente vuole essere in un quartiere dove non sono in minoranza.

Figura 2: Popolazione 10k, ugualmente rappresentato da due gruppi, ciascuno dei quali preferisce almeno il 50% dei loro vicini sia dal proprio gruppo
Figura 2: Popolazione 10k, ugualmente rappresentato da due gruppi, ciascuno dei quali preferisce almeno il 50% dei loro vicini sia dal proprio gruppo
Vediamo cluster formare molto rapidamente, fino a raggiungere un equilibrio stabile. Stabile e auspicabile, tuttavia, sono cose diverse. La segregazione è dilagante.

Simulazione 2: minoranza, looser somiglianza preferenza
dimensione di vicinato 100
Somiglianza preferenza 0.333
composizione della popolazione 10000 agenti, 2 gruppi (30% e 70% della popolazione)
Norme che disciplinano il movimento Se somiglianza preferenza non raggiunto, in modo casuale al trasferimento
Questo round continuiamo a simulare una popolazione di 10.000 agenti tuttavia, ci sono due differenze: un gruppo è una minoranza, che comprende solo il 30% della popolazione e ogni agente preferirebbero vivere in un quartiere dove almeno ~ 1/3 della agenti sono dello stesso gruppo.

Figura 3: Popolazione 10k, minoranza rende il 30% della popolazione, ciascuna di agente preferisce almeno il 33% dei loro vicini ad essere dal proprio gruppo
Figura 3: Popolazione 10k, minoranza rende il 30% della popolazione, ciascuna di agente preferisce almeno il 33% dei loro vicini ad essere dal proprio gruppo
Vediamo ancora la segregazione. Questo non dovrebbe essere una sorpresa. Le posizioni degli agenti sono disegnati in modo casuale da una distribuzione uniforme. Gli agenti del Gruppo 2 sono una minoranza (che fanno il 30% della popolazione), ma hanno una preferenza similarità del 33%, il che significa che si può aspettare un sacco di loro di muoversi nelle prime iterazioni rispetto agli agenti dal gruppo 1 (la maggioranza ).

Figura 4: Numero di agenti trasferiscono in ogni iterazione dal gruppo – Simulazione 2
Figura 4: Numero di agenti trasferiscono in ogni iterazione dal gruppo – Simulazione 2
E ‘ovvio che se la preferenza somiglianza degli agenti è inferiore alla frazione della popolazione minoranza rappresenta la configurazione iniziale deve essere stabile; gli agenti non si trasferirà, e quartieri sarebbero ben integrati.

Ma è davvero il caso?

Simulazione 3: somiglianza Preferenza Consideriamo la seguente configurazione iniziale:

dimensione di vicinato 100
Somiglianza preferenza 0.4
composizione della popolazione 10000 agenti, 2 gruppi (50% della popolazione ciascuna)
Norme che disciplinano il movimento Se somiglianza preferenza non raggiunto, in modo casuale al trasferimento
Figura 5: Agenti trasferire in ogni iterazione dal Gruppo
Figura 5: Agenti trasferire in ogni iterazione dal Gruppo
Vediamo ancora i gruppi di segregazione. Perché? Cosa sta succedendo qui?

Figura 6: Numero di agenti trasferiscono in ogni iterazione per gruppo – Simulazione 3
Figura 6: Numero di agenti trasferiscono in ogni iterazione per gruppo – Simulazione 3
Ha a che fare con il modo in cui generiamo la configurazione iniziale. Le posizioni iniziali sono estratti casualmente da una distribuzione uniforme. Dato il nostro spazio di ricerca per ogni agente è il 100 vicini più prossimi, è sufficiente per un paio di agenti di essere infelice per un effetto a cascata a calciare in e determinano la segregazione. Casualità accoppiato con il numero basso-ish di agenti simulati consentirà ancora la configurazione iniziale che non sono stabili anche quando i parametri di configurazione suggeriscono che dovrebbero.

Ci sono alcune cose che possiamo provare: aumentare lo spazio di ricerca per più di 100 vicini di casa, aumentare il numero totale di agenti simulati alle probabilità rendere il gioco più favorevole, generare la configurazione iniziale in modo meno probabilistico per far rispettare alcune garanzie, o rilassarsi la somiglianza preferenza ancora di più rispetto alla quota di minoranza. Tutto sommato, ci potrebbe generare configurazioni iniziali che si traducono in quartieri integrati. Più su questo in conclusione, ma prima Rivediamo un assunto piuttosto debole per quanto riguarda le norme di circolazione degli agenti.

Rivisitare il Movimento direttivo Regole
Fino a questo punto, gli agenti abbiamo assunto non hanno informazioni sulla posizione di altri agenti nella mappa. Nella vita reale però, le informazioni a livello comunitario, mentre imperfetto, esiste. Se si desidera spostare, si ordina di avere un’idea di come il quartiere si sta spostando in assomiglia.

Diamo dotare agenti con tali informazioni. Un modo per farlo è quello di creare un certo numero di cluster di guida, che all’inizio equidistanti nella mappa, agente quindi che vuole trasferire, vengono fornite informazioni su ciascuno dei possibili raggruppamenti possono muoversi a: in particolare il composizione di tali raggruppamenti (ad esempio il 40% del gruppo 1, 60% Gruppo 2.). Questo migliora la nostra ipotesi su quanto gli agenti di informazione hanno su cui muoversi, ma non dice nulla circa la funzione di costo di movimento. Ai fini di questo post del blog si suppone il costo per passare a qualsiasi cluster è lo stesso [5].

L’implementazione non deve essere complicato. Si corre k-means con un prefissato numero di cluster di guida (ad esempio 10), allora ciascun agente prima di passare ottiene informazioni sulla composizione di tutti i cluster nonché uno spazio di delimitazione naif del cluster scelgono di spostarsi (da generato lì ). Per ora scelgono il cluster con la composizione più favorevole. Si noti che questa non è informazione perfetta. Come si vedrà nel prossimo paragrafo i grappoli guida non sono proprio la stessa cosa come il cluster segregati. Pensare a loro più come zone della città.

L’effetto atteso è un più rapido processo di segregazione.

Simulazione 4: Gli agenti hanno informazioni
Useremo la stessa configurazione iniziale in Simulazione 2, con l’eccezione delle regole movimento.

dimensione di vicinato 100
Somiglianza preferenza 0.333
composizione della popolazione 10000 agenti, 2 gruppi (30% e 70% della popolazione)
Norme che disciplinano il movimento Se somiglianza preferenza non ha incontrato, mossa per cluster con più di rappresentanza favorevoli. 7 cluster guida.
Invece di deposizione delle uova in modo casuale in un altro luogo, ogni agente sarà ora scegliere il cluster guida più favorevole per deporre le uova a.

Figura 7: Popolazione 10k, minoranza rende il 30% della popolazione, ciascuna di agente preferisce almeno il 33% dei loro vicini ad essere dal proprio gruppo
Figura 7: Popolazione 10k, minoranza rende il 30% della popolazione, ciascuna di agente preferisce almeno il 33% dei loro vicini ad essere dal proprio gruppo
A differenza di simulazione 2, la segregazione in questo caso è più veloce e più gravi.

Simulazione 5: Oltre 2 gruppi
dimensione di vicinato 100
Somiglianza preferenza 0.333
composizione della popolazione 10000 agenti, 3 gruppi (13%, 19% e 68%)
Norme che disciplinano il movimento Se somiglianza preferenza non ha incontrato, mossa per cluster con più di rappresentanza favorevoli.
Figura 8: Popolazione 10k, minoranza rende il 30% della popolazione, ciascuna di agente preferisce almeno il 33% dei loro vicini ad essere dal proprio gruppo
Figura 8: Popolazione 10k, minoranza rende il 30% della popolazione, ciascuna di agente preferisce almeno il 33% dei loro vicini ad essere dal proprio gruppo
Sebbene ci vuole più tempo, in questo 3-gruppo segregazione configurazione iniziale avviene ancora.

Considerazioni finali
In questo post del blog abbiamo costruito un semplice simulatore e visto come modelli collettivo può emergere dal comportamento individuale. Abbiamo visto come le preferenze di similarità sciolti possono portare alle comunità altamente segregate in base alla loro appartenenza a un gruppo.

La segregazione che ha spinto Schelling a studiare i persiste problema di oggi. In tutto questo post ho parlato di gruppi, perché a prescindere da come vengono definiti, se l’appartenenza al gruppo è un predittore della mobilità in qualsiasi modo, semplici regole si traducono in segregazione visibile. Ecco un esempio di segregazione residenziale in base al reddito.

Figura 9: la segregazione residenziale da reddito a New York
Figura 9: Residenziale segregazione dal reddito di New York [6]
Derivando intuizioni da questo semplice modello suggerisce che finché la preferenza somiglianza dei agenti è inferiore alla frazione della popolazione minoranza rappresenta la configurazione iniziale deve essere stabile; gli agenti non si trasferirà, e quartieri sarebbero ben integrati. Tuttavia, abbiamo visto come lievissime squilibri nella configurazione iniziale può portare alcuni agenti di delocalizzare e poi ancora un po ‘e la prossima cosa che vediamo è la segregazione completa. Inoltre, in realtà, la preferenza somiglianza non è l’unica ragione per le persone a trasferirsi. Come minimo, la preferenza somiglianza è un insieme ponderato di preferenze che possono includere cose come il reddito, la vicinanza al lavoro, l’occupazione e le opportunità di istruzione, ecc Qualsiasi politica mirata a rendere le nostre comunità più integrata dovrebbe affrontare molte di queste variabili.

Come tecnologi, Vorrei che potessimo fare di più per aiutare gli esperti di dominio (sociologi, economisti, educatori e responsabili politici in generale) le ipotesi di test, i comportamenti codificare e, infine, raccomanda la politica che rende la nostra comunità più integrate.

Il codice per eseguire le simulazioni è disponibile qui.

Riferimenti e Note
Modelli dinamici di segregazione – PDF. ↩︎

Gioco del Conway di vita – Wikipedia ↩︎

L’America è più diversificato che mai – ma ancora segregata – Washington Post ↩︎

K-D Tree – Wikipedia ↩︎

Si noti che questo può essere facilmente modificato. Per ogni agente che si muove, sappiamo sia la posizione corrente, nonché i luoghi candidati in cui l’agente può trasferirsi. Questo significa che abbiamo già una distanza da percorrere. Successivo avresti bisogno di trovare una funzione di costo che aumenta con la distanza (ad esempio, in modo lineare o in modo esponenziale). ↩︎

La segregazione residenziale da reddito a New York – fonte da Pew Research Center. ↩︎

ecnmst.gitlab.io/blog/2020-06-09/residential-segregation-a-simulation.html

Amazon e il logo di Amazon sono marchi di Amazon.com, Inc., o delle sue affiliate.