UrbanGraph
Una pipeline Python per trasformare dati urbani in multigrafi temporali: strutture, comunità ed evoluzioni dei territori italiani.
Che cosa è UrbanGraph
UrbanGraph trasforma osservazioni urbane riferite a CITY, COM_ASC2 e Periodo in un multigrafo. Il nodo rappresenta una specifica zona in uno specifico intervallo temporale; gli archi descrivono adiacenza geografica, continuità temporale o somiglianza tra profili urbani.
Il progetto usa pandas per il modello tabellare, NumPy e scikit-learn per distanze e standardizzazione, GeoPandas/Shapely per la componente geografica e NetworkX per le analisi topologiche.
Perché un multigrafo?
Analizzare tre reti indipendenti — una per ciascun periodo — non consente di seguire la stessa entità territoriale nel tempo. Il multigrafo risolve questo limite: ogni periodo è un livello della rete e ciascun comune è presente con una copia distinta in ogni grafo temporale, collegata alle copie degli altri periodi da archi temporali espliciti.
Architettura modulare
La separazione riduce le duplicazioni e rende verificabile ogni passaggio: il preprocessing definisce identità e metadati; il core costruisce i grafi; builders valida e assembla; analytics produce report immutabili; visualization rappresenta risultati già calcolati.
I grafi del multigrafo
La scelta più importante non è NetworkX, ma la regola con cui una distanza multidimensionale diventa un arco. Nei grafi non diretti il mutual k-NN privilegia relazioni confermate da entrambi i nodi. Nei grafi diretti ogni zona può indicare i propri riferimenti senza reciprocità. La distinzione same_city/other_city consente di confrontare somiglianza interna e analogie tra città diverse.
I moduli analitici
| Modulo | Funzione | Output principale |
|---|---|---|
| GraphStatistics | Statistiche descrittive sui DataFrame: città, periodi, flussi, pesi, distanze e gradi | Descrizioni complessive, per grafo, relazione, città e periodo |
| GraphMetrics | Costruisce un grafo NetworkX per ogni coppia Grafo+Relation: densità, componenti, clustering, cammini, diametro, reciprocità | Proprietà topologiche per grafo |
| GraphCentrality | Degree, in/out-degree, strength, betweenness, closeness, harmonic, eigenvector, PageRank e HITS | Valori per nodo, sintesi per grafo, ranking top-N |
| GraphCommunities | Louvain, greedy modularity e label propagation sui grafi proiettati (sum, mean, max, min) | Assegnazioni, dimensioni, densità, conduttanza, modularità |
| CommunityEvolution | Confronta assegnazioni tra periodi usando CITY+COM_ASC2; calcola Jaccard, predecessori/successori e classifica gli eventi | birth · persistence · split · merge · reorganization · dissolution |
| TemporalAnalysis | Attività per periodo, archi interni e tra periodi, persistenza, retention, churn, variazioni di densità | Serie temporali normalizzate per grafo e nodo |
| TrajectoryAnalysis | Trend di attività, grado e strength; riconosce re-entry; assegna classi stabile/crescente/decrescente/volatile | Sintesi e ranking delle traiettorie per CITY+COM_ASC2 |
I dati: attributi dei nodi
La struttura consente di utilizzare la rete non soltanto come struttura topologica, ma anche come supporto per analisi comparative tra caratteristiche socio-economiche, politiche e territoriali. L'evoluzione delle comunità potrà essere confrontata con indicatori immobiliari, risultati elettorali, sentiment e altre variabili per individuare possibili relazioni tra cambiamenti strutturali della rete e trasformazioni del territorio.
Costruzione del grafo e analisi delle comunità
L'obiettivo di questa fase del progetto è stata costruire una rappresentazione della città capace di descrivere non soltanto le singole zone urbane, ma soprattutto le relazioni che esse instaurano nel tempo. L'approccio adottato è quello delle reti multigrafo, in cui ogni zona viene rappresentata come un nodo e le relazioni tra i nodi vengono modellate attraverso archi appartenenti a grafi temporali differenti.
La domanda di fondo è se le dinamiche immobiliari consentono di individuare comunità territoriali riconoscibili e se tali comunità presentano un'identità coerente anche rispetto a caratteristiche che non sono state utilizzate per costruire il grafo.
Due direzioni analitiche complementari
Il nostro progetto utilizza i dati elettorali in due modi distinti. Nel classificatore supervisionato, le caratteristiche immobiliari, socio-economiche, demografiche e mediatiche sono impiegate per spiegare la probabilità di cambiamento della coalizione vincitrice nelle elezioni del 2018 e del 2022.
Nell'analisi delle comunità la direzione interpretativa è diversa. Le comunità vengono costruite senza utilizzare variabili politiche, esclusivamente sulla base delle dinamiche immobiliari. I risultati delle elezioni del 2013, 2018 e 2022 vengono associati successivamente alle comunità per descriverne il profilo politico e verificare se il pluralismo osservato all'inizio di ciascun periodo sia associato alla loro successiva stabilità.
Le due analisi rispondono pertanto a domande complementari: il classificatore studia quali caratteristiche territoriali siano informative rispetto al cambiamento elettorale; il grafo studia come le configurazioni immobiliari evolvano nel tempo e in quale contesto politico siano inserite.
Com'è costruito il grafo
Ogni nodo rappresenta una zona territoriale in uno specifico intervallo temporale. Le stesse zone sono osservate in tre snapshot successivi e collegate tramite archi temporali tra periodi consecutivi. Il multigrafo finale integra quindi struttura intra-periodo ed evoluzione inter-periodo.
| T1 | 2015–2018 | Indicatori successivi alle elezioni 2013 |
| T2 | 2019–2022 | Indicatori successivi alle elezioni 2018 |
| T3 | 2023–2025 | Indicatori successivi alle elezioni 2022 |
File atteso: assets/charts/figura_01_architettura_multigrafo_temporale.png
Costruzione del grafo economico
La similarità economica tra due zone è stata calcolata esclusivamente attraverso gli Indici di Dinamismo Immobiliare sviluppati nel progetto. Gli indicatori sintetizzano l'evoluzione del mercato nelle sei macro-categorie immobiliari — logistica, pertinenze, produttivo, residenziale ordinario, residenziale di pregio e terziario — e descrivono il comportamento del mercato durante ciascun periodo.
| Delta del prezzo tra inizio e fine periodo | Trend del prezzo | Variabilità del prezzo |
| Delta dell'eterogeneità tra inizio e fine periodo | Trend dell'eterogeneità | Variabilità dell'eterogeneità |
Gli indici sono usati per calcolare le distanze tra nodi, costruire gli archi di similarità economica e rilevare le comunità.
Visualizzazione in Gephi
Il multigrafo è stato importato in Gephi 0.11.2. I nodi sono colorati in base alle comunità allineate nel tempo e il layout è stato calcolato con ForceAtlas2. Per garantire confrontabilità visiva, i tre snapshot sono stati esportati mantenendo palette cromatica, orientamento e impostazioni grafiche coerenti.
Trascina per spostarti · rotella per lo zoom · passa sopra un nodo per isolarne i vicini · doppio click per reimpostare la vista
Figura 2 — Visualizzazione complessiva del multigrafo temporale.
Dal grafo alle comunità
Una volta costruito il grafo economico, questo viene analizzato mediante algoritmi di community detection. Le comunità sono rilevate separatamente nei tre snapshot mediante Louvain e rappresentano gruppi di aree che condividono dinamiche immobiliari simili e che risultano maggiormente connesse tra loro rispetto al resto della rete.
Poiché l'algoritmo assegna identificativi indipendenti a ogni esecuzione, è stato sviluppato un processo di allineamento che consente di riconoscere la stessa comunità nei diversi periodi. Questo passaggio permette di osservare fenomeni di crescita, contrazione, fusione e frammentazione delle comunità lungo l'intero orizzonte temporale.
Variabili esterne per la caratterizzazione
Le comunità, costruite esclusivamente sugli Indici di Dinamismo, sono interpretate attraverso cinque dimensioni esterne. Questa architettura consente di verificare se i cluster rappresentino configurazioni territoriali riconoscibili e non semplici artefatti della procedura di clustering.
| Dimensione | Variabili | Domanda interpretativa |
|---|---|---|
| Struttura urbanistica | Quota_Pertinenze Quota_Residenziale_Pregio Quota_Residenziale_Ordinario Quota_Produttivo Quota_Terziario Quota_Logistica |
Come è composta la comunità? |
| Posizionamento immobiliare | PrezzoRel_* per le sei macro-categorie | Qual è il prezzo relativo dei valori immobiliari? |
| Profilo socio-economico | Reddito medio; Gini; Aliquota media | Qual è la condizione economica e distributiva? |
| Profilo politico | Quote MCS, CDX, CSX e CEN | Come si distribuisce il consenso politico nelle aree che compongono la comunità all'inizio del periodo osservato? |
| Contesto mediatico | Delta_polarity_standardizzata | Come cambia il sentiment associato ai territori? |
Riduzione e verifica delle feature
La riduzione delle feature è stata condotta separatamente per famiglia mediante analisi descrittiva, controllo della varianza, correlazione interna e Mutual Information rispetto alla Community.
È emerso che gli Indici di Dinamismo risultano fortemente discriminanti, ma tale risultato è in parte atteso perché sono le variabili impiegate nella costruzione del grafo economico. Più rilevante è l'elevato potere informativo delle quote funzionali, che non sono state usate per costruire il grafo. La Quota_Residenziale_Pregio risulta tra le variabili più informative, seguita da quote produttive, terziarie e logistiche. Reddito e politica mostrano un potere discriminante più contenuto; il delta del sentiment è il fattore meno discriminante in senso statico.
Una Mutual Information bassa non implica irrilevanza causale. Indica soltanto che la variabile distingue meno le comunità già osservate.
Caratterizzazione delle comunità
L'unità di analisi viene portata dal nodo alla coppia Community × Periodo.
Per ogni comunità e periodo sono calcolate la media delle variabili esterne e la deviazione standard interna.
Lo scostamento standardizzato rispetto al periodo consente di leggere ogni comunità nel proprio contesto temporale. Valori positivi indicano caratteristiche sopra la media contemporanea; valori negativi indicano caratteristiche sotto la media. Lo score non è una nuova normalizzazione della variabile originale, ma una misura comparativa della comunità.
Distribuzione territoriale delle comunità
Per ogni comunità e periodo viene calcolata la quota di nodi appartenenti a ciascuna città. Questa informazione permette di distinguere comunità locali, dominate da una singola città, da archetipi urbani trasversali, composti da aree di città differenti che condividono dinamiche immobiliari e caratteristiche esterne simili.
Le Community 1 e 5 mostrano una progressiva localizzazione, rispettivamente verso Milano e Bologna. Le Community 3 e 4 seguono il percorso opposto: diventano multicittà senza perdere una configurazione funzionale riconoscibile. La Community 2 mantiene una struttura intermedia, dominata da Roma ma condivisa con altri contesti.
Selezione delle comunità principali
L'analisi dettagliata si concentra sulle comunità dalla C1 a C5. Il criterio è guidato dal Sankey: sono le comunità persistenti e numericamente rilevanti che strutturano i principali flussi del sistema. Le comunità minori o effimere rimangono nel quadro complessivo, ma non sono descritte singolarmente.
| Community | Evoluzione nodi | Flussi 15–18 → 19–22 | Flussi 19–22 → 23–25 |
|---|---|---|---|
| C1 | 81 → 42 → 9 | C1: 40 (49%) | C4: 36 (44%) | C6: 5 (6%) | C4: 34 (81%) | C1: 8 (19%) |
| C2 | 79 → 96 → 91 | C2: 67 (85%) | C3: 11 (14%) | C4: 1 (1%) | C2: 90 (94%) | C8: 6 (6%) |
| C3 | 67 → 115 → 115 | C3: 59 (88%) | C4: 7 (10%) | C6: 1 (1%) | C3: 112 (97%) | C2: 1 (1%) | C5: 1 (1%) |
| C4 | 62 → 108 → 139 | C4: 62 (100%) | C4: 105 (97%) | C3: 2 (2%) | C1: 1 (1%) |
| C5 | 53 → 3 → 4 | C3: 42 (79%) | C2: 7 (13%) | C5: 3 (6%) | C5: 3 (100%) |
L'evoluzione indica il numero di zone appartenenti alla comunità nei tre periodi. I flussi mostrano le principali comunità di destinazione delle stesse zone nel periodo successivo.
Impronta digitale delle comunità
A questo punto non ci interessa soltanto sapere quanti nodi/aree appartengono a ciascuna comunità, ma capire cosa le caratterizza.
A partire dalle feature risultate più informative abbiamo costruito, per ogni community, una fingerprint. Prima standardizziamo ciascuna variabile all'interno del periodo mediante z-score; successivamente calcoliamo, per ogni comunità, la media degli z-score dei nodi che la compongono. Otteniamo quindi un profilo che mostra quali caratteristiche sono superiori o inferiori alla media del sistema in quel momento.
| Community | Produttivo | Terziario | Res. ordinario | Res. pregio | Logistica | Prezzo produttivo | Prezzo pregio | Reddito |
|---|---|---|---|---|---|---|---|---|
| C1 | ▲▲ | ▲ | = | ASSENTE | ▲ | ▲ | ASSENTE | = |
| C2 | ▼▼ | = | = | ▲ | ▼ | ▼▼ | ▲ | ▲ |
| C3 | = | = | = | = | = | ▲ | ▲ | = |
| C4 | ▲ | = | = | ASSENTE | = | = | ASSENTE | = |
| C5 | = | = | = | = | ASSENTE | = | = | ▼ |
▲▲ molto sopra la media | ▲ sopra la media | = vicino alla media | ▼ sotto la media | ▼▼ molto sotto la media | ASSENTE = categoria immobiliare non presente.
Il fingerprint descrive esclusivamente le aree che appartengono alle comunità nel periodo finale. Non rappresenta la media storica dei nodi transitati nella comunità durante l'intero periodo di studio.
Lo zero rappresenta il comportamento medio. Una spinta verso valori positivi identifica una caratteristica sovrarappresentata nella community; valori negativi identificano invece caratteristiche relativamente deboli.
Abbiamo infine riportato questa classificazione sul territorio. Per ogni community mostriamo soltanto le città che ne fanno parte nel periodo finale 2023–2025. Le aree colorate sono le ASC2 della comunità, mentre tutte le altre ASC2 non afferenti a quella comunità restano in grigio. In questo modo possiamo verificare se “quartieri” appartenenti a città diverse, e quindi molto lontani geograficamente, vengono avvicinati dal modello perché condividono caratteristiche immobiliari ed anche economiche, socio-demografiche e politiche.
C1 — specializzazione produttivo-logistica milanese
La famiglia si contrae drasticamente ma conserva un'identità funzionale netta.
- Traiettoria: 81 → 42 → 9 aree. Geografia 2023–2025: Milano 100%.
- Fingerprint 2023–2025: quota produttivo +1.23σ; quota logistica +0.94σ; quota res. pregio -1.03σ.
C2 — configurazione metropolitana residenziale di pregio
È una famiglia numerosa e persistente, con forte presenza romana e profilo di mercato alto.
- Traiettoria: 79 → 96 → 91 aree. Geografia 2023–2025: Roma 59%; Torino 25%; Firenze 11%; Bologna 3%; Napoli 1%.
- Fingerprint 2023–2025: quota res. pregio +0.89σ; prezzo rel. res. pregio +0.89σ; quota produttivo -1.03σ.
C3 — archetipo urbano stabile e trasversale
Mantiene 115 aree negli ultimi due periodi e presenta la continuità più alta.
- Traiettoria: 67 → 115 → 115 aree. Geografia 2023–2025: Firenze 37%; Roma 23%; Torino 20%; Napoli 16%; Bologna 4%.
- Fingerprint 2023–2025: quota logistica +0.29σ; prezzo rel. produttivo +0.57σ; reddito medio -0.29σ.
C4 — archetipo urbano esteso e assorbente
È la famiglia che cresce di più e nel 2023–2025 include tutte e sei le città.
- Traiettoria: 62 → 108 → 139 aree. Geografia 2023–2025: Milano 30%; Torino 26%; Roma 18%; Firenze 15%; Napoli 8%; Bologna 3%.
- Fingerprint 2023–2025: quota produttivo +0.51σ; quota res. pregio -1.03σ; reddito medio -0.43σ.
C5 — nicchia locale bolognese
Il grande gruppo iniziale quasi scompare e resta un piccolo nucleo esclusivamente bolognese.
- Traiettoria: 53 → 3 → 4 aree. Geografia 2023–2025: Bologna 100%.
- Fingerprint 2023–2025: quota CSX +1.22σ; Gini -0.99σ; quota logistica -0.83σ.
Il punto, quindi, non è stato solo trovare quartieri geograficamente vicini, ma individuare geografie urbane funzionalmente simili.
Pluralismo politico e retention
Composizione politica delle comunità
Prima di sintetizzare il pluralismo attraverso l'indice di Shannon, osserviamo direttamente come si distribuisce il consenso politico medio all'interno delle comunità. Il grafico confronta, per ciascuna community, la quota percentuale associata alle quattro aree politiche considerate — MCS, CDX, CSX e CEN — rendendo visibili sia le comunità più polarizzate sia quelle caratterizzate da una composizione più equilibrata.
Le comunità caratterizzate da maggiore pluralismo politico presentano anche un tasso di permanenza più basso nel periodo successivo?
Volevamo verificare se, oltre alle differenze immobiliari, esistessero caratteristiche extra-immobiliari associate all'evoluzione delle comunità. Per questo abbiamo iniziato a esplorare la dimensione politica e la possibile relazione tra preferenze di voto e andamento immobiliare.
Le abitudini di voto possono descrivere chi abita nelle comunità e permettere di esplorare eventuali relazioni con l'evoluzione del mercato immobiliare
Analisi di Shannon e Retention
Per verificare se il pluralismo politico fosse associato alla stabilità delle comunità, abbiamo confrontato l'indice di Shannon normalizzato — che misura quanto il consenso medio della comunità sia distribuito tra le diverse coalizioni — con il tasso di permanenza dei nodi tra due periodi consecutivi.
Nel complesso, non emerge una relazione statisticamente significativa tra pluralismo politico e stabilità. La correlazione di Pearson è pari a r = -0.235 con p = 0.513, mentre la correlazione di Spearman è ρ = -0.419 con p = 0.228. Entrambi i p-value sono superiori alla soglia convenzionale di 0.05.
La lieve pendenza negativa suggerisce che comunità con maggiore pluralismo politico tendano, in media, a mostrare una stabilità leggermente inferiore. Tuttavia, la relazione è debole e non significativa: il pluralismo politico non emerge come fattore determinante della permanenza delle comunità immobiliari.
Questa evidenza va interpretata con cautela. L'analisi si basa su un numero limitato di osservazioni, corrispondenti alle principali comunità nelle due transizioni temporali considerate. Il risultato ha quindi un valore esplorativo: può orientare analisi successive, ma non consente di formulare conclusioni causali o definitive.
Quali caratteristiche sono associate alla stabilità?
Abbiamo quindi esteso la verifica alle caratteristiche non politiche delle comunità. Il quadro che emerge indica che la stabilità della rete sembra essere associata soprattutto alla composizione funzionale del territorio, mentre le altre variabili considerate mostrano relazioni più deboli e, nella maggior parte dei casi, prive di significatività statistica.
Le altre caratteristiche analizzate — quota di pertinenze, quota di residenziale di pregio, prezzo relativo del comparto produttivo, prezzo relativo del residenziale di pregio e sentiment della stampa locale — presentano coefficienti contenuti e p-value elevati. Non emergono quindi evidenze di una loro associazione sistematica con la stabilità delle comunità.
Conclusioni
Il contributo di questo lavoro non consiste semplicemente nell'applicazione di tecniche di community detection a un grafo urbano. Le comunità sono state costruite esclusivamente a partire dalle dinamiche del mercato immobiliare, ma risultano riconoscibili anche rispetto a caratteristiche strutturali, economiche e geografiche che non sono state utilizzate nel processo di clustering. Le dinamiche immobiliari sembrano quindi restituire una rappresentazione sintetica della struttura funzionale della città e della sua evoluzione nel tempo.
La verifica esplorativa sul pluralismo politico non mostra invece una relazione significativa con la permanenza delle comunità. Pur osservando una lieve tendenza negativa, il pluralismo spiega soltanto una quota molto limitata della variabilità della retention. In questo quadro, la distribuzione del consenso politico appare meno informativa della natura funzionale delle aree urbane per descrivere la stabilità della rete.
Tra le caratteristiche analizzate, il risultato più netto riguarda la quota di residenziale ordinario, unica variabile associata positivamente e in modo statisticamente significativo alla retention (r = 0.68; p = 0.032). Al contrario, una maggiore specializzazione produttiva mostra una tendenza verso una minore stabilità, anche se l'associazione non raggiunge la significatività statistica.
Nel complesso, i risultati suggeriscono che la composizione funzionale del territorio sia più strettamente associata alla stabilità delle comunità rispetto al pluralismo politico o alle altre variabili considerate. Il tessuto residenziale ordinario emerge come il segnale più robusto di continuità, mentre le aree a maggiore vocazione produttiva sembrano potenzialmente più esposte a processi di trasformazione.
Queste conclusioni devono comunque essere lette come evidenze esplorative. Il numero di osservazioni disponibili è limitato e l'obiettivo non è dimostrare relazioni causali, ma individuare quali caratteristiche meritino ulteriori approfondimenti attraverso campioni più ampi, serie temporali più estese e nuove verifiche statistiche.