57
Università degli studi Roma Tre Corso di Laurea Magistrale in Ingegneria delle Infrastrutture viarie e trasporti (D.M.270/04) RELAZIONE DI FINE TIROCINIO ANALISI DI DATI FCD PER LA CALIBRAZIONE DI UN MODELLO DI PARK & RIDE A.A. 2016/2017 Relatrice: Prof.ssa Marialisa Nigro Correlatore: Dott. Carlo Liberto Laureanda: Martina Trojani

Università degli studi Roma Tre - didattica.sic.uniroma3.it · strumentario opzionale interfaccia MATLAB con il motore di calcolo simbolico di Maple. MATLAB è usato da milioni di

Embed Size (px)

Citation preview

Università degli studi Roma Tre

Corso di Laurea Magistrale in

Ingegneria delle Infrastrutture viarie e trasporti

(D.M.270/04)

RELAZIONE DI FINE TIROCINIO

ANALISI DI DATI FCD PER LA CALIBRAZIONE DI UN

MODELLO DI PARK & RIDE

A.A. 2016/2017

Relatrice:

Prof.ssa Marialisa Nigro

Correlatore:

Dott. Carlo Liberto

Laureanda:

Martina Trojani

1

1. ABSTRACT

In questa relazione si vuole descrivere il progetto svolto in collaborazione con il centro

di ricerca ENEA, sito in Via Anguillarese, 301, 00123 Roma. Il tirocinio finalizzato alla tesi

è stato svolto nel “Dipartimento Tecnologie Energetiche”, divisione “Produzione,

Conversione e Uso efficienti dell’energia” ed in particolare nel “Laboratorio Sistemi e

tecnologie per la Mobilità e l’Accumulo”, con una durata di 150 ore.

Il tema della mobilità sostenibile sta divenendo negli ultimi anni uno degli argomenti

di maggiore dibattito nell’ambito delle politiche ambientali locali, nazionali e

internazionali che possiamo identificare con l’insieme di azioni volte a ridurre l’impatto

ambientale derivante dalla mobilità delle persone e delle merci. Il miglioramento del

sistema dei trasporti, in particolare in ambito urbano, rappresenta una delle priorità per

i paesi che vogliono favorire una migliore qualità della vita dei cittadini, in termini di

relazioni sociali e culturali, in ambito locale, nazionale e internazionale e nel creare nuove

opportunità economiche.

Le aree urbane si vanno sempre più qualificando come ambienti dove si lavora, ci si

muove, si fanno affari e dove la vita è regolata dalla funzionalità dei servizi pubblici ma

anche dai nuovi stili di vita dei singoli cittadini legati ad esempio al tempo libero. La

mobilità urbana è diventata una delle più grandi opportunità di sviluppo e nel contempo

fonte di problemi della vita contemporanea, il cui maggiore fattore strutturale è legato ai

cambiamenti della morfologia urbana e alle trasformazioni dell’intero sistema urbano nel

suo complesso. Il traffico urbano è senza dubbio uno dei principali problemi della nostra

epoca e le sue conseguenze si ripercuotono su molteplici aspetti della vita degli individui.

Esiste la possibilità del Park and ride, che consente agli automobilisti diretti verso il

centro città di parcheggiare il proprio mezzo nei parcheggi custoditi, utilizzando così un

bus navetta per raggiungere il centro città. Le tariffe della sosta sono agevolate o in alcuni

casi, come per il caso del comune di Roma, la sosta è gratuita per tutti gli abbonati al

servizio pubblico Atac.

L’obiettivo di questo tirocinio è studiare dei dati FCD forniti dall’Ente di Ricerca ENEA

e carpire, attraverso un modello matematico implementato attraverso tecniche di

Machine Learning, quali fattori incidono maggiormente nella politica di Park & Ride

effettuata nel comune di Roma. In particolare lo sviluppo di questo tirocinio formativo

sarà utile per la stesura della tesi ai fini dell’implementazione del modello di Random

Forest utile a stimare le variabili indipendenti del modello e un’eventuale variazione

2

della quota di Park & Ride generata da un’origine in funzione di modifiche o inserimento

di variabili esterne.

2. INTRODUZIONE

I dati a supporto di questa analisi hanno richiesto una prima fase di elaborazione poiché

appartenenti a diverse metodologie di raccolta. Per quanto riguarda il trasporto privato

sarà utilizzata una banca dati costituita da dati derivanti da veicoli sonda (Floating Car

Data, flotta Octotelematics); a supporto di questi per la calibrazione del modello saranno

utilizzati anche dati del trasporto pubblico, derivanti dagli Open Data, resi disponibili

dalle principali aziende di TP della città di Roma, riferiti solamente agli spostamenti

all’interno del comune.

In relazione ai dati a disposizione saranno ipotizzate delle variabili indipendenti

secondo il quale il modello verrà successivamente calibrato: l’insieme delle variabili

indipendenti, a cui saranno associate le relative quote percentuali di Park & Ride emesse

da ogni zona, andrà a costituire il database su cui si effettuerà la stima del modello. Prima

però, il database dovrà essere depurato di tutti quegli elementi che non saranno

rappresentativi o che possano in qualche modo disturbare la calibrazione del modello ed

infine saranno studiate e applicate tecniche di Machine Learning quali Random Forest.

PROGRAMMI UTILIZZATI

L’esperienza di tirocinio è stata fondamentale per l’acquisizione di competenze tecniche

e informatiche relative all’utilizzo dei software MatLab e Quantum GIS e al linguaggio

di programmazione Python.

2.1.1. MATLAB

MATLAB (abbreviazione di Matrix Laboratory) è un ambiente per il calcolo numerico e

l'analisi statistica scritto in C, che comprende anche l'omonimo linguaggio di

programmazione creato dalla MathWorks. MATLAB consente di manipolare matrici,

visualizzare funzioni e dati, implementare algoritmi, creare interfacce utente, e

interfacciarsi con altri programmi. Nonostante sia specializzato nel calcolo numerico, uno

strumentario opzionale interfaccia MATLAB con il motore di calcolo simbolico di Maple.

MATLAB è usato da milioni di persone nell'industria e nelle università per via dei suoi

numerosi strumenti a supporto dei più disparati campi di studio applicati e funziona su

diversi sistemi operativi, tra cui Windows, Mac OS, GNU/Linux e Unix.

3

MATLAB è spesso utilizzato per costruire i sistemi avanzati di Big Data Analytics di

oggi, dalla manutenzione predittiva e telematica ai sistemi avanzati di assistenza alla

guida e all'analisi dei sensori.

QUANTUM GIS

QGIS è un Sistema di Informazione Geografica Open Source facile da usare, rilasciato

sotto la GNU General Public License. QGIS è un progetto ufficiale della Open Source

Geospatial Foundation (OSGeo). QGIS offre un numero in continua crescita di

funzionalità dal programma principale e dai plugin. È possibile visualizzare, gestire,

modificare, analizzare dati e comporre mappe stampabili. stato utilizzato per analizzare

la localizzazione dei parcheggi di scambio e i flussi relativi.

2.2.1. PYTHON

Python è un linguaggio di programmazione ad alto livello, rilasciato pubblicamente per

la prima volta nel 1991 dal suo creatore Guido van Rossum, programmatore olandese

attualmente operativo in Dropbox. Deriva il suo nome dalla commedia Monty Python's

Flying Circus dei celebri Monty Python, in onda sulla BBC nel corso degli anni 70.

Attualmente, lo sviluppo di Python (grazie e soprattutto all'enorme e dinamica comunità

internazionale di sviluppatori) viene gestito dall'organizzazione no-profit Python

Software Foundation.

Python supporta diversi paradigmi di programmazione, come quello object-oriented

(con supporto all'ereditarietà multipla), quello imperativo e quello funzionale, ed offre

una tipizzazione dinamica forte. È fornito di una libreria built-in estremamente ricca, che

unitamente alla gestione automatica della memoria e a robusti costrutti per la gestione

delle eccezioni fa di Python uno dei linguaggi più ricchi e comodi da usare.

Python è un linguaggio pseudocompilato: un interprete si occupa di analizzare il codice

sorgente (semplici file testuali con estensione .py) e, se sintatticamente corretto, di

eseguirlo. In Python, non esiste una fase di compilazione separata (come avviene in C, o

in Java) che generi un file eseguibile partendo dal sorgente. L'essere pseudointerpretato

rende Python un linguaggio portabile. Una volta scritto un sorgente, esso può essere

interpretato ed eseguito sulla gran parte delle piattaforme attualmente utilizzate, siano

esse di casa Apple (Mac) che PC (Microsoft Windows e GNU/Linux). Semplicemente,

basta la presenza della versione corretta dell'interprete.

4

Queste caratteristiche hanno fatto di Python il protagonista di un enorme diffusione in

tutto il mondo, e anche in Italia, negli ultimi anni. Questo perché garantisce lo sviluppo

rapido di applicazioni di qualsiasi complessità in tutti i contesti: dal desktop al web,

passando dallo sviluppo di videogiochi e dallo scripting di sistema, infatti rappresenta

una delle tecnologie principali del core business di colossi come Google (YouTube è

basato su Python) e ILM.

3. IL MACHINE LEARNING E LE RANDOM FOREST

Il Machine Learning (ML), in italiano apprendimento automatico, è una sotto branca

dell’informatica originariamente nata come approccio per il raggiungimento di

un’intelligenza artificiale. Questo obiettivo è stato successivamente sostituito, in un’ottica

più concreta, con l’affrontare e risolvere problemi di natura pratica.

L’idea alla base del ML è quella di replicare il processo di apprendimento mirato

all’esecuzione di un compito, sia esso specifico o meno, tramite la realizzazione di

algoritmi generici il cui scopo è quello di creare dei modelli per i dati trattati. Grazie a

questi modelli è possibile superare le limitazioni derivanti da programmi o algoritmi

espliciti (statici) e riuscire ad effettuare decisioni e predizioni basate invece sui dati che si

hanno a disposizione. Il ML risulta molto legato ad altre discipline, come ad esempio il

Data Mining con cui condivide diverse metodologie, tuttavia si differenzia da esse in un

aspetto importante: lo scopo dell’apprendimento è quello di ottenere la migliore

generalizzazione di un problema per riuscire ad effettuare delle predizioni quanto più

accurate possibile sui dati che verranno presentati al sistema. L’evoluzione ed il

miglioramento di un sistema di questo tipo quindi non sarà più legata ad ulteriori

sviluppi di un determinato programma, bensì al continuo utilizzo di dati più aggiornati

non appena questi vengono resi disponibili.

Un processo di apprendimento, identificabile come un compito di ML, può essere

classificato secondo tre categorie principali che si differenziano in base al feedback che il

sistema riceve durante il procedimento:

Apprendimento supervisionato: vengono presentati i dati di input e i risultati

desiderati. Lo scopo è di apprendere una regola generale che colleghi i dati in ingresso

con quelli in uscita;

5

Apprendimento non supervisionato: vengono presentati i dati di input ma nessun

risultato desiderato. Lo scopo è quello di scoprire schemi o modelli nascosti nei dati

presentati;

Apprendimento con rinforzo: vengono raccolti i dati di input tramite l’interazione

con un ambiente dinamico; ad ogni azione in questo ambiente corrisponde una

ricompensa (anche negativa) e l’obiettivo è quello di svolgere un determinato compito

massimizzando il valore della ricompensa.

VALIDAZIONE EFFICACE DEI MODELLI DI MACHINE LEARNING

La validazione dei modelli è stata un’area di estremo interesse per molte istituzioni

finanziarie che si affidano ai modelli statistici per l’underwriting, il pricing, il reserving e il

Capital Management. Tradizionalmente, per creare modelli che permettessero di fare

previsioni sono state utilizzate tecniche relativamente trasparenti e consolidate

all’interno del mondo statistico quali la regressione lineare (LM), i modelli lineari

generalizzati (GLMs) e altri metodi statistici. Tuttavia, i recenti sviluppi tecnologici e dei

software open source hanno aumentato la potenza computazionale, favorendo la fruibilità

di algoritmi di elaborazione dati più efficaci, generando un aumento della richiesta di

soluzioni predittive più avanzate e sofisticate. A tale richiesta, il mercato ha risposto con

gli algoritmi di Machine Learning.

Limitate sino a qualche anno fa al solo mondo accademico, queste tecniche di modelling

predittivo sono in grado di effettuare previsioni più accurate rispetto ai metodi di

modelling più tradizionali. Tuttavia, l’aumento del potere predittivo porta con sé maggiori

rischi legati appunto alla modellazione. I processi che consentono a queste nuove

tecniche di ottenere buoni risultati fanno sì che i processi stessi siano complessi e meno

trasparenti di quelli tradizionali. Se vi è scarsa trasparenza nel processo di modelling è

facile per un utente non esperto usare impropriamente le tecniche di Machine Learning e

generare risultati di tipo “black box”, a causa di una inadeguata comprensione delle

relazioni sottostanti e rendendo ancora più cruciale la validazione del modello.

Le tecniche di Machine Learning appartengono ad una famiglia di algoritmi che

racchiudono insieme la statistica applicata e le scienze informatiche. A differenza dei

metodi tradizionali di regressione, le Machine Learning sono tecniche non parametriche,

ovvero non vincolate da una forma funzionale e libere da qualsiasi tipo di assunzione a

priori di distribuzione statistica. Nelle tecniche parametriche, di cui la regressione lineare

è un esempio, un aumento di una variabile indipendente (ad esempio la variabile che

spiega un risultato quale la variazione dei prezzi delle abitazioni) deve determinare

esclusivamente un aumento o una diminuzione della variabile dipendente (ad esempio,

6

il risultato che si sta stimando, come il numero delle persone con mutuo che sono in

difficoltà o che falliscono). Nelle tecniche di Machine Learning, l’effetto di una variabile

indipendente su quella dipendente può differire in base ai livelli e alle interazioni con

altre variabili. La capacità di catturare queste interazioni attraverso diversi valori delle

variabili consente a queste tecniche di andare oltre i tradizionali modelli parametrici.

OVERFITTING (ECCESSIVO ADATTAMENTO)

Le tecniche di Machine Learning e gli algoritmi di classificazione sono più sensibili al

fenomeno dell’overfitting rispetto ai più tradizionali modelli di previsione. L’overfitting si

verifica quando un modello basa le sue previsioni su correlazioni spurie all’interno di un

campione di dati anziché su relazioni autentiche esistenti all’interno della popolazione

nel suo complesso. Mentre i modelli lineari ed i GLMs possono generare livelli contenuti

di overfitting, gli algoritmi di Machine Learning sono ancora più sensibili a questo tipo di

criticità, principalmente a causa della mancanza di vincoli parametrici. In assenza di una

forma funzionale, questi algoritmi possono utilizzare ogni relazione, lineare e non, tra le

variabili nei dati del campione di training, per eseguire raggruppamenti e/o fare

previsioni. Il maggior rischio è che ogni singolo campione, su cui viene costruito il

modello, abbia le proprie peculiarità che non riflettano puntualmente la vera

popolazione, riducendo il potere di replicabilità del fenomeno osservato nella totalità dei

dati. Gli alberi di Classificazione e di Regressione sono particolarmente sensibili a questa

tipologia di criticità, in quanto possono suddividere i dati fino a raggiungere la

classificazione perfetta o quasi perfetta, generando così alcune partizioni fuorvianti.

Se un modello caratterizzato da overfitting viene applicato a nuovi dati appartenenti alla

stessa popolazione, può, potenzialmente, produrre previsioni poco accurate. Vista

l’importanza che molte aziende attribuiscono nei processi decisionali alle analisi

predittive, questa mancata accuratezza può avere effetti molto distorsivi.

RIDUZIONE DELLA TRASPARENZA

Le tecniche di Machine Learning riducono, inoltre, la trasparenza del processo

interpretativo del modello previsionale. Con le tecniche di regressione più tradizionali, è

più intuitivo vedere come interagiscono le variabili all’interno del modello; infatti per

valutare la significatività e la direzione di un effetto, è sufficiente esaminare un singolo

coefficiente. Se quest’ultimo è positivo, ciò implica una relazione positiva tra la variabile

indipendente di interesse e la variabile dipendente, e viceversa. La maggior parte delle

tecniche di apprendimento automatico non produce tuttavia risultati così facilmente

interpretabili. Alcuni algoritmi, come gli alberi di Classificazione e Regressione semplici,

presentano grafici abbastanza comprensibili, ma altri, quali il Gradient Boosting, le Random

7

Forest e le Reti Neurali, funzionano come delle specie di “scatole nere” diminuendo la

trasparenza e l’interpretabilità della metodologia sottostante. Sebbene un utente possa

inserire i dati e le specificità del modello e pur essendo possibile esaminare i vari steps

intermedi generati dall’algoritmo per capire come è in grado di generare le previsioni,

spesso è necessario ed opportuno possedere una conoscenza molto approfondita e

consolidata di queste tecniche per poter valutare con trasparenza e giudizio critico

l’intero processo.

Nelle tecniche di regressione tradizionali, uno sguardo alla direzione e alla

significatività del singolo coefficiente, agli standard error ed all’adattamento complessivo

dei modelli ai dati, consente agli utenti di avere un’idea, per quanto approssimativa, del

corretto potere predittivo dei modelli utilizzati. Se la maggioranza dei coefficienti delle

variabili risultano non significativi, la bontà di adattamento del modello è inaccurata, o

se le variabili non hanno il potere esplicativo previsto, l’utente sa che il modello potrebbe

contenere un errore o un settaggio non ottimale. Il modello potrebbe essere stato adattato

su dati non adeguati, scarsamente specificati o utilizzati in un contesto non corretto. Con

le tecniche di Machine Learning, tuttavia, la mancanza di trasparenza nelle previsioni

rende più difficoltosa l’individuazione di questi tipi di criticità.

ANALISI DEI RISULTATI

Con analisi dei risultati si intende la comparazione dei risultati stimati rispetto ai dati

osservati. Per queste tecniche avanzate di previsione, l’analisi dei risultati rappresenta,

pur nella sua semplicità, un approccio molto utile per comprendere e valutare le

interazioni e le potenziali criticità del modello implementato. Un modo per comprendere

il potere predittivo del modello è quello di rappresentare in un diagramma i valori della

variabile indipendente in funzione sia del risultato osservato che di quello stimato,

insieme al numero di osservazioni. Ciò consente all’utente di osservare la relazione

univariata all’interno del modello e valutare il livello di overfitting prodotto. Per valutare

le possibili interazioni, possono essere creati anche diagrammi incrociati valutando i

risultati in due dimensioni anziché in una. Oltre le due dimensioni diventa difficile

valutare i risultati, ma osservando le interazioni univoche si acquisisce una prima

comprensione del comportamento del modello rispetto alle singole variabili indipendenti

utilizzate.

I dati campionari vengono solitamente suddivisi in proporzione 80-20, in cui l’80%

viene utilizzato per adattare o “addestrare” il modello (training data set) e il restante 20%

(validation data set) viene impiegato per valutarne la capacità predittiva.

8

LE RANDOM FOREST

Le random forest sono uno strumento di classificazione introdotto per la prima volta

nel 2001 da Leo Breiman, nate da lavori precedenti dello stesso autore volti a migliorare

le prestazioni ottenibili da singoli alberi di decisione, introducendo alcune componenti

aleatorie nella costruzione degli stessi e un meccanismo di voto per la determinazione del

risultato della classificazione.

Le Random Forest sono un metodo di apprendimento di insieme per la classificazione

o la regressione che operano costruendo una moltitudine di alberi decisionali durante il

periodo di addestramento e forniscono il risultato che è la modalità delle classi (nel caso

della classificazione) o la previsione media (nel caso della regressione) dei singoli alberi.

LE RANDOM FOREST: ESEMPIO ESPLICATIVO

Consideriamo un insieme di punti su un piano cartesiano a cui ad ogni punto è associato

un vettore di attributi, in questo caso una coppia (x1, x2) che rappresenta la posizione sul

piano. Ogni punto può appartenere ad una di 4 classi distinte, Verde, Rosso, Giallo o Blu.

Attraverso un albero decisionale è possibile classificare il dataset in maniera tale da

riuscire a prevedere il colore di nuovi punti in funzione della loro posizione (x1, x2).

Figura 1 - Analisi spaziale esempio applicativo

Il punto di partenza dell’albero decisionale (in questo caso Classification Tree) è la

radice, ovvero l’insieme che comprende tutto il campione da analizzare in cui ogni classe

ha probabilità 𝑝𝑡(𝑐|𝑣) = 𝑁𝑐/𝑁𝑡𝑜𝑡 (la probabilità che il t-esimo albero scelga la classe c per

l’elemento v è uguale al numero di elementi appartenenti alla classi c fratto il numero di

elementi totali). Ad ogni nodo a partire dalla radice l’algoritmo suddivide il campione in

2 sottoinsiemi 𝑆𝑖𝐿 𝑒 𝑆𝑖

𝐷 (tali che 𝑆𝑖 = 𝑆𝑖𝐿 ⋃ 𝑆𝑖

𝐷 ) in funzione di un attributo: ad esempio,

posto un valore soglia di x1*, nel primo sottoinsieme ricadranno i punti con il valore di

x1 < x1* e nel secondo quelli con x1 ≥ x1*. La scissione di ogni insieme avviene in modo

9

tale da massimizzare la probabilità 𝑝𝑡(𝑐|𝑣) per classificare correttamente l’elemento e con

il numero minimo di iterazioni.

La Random Forest si ottiene combinando più alberi decisionali paralleli e mediando la

probabilità ottenuta da ogni albero.

Al crescere del numero di alberi 𝑝(𝑐|𝑣) → 𝑝(𝑐|𝑣)∗ mentre al crescere della profondità

degli alberi cresce la possibilità di andare in overfitting (eccessivo adattamento al

campione).

Per evidenziare meglio la differenza tra Decision Tree e Random Forest è stata effettuata

una comparazione dei 2 metodi a livello numerico. È stato creato un insieme di dati

costituito da 500 coppie (x, y) il cui andamento può essere approssimato con una funzione

y = log(x), ad eccezione di alcuni valori che possiamo considerare come “rumore”, ed è

stato sottoposto ad entrambe le tecniche.

10

Successivamente sono state applicate 2 tipologie di regressione (Decision Tree e

Random Forest) con 2 livelli di profondità (max depth = 2 e max depth = 5).

11

I risultati ottenuti sono stati i seguenti:

12

4. I FLOATING CAR DATA

I Floating Car Data sono dati derivanti da veicoli sonda, cioè vengono raccolti dalle On

Board Unit (OBU) installate, per lo più a scopi assicurativi, su veicoli stradali. Questi

costituiscono, quindi, dei "sensori mobili" nel flusso veicolare che non richiedono alcun

tipo di installazione aggiuntiva lungo la sede stradale.

Il veicolo sonda manda i dati di traffico più recenti continuamente o con periodicità ad

un sistema centrale di raccolta dati, che colleziona tutte le provenienze dai vari veicoli

della flotta FCD e mette i dati a disposizione degli analisti di traffico. I dati rilevati dalle

OBU (tipicamente la posizione e la relativa velocità istantanea, ad intervalli regolari

sufficientemente ravvicinati) presentano numerosi pregi, ai fini di un utilizzo per

osservazioni ed analisi sulla mobilità:

a differenza dei dispositivi fissi di monitoraggio, la tecnica FCD consente di

ottenere informazioni più affidabili sui viaggi in termini di lunghezza dei percorsi e

tempi di percorrenza, e di valutare i flussi origine-destinazione;

è più economicamente sostenibile rispetto alle altre tecniche di monitoraggio: i dati

sono acquisiti per altre finalità e, quindi, a costo marginale nullo;

i dati sono acquisiti in maniera regolare e protratta nel tempo, così da consentire

analisi di tendenza;

questa tecnica fornisce il vantaggio di copertura dell’intera rete stradale: i dati sono

diffusi sul territorio nazionale (ed extranazionale), anche se con intensità variabile.

I dati acquistati dalla compagnia OCTO Telematics rappresentano una raccolta di dati

sugli spostamenti compiuti dai veicoli quali: posizione, velocità, tempo, distanza

percorsa. Il set di dati disponibili riguarda la città metropolitana di Roma e la sua

provincia per il mese di maggio 2013. Il campione OCTO Telematics, all’epoca del

rilevamento, era accreditato per circa il 7% dell’intero parco circolante nell’area romana,

che è stato oggetto del nostro studio.

5. L’ELABORAZIONE DEI DATI

I parcheggi di scambio sono delle aree in cui è possibile effettuare un cambio di modalità

di trasporto, generalmente privato-pubblico. A Roma i parcheggi di scambio sono situati

presso le stazioni della metropolitana A, B, B1 e C, presso le fermate delle ferrovie

metropolitane (Ferrovie Laziali, Roma-Viterbo, Roma-Lido) e nei principali nodi di

interscambio con le linee di superficie.

Nelle analisi descritte successivamente non saranno considerati i parcheggi aperti dopo

il mese di maggio 2013.

13

Dagli Open Data reperibili On-line dal sito ufficiale di Roma Servizi Mobilità sono stati

riconosciuti 56 parcheggi di scambio con relative caratteristiche, quali Nome, Indirizzo,

Posti auto disponibili, Tipologia, Interscambio con TPL, Orario, Costo.

Analizzando la localizzazione di questi parcheggi in relazione alla zonizzazione ISTAT,

formata da 13'656 zone di Roma + 122 comuni esterni, è stato possibile rilevare delle

informazioni aggiuntive relative ai parcheggi:

53 parcheggi risultano interni al comune di Roma, mentre 3 risultano nel comune

di Monte Compatri;

Figura 2 - Parcheggi dell'area oggetto di studio

Alcuni parcheggi rappresentano gli ingressi della stessa area di parcheggio

(Anagnina, Rebibbia, Pantano)

Figura 3 - Parcheggio di Anagnina

14

In totale quindi abbiamo 51 aree di parcheggio, in cui ogni area comprende uno o più

parcheggi.

Il database con i dati FCD utilizzati, risalente al mese di maggio 2013, contiene i dati

relativi a spostamenti, distanze e tempi nei soli giorni feriali martedì, mercoledì e giovedì

e i veicoli entrati/usciti dalle aree di parcheggio, ad intervalli temporali di 1h, dalle 00:00

alle 23:59.

Gli spostamenti forniti rappresentano i movimenti effettuati dagli utenti rilevati dal

momento in cui il veicolo viene acceso al momento in cui viene spento, non considerando

però eventuali brevi soste intermedie. Sono stati quindi uniti tutti gli spostamenti la cui

destinazione di uno coincideva con l’origine dell’altro e il cui intervallo temporale tra

arrivo e partenza non superasse i 15 minuti. Considerando poi la zonizzazione ISTAT è

stato possibile ricreare le seguenti matrici:

• Matrice Origine – Destinazione: 13’656 zone di Roma + 122 comuni esterni

(spostamenti, distanze, tempi con relativi dev. Standard e valori min e max);

• Matrice Origine – Parcheggio: 13’656 zone di Roma + 122 comuni esterni x 51 park

(spostamenti, distanze, tempi con relativi dev. Standard e valori min e max);

• Occupazione parcheggi: veicoli entrati/usciti dalle aree di parcheggio per ogni area

di parcheggio e per ogni intervallo t.

In seguito alla creazione delle matrici di occupazione dei parcheggi è stata necessaria

un’analisi di quest’ultimi: in particolare bilanciando le entrate e le uscite ci si aspetta un

riempimento crescente fino al punto massimo e in seguito uno svuotamento del

parcheggio, come accade per esempio nel parcheggio di Anagnina:

Figura 4 - Trend del riempimento del parcheggio di Anagnina

15

In alcuni casi però è stato riscontrato un trend non atteso, come per esempio il caso della

stazione di Valle Aurelia:

Figura 5 - Trend del riempimento del parcheggio di Valle Aurelia

In questi casi le possibili cause possono essere molteplici, come per esempio segnale

GPS debole o assente oppure l’area del parcheggio non ben definita, per cui questi casi

con trend inaspettati (Valle Aurelia, Stazione Giustiniana e Ostia Lido Nord) sono stati

esclusi dal campione.

Inoltre considerando che il campione utilizzato risale al maggio del 2013 alcuni

parcheggi di scambio (come per esempio alcuni sulle linee metropolitane B1 e C) non

erano ancora esistenti, per questo motivo sono stati esclusi i parcheggi di Fontana

Candida, Grotte Celoni, Giardinetti, Borghesiana, Pantano, Jonio, Finocchio, Torre

Angela.

In seguito al calcolo delle matrici Origine-Destinazione e Origine-Parcheggio è stato

possibile calcolare gli spostamenti generati da ogni origine e per validare questo dato è

stato confrontato con la popolazione ISTAT residente:

Figura 6 - Rapporto Generazione-Popolazione

16

Come è possibile notare dal valore del coefficiente di correlazione R2 = 0,0699 non c’è

una buona correlazione tra le variabili il che potrebbe portare ad errori significativi

nell’analisi, per cui è stato deciso di effettuare un’aggregazione delle zone passando da

13'656 zone a 155 zone:

Figura 7 - Nuova zonizzazione proposta

Confrontando quindi i valori di Popolazione e Generazione delle Origini in seguito

all’aggregazione si può notare un netto miglioramento del valore di R2:

Nelle zone interne:

Figura 8 - Rapporto Generazione-Popolazione zone interne con la nuova zonizzazione

17

Nelle zone esterne:

Figura 9 - Rapporto Generazione-Popolazione delle zone esterne con la nuova zonizzazione

Quindi, riassumendo, i dati a disposizione relativi al trasporto privato sono:

• 𝐺𝑜𝐹𝐶𝐷 spostamenti generati da O (277 origini x 24 ore);

• 𝐺𝑜𝐹𝐶𝐷/𝑃𝐴𝑅𝐾

spostamenti generati da O che fanno Park&Ride (277 origini x 24 ore);

• Rapporto tra 𝐺𝑜𝐹𝐶𝐷/𝑃𝐴𝑅𝐾

e 𝐺𝑜𝐹𝐶𝐷 (277 origini x 24 ore);

• 𝐴𝑑𝐹𝐶𝐷 spostamenti attratti da D (277 destinazioni x 24 ore);

• 𝐴𝑝𝐹𝐶𝐷 spostamenti attratti da P (40 parcheggi x 24 ore);

• Matrici flussi, tempi e distanze O/D (277 o x 277 d x 24 ore);

• Matrici flussi, tempi e distanze O/P (277 o x 40 park x 24 ore);

• Matrice riempimenti parcheggi (40 park x 24 ore).

I dati relativi al trasporto pubblico derivano dalla simulazione descritta in precedenza

e sono costituiti da:

• matrice dei TEMPI (matrice 333x333, 56 parcheggi + 155 zone comune di

Roma + 122 zone comuni esterni x 56 parcheggi + 155 zone comune di Roma + 122

zone comuni esterni)

18

• matrice dei MEZZI (matrice 333x333, 56 parcheggi + 155 zone comune di

Roma + 122 zone comuni esterni x 56 parcheggi + 155 zone comune di Roma + 122

zone comuni esterni)

Da queste sono state estratte delle sottomatrici dei dati utili al nostro studio, ovvero:

• matrice dei tempi area di parcheggio-destinazione (matrice 40x277, 40 aree

park x 155 + 122 destinazioni);

• matrice dei mezzi area di parcheggio-destinazione (matrice 40x277, 40 aree

park x 155 + 122 destinazioni)

6. LE VARIABILI INDIPENDENTI

La fase modellistica del problema segue un procedimento ad albero mirato a

comprendere al meglio le scelte possibili che possono essere effettuate dall’utente: si parte

dalla radice, l’origine dello spostamento, in cui la prima suddivisione riguarda la scelta

tra la modalità Auto, ovvero raggiungere la destinazione con la propria autovettura,

oppure con la modalità Park&Ride, ovvero raggiungere il parcheggio di scambio con la

propria autovettura per poi effettuare il cambio modale mezzo privato/mezzo pubblico.

Se si considera una scelta di percorso effettuata totalmente sul privato il ramo è interrotto,

mentre se la scelta ricade sulla modalità Park&Ride allora la scelta successiva sarà il

parcheggio di scambio utilizzato per effettuare il cambio modale.

19

Nella fase iniziale del modello, ovvero nella scelta della modalità, ci si aspetta che la

quota parte degli utenti che effettueranno il cambio modale sia strettamente dipendente

dall’offerta di trasporto pubblico, oltre che dal numero totale di utenti. Sono state quindi

ipotizzate delle variabili di input che dovranno essere in grado, successivamente alla

calibrazione del modello, di fornire una stima della quota di Park&Ride per ogni origine

e per ogni intervallo temporale.

I DATI DI RIFERIMENTO

Prima di descrivere il procedimento per il calcolo delle variabili di input utilizzate per

la calibrazione del modello è opportuno descrivere i dati di riferimento alla base del

calcolo per capire meglio su cosa è fondata l’analisi.

I dati di riferimento sono relativi alle singole origini e, dove possibile, sono suddivisi

per intervallo orario (nel caso di tempi e flussi) e sono i seguenti:

- Area: un vettore di 277 elementi, uno per ogni origine, che rappresenta l’estensione

geografica in Km2 delle aree di origine dei flussi;

- Densità: un vettore analogo al precedente in cui è calcolato il rapporto tra la

popolazione patentata e presumibilmente occupata (età compresa tra i 19 e i 70 anni)

e l’area;

- Matrice dei flussi O/D: una matrice tridimensionale formata da 277 zone di

origine, 277 zone di destinazione e 20 intervalli temporali (04:00 – 24:00) in cui ogni

elemento è il flusso medio rilevato dall’origine O alla destinazione D nell’intervallo

temporale T;

- Gen_O_FCD: sommando il flusso di tutte le destinazioni per ogni origine e per

ogni intervallo temporale si ottiene la Generazione delle origini;

- Matrice dei flussi O/P: una matrice tridimensionale formata da 277 zone di

origine, 40 aree di parcheggio e 20 intervalli temporali (04:00 – 24:00) in cui ogni

elemento è il flusso medio rilevato dall’origine O al parcheggio P nell’intervallo

temporale T;

- Gen_O_FCD_PARK: sommando il flusso di tutte le aree di parcheggio per ogni

origine e per ogni intervallo temporale si ottiene la Generazione di Park&Ride delle

origini;

- Matrice binaria O/P: una matrice di 277 x 40 elementi in cui ogni elemento può

valere 1 se è stato rilevato almeno un veicolo che parte dall’origine O diretto al

parcheggio P in qualsiasi intervallo temporale, ovvero se il parcheggio è nell’insieme

di scelta dei parcheggi dell’origine O, 0 altrimenti;

20

- Matrici dei tempi: analoghe alle matrici dei flussi sono suddivise in matrici dei

tempi O/P e O/D;

- Parcheggi di O: sommando le righe della matrice binaria O/P è possibile ricavare

un vettore 277 x 1 in cui in ogni elemento è presente il numero di parcheggi del bacino

dell’origine O;

- Matrice dei tempi su Trasporto Pubblico: una matrice 40 x 277 x 20 di tempi da

ogni parcheggio verso tutte le destinazioni in ogni intervallo temporale. I tempi qui

riportati sono comprensivi di tempi di attesa e tratti a piedi ed è stato posto un limite

superiore pari a 4 ore;

- Matrice dei mezzi su Trasporto Pubblico: una matrice 40 x 277 x 20 di trasbordi

effettuati per raggiungere la destinazione D dal parcheggio P nell’intervallo

temporale. È stato posto un limite superiore pari a 5 trasbordi;

- Riempimenti dei parcheggi: rapporto tra veicoli rilevati all’interno dei parcheggi

e capacità per ogni parcheggio e per ogni intervallo temporale (40 x 20).

IL CALCOLO DELLE VARIABILI

Le variabili indipendenti calcolate a partire dai dati di riferimento sopra descritti sono

suddivise in variabili funzione sia delle origini che dell’intervallo temporale, variabili

funzione delle sole origini e variabili funzione dei soli intervalli temporali. In ogni caso,

essendo questo un modello basato sulla generazione delle origini le variabili verranno

calcolate per ogni origine (277) e per ogni intervallo temporale (20) per un totale di 5540

elementi per ogni variabile.

LA VARIABILE X1 – IMPEDENZA SUL TRASPORTO PRIVATO

La prima variabile di input calcolata è l’impedenza sul trasporto privato, un tempo

medio di accesso ai parcheggi appartenenti all’origine pesato per gli effettivi flussi O/P

ed è calcolato come segue:

L’ipotesi alla base è che all’aumentare dei tempi di accesso tramite mezzo privato ai

parcheggi del bacino dell’origine, la propensione a utilizzare un parcheggio di scambio

diminuisca; oltretutto pesare i tempi origine – parcheggio per i flussi origine – parcheggio

implica che i tempi O/P in cui sono stati rilevati flussi O/P maggiori incidano in maniera

21

più consistente sul risultato finale. Questa variabile, essendo funzione dei tempi e dei

flussi sarà calcolata per ogni origine e per ogni intervallo temporale.

Tuttavia i dati FCD non garantiscono l’intera copertura del territorio in esame in tutti

gli intervalli orari, per cui a volte il valore del denominatore della formula sopra descritta

è pari a 0. Una più accurata analisi è necessaria al fine di individuare la causa di questo

valore pari a 0: non è stato monitorato nessun flusso di Park and Ride in uscita a causa

della non completa copertura dei Floating Car Data oppure in quell’origine e in

quell’intervallo orario ogni utente ritiene che la combinazione privato-pubblico non sia

la scelta più conveniente.

Nei casi in cui il dato 𝐺𝑜 𝐹𝐶𝐷|𝑃𝐴𝑅𝐾

è pari a 0, ai fini di un’analisi matematica oltre che

trasportistica, è stato assegnato il valore standard di 1010 minuti, un valore

esageratamente alto, ma che indica l’impedenza infinita che presenta la zona in

quell’intervallo orario: successivamente, una volta calcolate tutte le variabili, verrà

effettuata un’analisi dei dati per capire come gestire queste eccezioni.

LA VARIABILE X2 – IMPEDENZA SUL TRASPORTO PUBBLICO (1)

La seconda variabile riportata rappresenta l’impedenza del trasporto pubblico come un

tempo medio di viaggio dai parcheggi dell’Origine a tutte le destinazioni pesato per i

flussi che accedono ai parcheggi di O ed è calcolato come segue:

L’ipotesi è che in caso di un buon collegamento del parcheggio con la rete di trasporto

pubblico l’utenza sarà portata a scegliere quel parcheggio piuttosto che un altro. Indice

di un buon collegamento è il tempo medio da un parcheggio a tutte le destinazioni, se

poi come prima questo viene pesato per i flussi che accedono al parcheggio si può avere

una stima più accurata.

La matrice dei tempi sul trasporto pubblico risulta incompleta, la parte mancante (NaN)

è quella relativa al collegamento tra i parcheggi e le 155 zone esterne di Roma, motivo

per il quale è stato deciso di assegnare un valore limite pari a 4 ore.

22

LA VARIABILE X2 BIS – IMPEDENZA SUL TRASPORTO PUBBLICO (1)

La terza variabile descritta è perfettamente analoga alla precedente con la sola

differenza nelle matrici del trasporto pubblico: in questa variabile compaiono il numero

dei trasbordi al posto del tempo impiegato per raggiungere la destinazione partendo dal

parcheggio.

LA VARIABILE X3 – IMPEDENZA SUL TRASPORTO PUBBLICO (2)

Analisi ben più differente va fatta per l’ultima tipologia di impedenza calcolata: si tratta

infatti di un tempo medio di percorrenza dai parcheggi dell’origine O a tutte le

destinazioni pesato per i flussi O/D ed è calcolato come segue:

L’ipotesi è che in caso di un buon collegamento del parcheggio con la rete di trasporto

pubblico l’utenza sarà portata a scegliere quel parcheggio piuttosto che un altro. Indice

di un buon collegamento è il tempo medio da un parcheggio a tutte le destinazioni, anche

se questa volta per avere una stima più accurata vengono pesati per il flusso O/D.

I dati FCD non garantiscono l’intera copertura del territorio in esame in tutti gli

intervalli orari, per cui a volte il valore del denominatore della formula sopra descritta è

pari a 0. A differenza delle precedenti impedenze quando il valore del denominatore

della formula assume il valore 0 questo può indicare solamente una scopertura del

rilevamento dei dati FCD, poiché è inimmaginabile che in un intervallo orario un’origine

non generi neanche un veicolo in uscita.

Nei casi in cui il dato 𝐺𝑜 𝐹𝐶𝐷 è pari a 0, ai fini di un’analisi matematica oltre che

trasportistica, è stato assegnato il valore standard di 1010 minuti, un valore

esageratamente alto, ma che indica un’impedenza infinita che presenta la zona in

quell’intervallo orario: successivamente, una volta calcolate tutte le variabili, verrà

effettuata un’analisi dei dati per capire come gestire queste eccezioni.

23

LA VARIABILE X3 BIS – IMPEDENZA SUL TRASPORTO PUBBLICO (2)

Perfettamente analoga alla precedente il procedimento è il medesimo, sostituendo alla

matrice iniziale dei tempi parcheggio-destinazione la matrice dei trasbordi parcheggio-

destinazione.

LA VARIABILE X4 – BENEFICIO TEMPORALE

Con la seguente variabile si vuole stimare il beneficio in termini di tempo che l’utente

avrà in seguito all’adozione della modalità di Park&Ride al posto della modalità

interamente su mezzo privato. In particolare sarà la differenza tra i tempi origine

destinazione (O/D) e la media sui parcheggi dei tempi origine parcheggio (O/P) con i

tempi parcheggio destinazione (P/D). La formula è riportata di seguito:

Chiaramente da questa variabile ci si aspetta che ogni valore calcolato sia negativo, dati

i tempi aggiuntivi di attesa e trasbordo dovuti all’utilizzo dei mezzi pubblici, ma tuttavia

un aumento del valore di questa variabile, collegato al miglioramento delle altre,

potrebbe comunque portare un aumento della quota di Park&Ride.

LA VARIABILE X5 – RIEMPIMENTO DEI PARCHEGGI

La 7’ variabile rappresenta il riempimento medio dei parcheggi appartenenti alle

origini. Questa variabile è frutto dell’analisi descritta nel Capitolo 6 ed è calcolata come

segue:

Questa variabile ha una doppia valenza: per bassi valori di riempimento nei periodi

antecedenti al periodo di punta l’utenza sarà invogliata alla modalità di Park&Ride,

mentre alti valori di riempimento nei periodi successivi al periodo di punta indicano un

forte utilizzo dei parcheggi e quindi della modalità di Park&Ride.

Il numeratore della formula si può facilmente calcolare effettuando una moltiplicazione

matriciale tra la Matrice Binaria O/P (277x40) e la matrice dei riempimenti dei parcheggi

24

(40x20). Il denominatore della formula è semplicemente il numero di parcheggi

appartenenti all’origine e si può facilmente ottenere sommando le righe della matrice

binaria origine parcheggio.

Dato che alcune origini non hanno parcheggi nel proprio bacino si dovrà imporre la

condizione di esistenza del denominatore e si andrà ad imporre il valore della variabile

pari a 0 (come se i parcheggi del bacino non fossero accessibili e quindi vuoti); se

viceversa esistessero parcheggi appartenenti al bacino allora sarà possibile calcolare il

rapporto sopra descritto.

Con questa variabile si chiude l’insieme delle variabili che sono funzione sia delle

origini che degli intervalli temporali.

LA VARIABILE X6 – AREA DELLE ORIGINI

La variabile X6 è la prima dell’insieme delle variabili che sono funzione solamente delle

origini e non degli intervalli temporali: queste variabili saranno infatti calcolate per ogni

origini e successivamente saranno ripetute per ogni intervallo temporale solamente ai fini

della quadratura della matrice finale delle variabili.

La variabile X6 è la variabile rappresentativa dell’estensione geografica delle origini ed

è possibile osservarla graficamente:

Figura 10 - Aree delle origini

25

Dal momento in cui l’area delle origini a disposizione è espressa in m2, per evitare di

lavorare con numeri eccessivamente grandi inutilmente è stata trasformata in km2

dividendo per 1'000'000.

LA VARIABILE X7 – DENSITÀ ABITATIVA

La variabile X7 rappresenta la densità abitativa delle origini in esame. Al numeratore

del rapporto Popolazione/Area sono compresi solo gli utenti con età compresa tra i 19 e i

70 anni, poiché sono i potenziali utenti utilizzatori della modalità Park&Ride (patentati e

occupati).

Il risultato è visibile graficamente nella seguente figura:

Figura 11 - Densità abitativa suddivisa per classi

26

LA VARIABILE X8 – DENTRO/FUORI GRA

La variabile X8 è una variabile binaria che vale 1 se l’origine è compresa all’interno del

Grande Raccordo Anulare, 0 altrimenti. L’ipotesi alla base è che gli utenti che risiedono

nelle aree periferiche (fuori il raccordo), data la maggior congestione che dovranno subire

per recarsi verso la propria destinazione, si presuppone che siano i più predisposti

all’utilizzo della modalità di Park&Ride.

Si rappresenta di seguito la distinzione delle aree:

Figura 12 - Suddivisione delle aree

Ai fini del calcolo per la matrice delle variabili è stato utilizzato insieme a Matlab il

software Q-Gis per determinare le origini interne al Grande Raccordo Anulare e quelle

esterne. Il vettore calcolato è stato ripetuto per tutti gli intervalli temporali e impostato

come un vettore di dimensioni 5540x1.

LA VARIABILE X9 – NUMERO DI STAZIONI

Così come per la precedente, anche la variabile X9 è stata calcolata attraverso l’utilizzo

di Q-Gis. In questa variabile è rappresentato il numero di stazioni di ferrovie e

metropolitana presenti nell’origine. Ci si aspetta che maggiore sia il numero di stazioni

presenti nell’origine, più gli utenti residenti abbiano una maggiore propensione ad

effettuare il percorso origine - destinazione interamente con la modalità trasporto

pubblico.

27

Si riporta graficamente il numero delle stazioni presenti nelle origini:

Figura 13 - Numero di stazioni metro/ferrovia presenti all'interno dell'origine

Con questa variabile si conclude l’insieme di variabili funzione delle origini, ma non degli

intervalli temporali.

LA VARIABILE X10 – INTERVALLO ORARIO

L’ultima variabile è binaria ed è funzione solamente dell’intervallo temporale e non

delle origini. Rappresenta infatti la distinzione tra periodo di punta (6:00 – 11:00) e

periodo di morbida (4:00 – 6:00 e 11:00 – 24:00).

Ci si aspetta infatti che gli utenti abituali della modalità Park&Ride siano quelli che la

utilizzano per recarsi al posto di lavoro, per cui considerando sia i lavoratori full-time che

i lavoratori part-time del pomeriggio, la fascia di punta è stata ipotizzata tra le ore 6:00 e

le ore 11:00.

28

7. COSTRUZIONE DEL DATASET

Come detto in precedenza l’obiettivo di questa analisi è stimare la quota percentuale di

utenti che utilizzano la modalità Park and Ride in funzione delle variabili indipendenti

precedentemente descritte. Saranno calcolati vari esempi, ogni esempio rappresenta

un’origine in un intervallo temporale a cui sono associati 12 valori di variabili (x1, x2,

ecc.) e un valore della quota di P&R (y).

Il primo Dataset, denominato Dataset_0, contiene tutti i valori calcolati per ogni origine

(277) e per ogni intervallo temporale (20), per un totale di 5540 esempi a cui sono associate

12 variabili di input.

Figura 14 - Costruzione del Dataset 0

Tutti i Dataset successivi sono frutto di differenti pulizie effettuate su quest’ultimo.

La prima pulizia effettuata sul Dataset_0, che andrà a costituire il Dataset_1, è stata

effettuata sui flussi di Park&Ride: in particolare sono state rimosse tutte le origini che non

presentavano flusso generato di Park&Ride nell’arco dell’intera giornata.

A tal proposito è stata fatta quindi un’analisi geografica di queste zone attraverso il

software Q-Gis al fine di cercare il motivo dell’esclusione.

29

Le 52 origini evidenziate in rosa sono quelle oggetto di analisi. Si può notare come esse

siano prevalentemente nell’area periferica della provincia oggetto di studio e quindi le

ipotesi che giustificherebbero una mancanza di flusso, oltre alla bassa copertura del

campione, sono sostanzialmente 2: gli utenti effettuano il cambio modale in parcheggi

non appartenenti al comune di Roma e quindi non sono stati rilevati, oppure gli utenti

non trovano conveniente effettuare il cambio modale, poiché questo avverrebbe in

prossimità della destinazione finale dell’utente.

In entrambi i casi risulta comunque opportuno escludere le origini selezionate dal

Dataset_0. Di seguito sono elencate le origini escluse dall’analisi oggetto di studio:

Figura 16 - Le origini rimosse dal Dataset

Figura 15 - Analisi geografica delle origini in funzione della generazione di Park & Ride

30

Rimuovere queste origini comporta rimuovere tutti gli intervalli temporali relativi a

queste zone, ovvero 52 x 20 = 1040 esempi rimossi. Il Dataset_1 sarà quindi composto

dalle rimanenti 225 origini x 20 intervalli temporali, ovvero 4500 esempi x 12 variabili di

input.

Dall’analisi del Dataset_1 e dalla modalità di calcolo delle variabili indipendenti emerge

che, essendo ancora presenti origini che in alcuni intervalli temporali non presentano

flusso in uscita di alcun tipo (Generazione nulla), è impossibile calcolare il valore delle

variabili x3 e x3 bis, le cui formule sono ricordate di seguito:

Figura 17 - Formule per il calcolo delle variabili x3 e x3 bis

I casi in cui un’origine in un intervallo temporale non presentava flusso monitorato in

uscita (12 esempi) sono stati rimossi e il campione residuo formerà il Dataset_2 che sarà

quindi composto da 4488 esempi x 12 variabili di input.

Analizzando i valori nel Dataset_2 relativi alle variabili calcolate si può notare che sono

ancora presenti valori non calcolabili, questo perché alcune origini non hanno generato

flusso di Park&Ride in alcuni intervalli temporali. Tali esempi potrebbero influenzare in

maniera negativa la calibrazione del modello, per cui sono stati rimossi. Rimuovendo

questi esempi (3246) si andrà a costituire il Dataset_3 composto da 2294 esempi x 12

variabili di input.

7.1.1. ANALISI DEI DATI

Su un campione finale di 2294 elementi è stata effettuata l’analisi dei dati e delle

distribuzioni di ogni variabile calcolata per capire l’incidenza sulla quota percentuale di

flusso di Park&Ride. Di seguito è riportata l’analisi della distribuzione e il confronto tra

valore della variabile e quota percentuale di Park&Ride associata per verificare la

corrispondenza tra risultato atteso e risultato reale.

31

La variabile X1

Il campione totale è costituito dalla prima variabile indipendente ed è costituito da 2294

elementi di cui è stato calcolato valore minimo, valore massimo, media e deviazione

standard che sono così riportati:

Valore massimo = 114,55 minuti

Valore minimo = 1,2167 minuti

Media = 22,11 minuti

Deviazione standard = 14,19 minuti

In relazione a questi dati il campione è stato suddiviso in un numero di classi k che

dovrà essere abbastanza piccolo da fornire un’adeguata sintesi, ma abbastanza grande da

mantenere un livello accettabile di dettaglio dell’informazione, in questo caso 13.

Sono stati calcolati prima il numero di elementi che ricadevano all’interno di ogni classe

e successivamente la frequenza relativa di ogni classe ed il risultato è il seguente:

Figura 18 - Frequenze relative della variabile x1

32

L’aspetto positivo di questa distribuzione è che sia la media che la moda sono

concentrate intorno ai 20 minuti, questo sta ad indicare una buona accessibilità dei

parcheggi dalle zone di origine, evidenziato anche dalla bassa probabilità di trovare

tempi origine-parcheggio maggiori di 40 minuti (inferiore al 5%).

Essendo questa variabile un tempo medio pesato di accesso ai parcheggi appartenenti

all’origine ci si aspetta che per valori bassi gli utenti saranno invogliati ad effettuare il

cambio modale e che quindi il rapporto tra flussi generati di Park&Ride e flussi totali

generati aumenti. Viceversa, un tempo medio di accesso elevato indica una scarsa

accessibilità dei parcheggi e quindi una bassa quota percentuale di Park&Ride.

L’andamento atteso è quindi monotono decrescente. È possibile verificare questa ipotesi

riportando in un grafico l’andamento della quota di P&R in funzione della variabile X1.

Figura 19 - Relazione tra variabile x1 e quota percentuale di Park&Ride

Purtroppo la scarsa copertura del campione non ci permette di ottenere un andamento

ben definito, infatti è presente un elevato numero di elementi con una quota di

Park&Ride inferiore all’1%, ma questo non indica assolutamente che il dato sia effettivo.

La variabile X2

La variabile in esame è dipendente, come è possibile notare dalla formula di calcolo

presente nel grafico, dai tempi sul trasporto pubblico. Gli Open Data disponibili sono

33

riferiti solamente alle aree interne al Comune di Roma, per cui data la mancanza di dati

sul trasporto pubblico per le aree esterne al comune (40 aree di parcheggio x 122 zone) è

stato ipotizzato un tempo pari a 4h per ogni collegamento parcheggio – destinazione in

ogni intervallo temporale, comprensivi di tempi di attesa e trasbordi. Dato l’elevato

numero di dati mancanti (97’600 dati mancanti su 221’600 ≈ 44%) il valore della variabile

è una forte stima per eccesso, ma utilizzando questa ipotesi si renderà la variabile

calcolabile per le origini esterne e quindi sarà possibile verificare la sua incidenza ai fini

della stima del modello.

Come per la variabile precedente sono stati calcolati i valori: minimo, massimo, media

e deviazione standard e sono riportati di seguito:

Valore massimo = 240 minuti

Valore minimo = 235 minuti

Media = 238 minuti

Deviazione standard = 1,05

Essendo rimasto invariato il numero di elementi analizzati, anche il numero delle classi

è rimasto invariato e il grafico delle frequenze relative è il seguente:

Figura 20 - Frequenze relative della variabile x2

34

È possibile notare attraverso la deviazione standard di 1,05 su un campione di 2294

elementi come essi siano tutti concentrati intorno al valore medio: questo fa capire il peso

che deriva dai dati mancanti e che falsa l’analisi in questione.

La variabile analizzata rappresenta la facilità di raggiungere tutte le destinazioni, in

termini di tempo, a partire da un’Origine, quindi ci si aspetta che per tempi sul TP bassi

ci sarà un’alta quota di P&R e viceversa. Tuttavia i dati a disposizione non riescono ad

interpretare l’andamento monotono decrescente atteso.

Figura 21 - Relazione tra variabile x2 e quota percentuale di Park&Ride

Il dato così come si presenta difficilmente potrà essere utilizzato ai fini della calibrazione

del modello, ma si analizzerà la scelta successivamente con l’ausilio della Random Forest.

35

La variabile X2 bis

Ragionamento perfettamente analogo è stato fatto per la variabile x2 bis, che si

differenzia dalla precedente solamente per l’utilizzo dei trasbordi effettuati dal

parcheggio alla destinazione al posto dei tempi parcheggio-destinazione. Anche in

questo caso il dato relativo alle zone esterne è mancante, per cui è stato attribuito un

valore massimo di 5 trasbordi effettuabili ed è stata fatta l’analisi delle frequenze relative

e successivamente del rapporto con la quota di Park&Ride.

Valore massimo = 4,86 trasbordi

Valore minimo = 3,77 trasbordi

Media = 4,32 trasbordi

Deviazione standard = 0,22

Figura 22 - Frequenze relative della variabile x2 bis

Analoga alla variabile precedente questa rappresenta la facilità di raggiungere, in

termini di trasbordi effettuati, tutte le destinazioni a partire da un’Origine, quindi ci si

aspetta anche qui che per pochi trasbordi effettuati ci sarà un’alta quota di P&R e

viceversa.

Tuttavia i dati a disposizione non riescono ad interpretare l’andamento monotono

decrescente atteso.

36

Figura 23 - Relazione tra variabile x2 bis e quota percentuale di Park&Ride

La variabile X3

Come nei casi precedenti di variabili funzione dei dati sul TP la stima è fatta per eccesso

data la mancanza di dati accurati. Si riporta di seguito il grafico delle frequenze relative:

Figura 24 - Frequenze relative della variabile x3

37

La variabile analizzata rappresenta la facilità di raggiungere tutte le destinazioni, in

termini di tempo, a partire da un’Origine, quindi ci si aspetta anche qui che per tempi sul

TP bassi ci sarà un’alta quota di P&R e viceversa.

Tuttavia i dati a disposizione non riescono ad interpretare l’andamento monotono

decrescente atteso.

Figura 25 - Relazione tra variabile x3 e quota percentuale di Park&Ride

La variabile X3 bis

Perfettamente analoga alla precedente si riporta l’analisi della variabile x3 bis:

Figura 26 - Frequenze relative variabile x3 bis

38

Valore massimo = 5 trasbordi

Valore minimo = 1,63 trasbordi

Media = 4,08 trasbordi

Deviazione standard = 0,63

E di seguito è illustrata la relazione tra la variabile e la quota di Park&Ride:

Figura 27 - Relazione tra variabile x3 bis e quota percentuale di Park&Ride

Le ultime 4 variabili analizzate che sono strettamente dipendenti dai dati sul trasporto

pubblico è improbabile che possano dare un contributo positivo alla calibrazione del

modello, per cui, a valle di una verifica attraverso la Random Forest, si valuterà

l’esclusione di questi attributi.

39

La variabile X4

La variabile x4 rappresenta il beneficio temporale determinato come differenza media

di tempo impiegato attraverso la modalità interamente su privato e la modalità

Park&Ride. Anche questa variabile è in funzione dei tempi sul trasporto pubblico, ma la

presenza dei tempi origine destinazione su privato, derivanti dai dati FCD potrebbero

apportare delle variazioni utili al modello.

Valore massimo = -209 minuti

Valore minimo = -328 minuti

Media = -232 minuti

Deviazione standard = 7,77

Figura 28 - Frequenze relative della variabile x4

40

Da questa variabile non ci aspettiamo dei valori positivi, poiché i viaggi su trasporto

privato sono diretti e seguono, a grandi linee, i percorsi di costo minimo, mentre i viaggi

sul trasporto pubblico compiono delle tratte più lunghe per coprire un bacino di utenza

più ampio e sono comprensivi di tempi di attesa e di trasbordi. Tuttavia è plausibile che

ad un aumento del valore della variabile, ossia all’avvicinarsi allo 0, ci si aspetti un

incremento della quota di Park&Ride. È possibile verificare questa ipotesi attraverso la

relazione tra la variabile e la quota di Park&Ride, di seguito in figura:

Figura 29 - Relazione tra variabile x4 e quota percentuale di Park&Ride

Trascurando la fascia sotto l’1% di Park&Ride, è possibile notare l’andamento crescente

atteso.

41

La variabile X5

La variabile x5 rappresenta il riempimento medio dei parcheggi appartenenti alle

origini nei 20 intervalli temporali e la distribuzione di frequenze sono di seguito riportate:

Figura 30 - Frequenze relative della variabile x5

La distribuzione delle frequenze non è facilmente intuibile come nei precedenti casi, ma

solo per il fatto che sono compresi i valori di tutti gli intervalli orari e quindi una stessa

origine può cadere in più classi a seconda dell’intervallo considerato.

Figura 31 - Relazione tra variabile x5 e la quota percentuale di Park&Ride

42

La variabile X6

La variabile x6 rappresenta l’estensione territoriale in km2 delle origini ed è variabile

come mostrato in figura:

Figura 32 - Variabilità dell'estensione delle origini

Già dalla figura è evidente come ci sia una concentrazione di origini con un’area molto

moderata, valutazione confermata dall’analisi delle frequenze relative:

Figura 33 - Frequenze relative variabile x7

43

Da questa variabile ci si aspetta che visto che più ci si allontana dal centro della città e

più l’estensione delle zone aumenta e visto che la modalità Park&Ride è più appetibile

per gli utenti che provengono dalle aree periferiche della città, allora all’aumentare delle

aree dovrebbe corrispondere un aumento della quota di Park&Ride. Questa ipotesi è

verificabile attraverso il confronto tra variabile e quota di Park&Ride.

Dall’immagine è possibile notare una conferma dell’ipotesi, ad eccezione di alcuni

“Outlayer” in cui a elevati valori di area corrispondono bassi valori di Park&Ride: questi

valori anomali andranno verificati con più attenzione in un’analisi puntuale

successivamente.

Figura 34 - Relazione tra variabile x6 e quota percentuale di Park&Ride

La variabile X7

La variabile x7 è rappresentativa della densità. Come detto in precedenza l’ipotesi alla

base della modalità P&R è che gli utenti siano patentati e occupati, quindi la popolazione

considerata per il calcolo della densità è solamente quella compresa tra i 19 e i 70 anni. Il

valore della variabile è così distribuito:

44

Figura 35 - Distribuzione della densità abitativa sulla provincia

Si riporta di seguito il grafico delle frequenze relative e successivamente la relazione

con la quota di Park&Ride.

Figura 36 - Frequenze relative della variabile x7

45

Figura 37 - Relazione tra variabile x7 e quota percentuale di Park&Ride

Ci si aspetterebbe che le quote maggiori di Park&Ride corrispondano ad alti valori di

densità, poiché la popolazione è maggiore, in realtà sono presenti alcuni punti con

Park&Ride elevato e densità molto bassa: questi “Outlayer” verranno studiati

singolarmente in una più accurata analisi successivamente.

La variabile X9

La variabile x9 ricordiamo rappresenta il numero di stazioni presenti all’interno di ogni

origine e sono così distribuite:

Figura 38 - Numero di stazioni nelle origini

46

In relazione al numero di stazioni presenti all’interno di una generica origine ci si

aspetta che all’aumentare del numero di stazioni (metropolitana e/o ferrovia) aumenta la

probabilità di avere una stazione vicino il luogo di origine dello spostamento, quindi

aumenta la probabilità che l’utente effettui il viaggio interamente su mezzi pubblici e

quindi che la quota di Park&Ride sia ridotta.

Di seguito sono riportate le frequenze relative e la relazione tra variabile e quota di

Park&Ride.

Figura 39 - frequenze relative della variabile x9

Figura 40 - Relazione tra variabile e quota di Park&Ride

47

Possiamo notare nell’ultima immagine la conferma dell’ipotesi fatta precedentemente.

Effettuata la pulizia (Generazioni delle origini mancanti) e l’analisi dei dati si è

proceduto con l’analisi della correlazione tra le variabili: è stato caricato il Dataset_3 (2294

esempi x 12 variabili di input) sul software Excel ed è stata calcolata la matrice di

correlazione tra le variabili che è di seguito riportata:

Figura 41 - Matrice di correlazione tra le variabili

Successivamente al calcolo della matrice di correlazione sono state evidenziati i valori

più elevati: in rosso troviamo le variabili fortemente correlate (una correlazione maggiore

di 0.7 o minore di -0.7) e in giallo le variabili abbastanza correlate (correlazione compresa

tra 0.5 e 0.7 oppure tra -0.7 e -0.5). Questa analisi è stata effettuata al fine di stimare più

modelli e vedere quali variabili incidono in maniera più significativa sul risultato finale.

Nell’analisi di correlazione non sono presenti le variabili x8 e x10, rispettivamente

Dentro/Fuori GRA e Intervallo orario, poiché variabili dummy (binarie).

Quindi in relazione al risultato emerso da questa prima analisi risulta evidente che

l’utilizzo della variabile x2 bis (impedenza sul trasporto pubblico calcolata con i trasbordi

effettuati) è inutile e quindi è stata rimossa.

Il risultato finale, denominato Dataset_4 sarà composto da 2294 esempi x 11 variabili di

input.

48

7.1.2. VERIFICA DEI DATASET

Per effettuare la verifica del Dataset quest’ultimo è stato suddiviso in 2 parti: la prima

che servirà all’addestramento del modello (TRAIN = 70%) e la seconda che servirà per la

validazione (TEST = 30%), in modo tale che nessuna origine rimanga esclusa dalla fase di

addestramento, secondo questa metodologia:

a) Si stabilisce inizialmente una percentuale di esempi da attribuire al test (%);

b) Per ogni Origine si calcola il numero di esempi ancora presenti riferiti a

quell’origine (L);

c) Si calcola quanti elementi di quell’origine andranno a comporre la fase di test (%*L),

approssimando per eccesso;

d) Si suddivide l’origine in tante classi quanti sono gli esempi da accantonare (%*L) e

si estrae in maniera random un elemento da ogni classe;

e) Completata la procedura si sarà accantonato l’intero campione per il test che però,

date le approssimazioni, non è detto che sarà esattamente pari alla % stabilita del

totale, per cui bisognerà controllare il rapporto:

#𝑡𝑒𝑠𝑡

#𝑡𝑒𝑠𝑡 + #𝑡𝑟𝑎𝑖𝑛

f) E se necessario modificare la percentuale iniziale di suddivisione (%).

L’algoritmo crea inizialmente un vettore (ii) che va da 1 fino al numero di elementi, in

questo caso 2294. Per tante volte quante sono gli elementi da destinare al test estrae un

numero da 1 al massimo valore di ii che sarà rimosso da ii e sarà inserito in un nuovo

vettore chiamato ind. Alla fine della procedura si avranno 2 vettori, in cui nessun

elemento compare in entrambi, che rappresentano gli indici rispettivamente di train e

test.

Una volta definiti i campioni di train e test bisogna sottoporli alla Random Forest che

inizialmente è stata così definita:

model = RandomForestRegressor(n_estimator=2000,

max_depth=None)

Dove n_estimators è il numero di alberi, impostato a 2000, con cui si vuole addestrare il

modello e max_depth è la profondità massima di ogni albero, impostata a “nessuna

profondità massima”.

49

Al fine di valutare la bontà del modello sono stati stabiliti anche degli indicatori di

errore statistico che andiamo a descrivere:

𝑀𝑆𝐸 =1

𝑚∑ 𝑓𝑡

2𝑚𝑡=1 𝑅𝑀𝑆𝐸 = √

1

𝑚∑ 𝑓𝑡

2𝑚𝑡=1

2

𝑀𝐴𝐸 =1

𝑚∑ |𝑓𝑡|𝑚

𝑡=1 𝑀𝐴𝑃𝐸 =1

𝑚∑

|𝑓𝑡|

𝑦𝑡𝑒𝑠𝑡∗ 100𝑚

𝑡=1

𝑐𝑜𝑛 𝑓𝑡 = 𝑦𝑡𝑒𝑠𝑡 − 𝑦𝑚𝑜𝑑𝑒𝑙𝑙𝑜

Scelti gli indicatori con cui verificare la bontà del modello è possibile effettuare le pulizie

del campione. Come detto in precedenza l’addestramento del modello sarà fatto su una

parte del campione estratta in maniera random e la Random Forest verrà addestrata con

2000 alberi e nessuna profondità massima.

Nella seguente immagine sono riportati:

1) Feature importance, un indicatore che rappresenta l’importanza che l’attributo ha

nella suddivisione del campione per calibrare del modello. Il valore espresso è in

percentuale, infatti la somma dei fattori dà come risultato 1;

2) Una tabella con una breve descrizione del campione di TRAIN (valore minimo,

medio e massimo) e una descrizione dei risultati delle previsioni del campione di TRAIN

(sempre in termini di valore minimo, medio e massimo);

3) I 4 indicatori di errore descritti in precedenza più ulteriori 3 indicatori: il MEDIAN

A E (la mediana degli scarti tra valore reale e valore da modello), R2 train (la correlazione

tra variabile reale facente parte del campione di train e variabile calcolata da modello,

indica quanto è riuscito ad apprendere il modello) e R2 test (la correlazione tra variabile

reale facente parte del campione di test e variabile calcolata da modello, indica quanto è

riuscito a prevedere il modello).

50

Figura 42 - Indicatori risultanti del modello calcolati attraverso Random Forest

I risultati non sono ottimali: nonostante in media il modello effettui un errore di un

punto percentuale (RMSE e MSE) il valore dell’errore percentuale è elevato (132%) e

inoltre la correlazione del campione di test è scarsa (R2=0.39).

Nelle analisi effettuate in precedenza, in particolare nelle relazioni tra valore delle

variabili e relativa percentuale di Park&Ride, è emerso che una notevole quota del

campione presentava una bassa quota di Park&Ride nonostante una elevata variazione

del valore della variabile: ciò indica la bassa copertura del campione rispetto alla

popolazione e non essendo rappresentativo è considerato “rumore” e pertanto è

opportuno escluderlo dalle analisi in quanto disturba l’apprendimento del modello.

Analizzando i grafici esposti precedentemente un buon compromesso tra eliminare il

più possibile i dati non rappresentativi e mantenere un buon numero di elementi su cui

addestrare il modello è porre una soglia a 0,5% sulla quota percentuale di Park&Ride

eliminando tutti i casi con una quota inferiore a quella dettata dalla soglia.

Inoltre le variabili relative ai dati sul trasporto pubblico rimanenti (x2, x3, x3 bis) non

presentano alcun andamento riscontrabile, per cui, almeno per il momento, sono state

escluse dall’analisi.

Così facendo da 2294 casi x 11 variabili del Dataset_4 si passa a 846 casi x 8 variabili che

andranno a costituire il Dataset_5. Di seguito si espone una breve analisi di quest’ultimo

dataset.

51

Saranno evidenziati in rosso i casi che non potranno essere esclusi dalla soglia apportata

al campione, ma che meritano una più accurata analisi in quanto valori inaspettati e per

questo soggetti a indagini puntuali.

Figura 43 - Rapporto tra variabile x1 e percentuale di Park&Ride in seguito alla pulizia effettuata

Figura 44 - Rapporto tra variabile x4 e percentuale di Park&Ride in seguito alla pulizia effettuata

52

Figura 45 - Rapporto tra variabile x5 e percentuale di Park&Ride in seguito alla pulizia effettuata

Figura 46 - Rapporto tra variabile x5 e percentuale di Park&Ride in seguito alla pulizia effettuata (nella fascia oraria 04:00 -

06:00)

53

Figura 47 - Rapporto tra variabile x6 e percentuale di Park&Ride in seguito alla pulizia effettuata

Figura 48 - Rapporto tra variabile x7 e percentuale di Park&Ride in seguito alla pulizia effettuata

54

Figura 49 - Rapporto tra variabile x9 e percentuale di Park&Ride in seguito alla pulizia effettuata

Effettuata la pulizia del campione si è proceduto con una prima prova di addestramento

della Random Forest e di seguito è riportato il risultato:

Figura 50 - Risultati Random Forest Dataset_5

Considerati questi casi come anomali si è ritenuto opportuno escluderli dal campione

di analisi. A tal proposito si è deciso di porre un filtro nel Dataset_5 in base alle

caratteristiche da escludere, che si riporta di seguito:

Impedenza > 30 minuti & Park&ride > 14%;

Beneficio temporale < -230 minuti & Park&ride > 14%;

Area > 90 km2 & Park&ride > 1.85%;

Densità < 3000 ab/km2 & Park&ride > 13%;

Intervallo orario > 13 & Park&ride > 2.5%;

Eliminati i casi intercettati dal filtro si è creato il Dataset_6 costituito da 832 casi x 8

variabili di input. Successivamente per verificare un eventuale miglioramento del

55

modello è stata riaddestrata la Random Forest sulla base di quest’ultimo Dataset e il

risultato è il seguente:

Figura 51 - Risultati Random Forest Dataset_6

Come è possibile notare i risultati sono migliorati una volta eliminati i casi anomali, sia

in termini di errori che in termini di correlazione tra valore reale e valore da modello.

8. CONCLUSIONI

L’attività di tirocinio svolta nel centro di ricerca ENEA è risultata fondamentale ai fini

dello studio degli strumenti che verranno utilizzati in fase di tesi.

In particolare lo studio approfondito del linguaggio di programmazione Python e

successivamente delle Random Forest ha permesso di apprendere delle basi

fondamentali per la creazione del Database delle variabili indipendenti su cui si andrà ad

effettuare la calibrazione e la validazione del modello di Random Forest.

Il database costruito sarà l’oggetto di input nella seconda parte dello studio in cui verrà

non solo calibrato il modello, ma anche validato attraverso analisi di stabilità dello stesso,

stabilità alla variazione dei parametri del modello e sensitività al variare delle variabili.

56

9. SITOGRAFIA

www.python.it/about/

https://it.wikipedia.org/wiki/MATLAB

https://www.qgis.org/it/site/about/index.html

www.github.com

10. BIBLIOGRAFIA

Biscaglia Nicola, “Validazione efficace dei modelli di Machine Learning”, 2017

Hastie, Tibshirani, Friedman, “The Elements of Statistical Learning: Data Mining, Inference,

and Prediction”, 2013