Introduzione
STEM (Space Time Econometric Modelling) è un programma rivolto all'analisi di fenomeni di carattere economico, la cui dinamica viene osservata su un insieme di unità territoriali, collocate all'interno di una determinata area geografica. Le unità territoriali possono essere di vario tipo, comprendendo sia unità di tipo areale - quali regioni, province o comuni - che unità di tipo puntuale quali possono essere considerate, ad esempio, le città, laddove la loro dimensione risulti trascurabile rispetto alla scala geografica in cui viene svolta l'analisi.
Lo studio di tali fenomeni viene affrontato mediante l'utilizzo di modelli selezionati all'interno di classi generali, formulate come possibili estensioni al caso spazio-temporale della classe dei modelli Transfer Function-Noise di Box e Jenkins (1976). Tale tipologia di modelli consente di dare una rappresentazione parsimoniosa, anche se (ovviamente) approssimata, della complessa struttura di interdipendenza che caratterizza i dati spazio-temporali (Bennett, 1979; Anselin, 1988; Cressie 1991).
Il programma è strutturato in maniera da consentire di trattare separatamente le serie spazio-temporali dalle serie puramente spaziali (o cross-sections, nel linguaggio econometrico). La metodologia implementata è specificamente rivolta all'analisi di dati socio-economici rilevati su unità spaziali disposte secondo una configurazione irregolare in un dato ambito territoriale.
Nel lavoro presentiamo innanzitutto le formulazioni analitiche delle classi di modelli utilizzate all'interno del programma e le metodologie statistiche utilizzate per le tre fasi - identificazione, stima e controllo diagnostico - che compongono la procedura iterativa di costruzione del modello. Di seguito riportiamo un breve spaccato dell'architettura del programma, con riferimento alle principali funzioni Matlab utilizzate per la sua implementazione.
Una proposta metodologica per l'analisi spazio-temporale di fenomeni socio-economici
- La matrice di connessione e l'operatore di lag spaziale
Obiettivo principale dell'analisi delle serie di dati spazio-temporali è lo studio delle relazioni di interdipendenza dinamica che si instaurano tra gli andamenti del fenomeno riscontrati presso le diverse unità territoriali considerate. La successione delle matrici di connessione (Cliff e Ord, 1980; Griffith, 1988; Anselin, 1988) costituisce lo strumento analitico utilizzato per porre in relazione l'osservazione di una data variabile, riferita ad una determinata unità spaziale, con le osservazioni - della stessa o di altre variabili - effettuate presso le rimanenti unità spaziali. Mediante tale strumento si traduce operativamente una classificazione gerarchica discreta delle unità territoriali, secondo livelli di distanza crescenti. Detta classificazione viene effettuata in base criteri scelti dal ricercatore, fra cui il più usato nel caso di unità territoriali di tipo areale - quali regioni o province - è quello dell'esistenza di un tratto di confine in comune tra le diverse unità.
Seguendo tale approccio, si definiscono vicine di primo ordine, o nearest neighbours, le unità immediatamente confinanti; si definiscono, invece, vicine di secondo ordine le unità non direttamente confinanti tra di loro, ma per le quali esista una terza unità che risulta confinante con entrambe. In generale, si dice che tra due unità date esiste un lag spaziale pari a k se è necessario attraversare almeno k confini per passare da una unità all'altra. Ciascuna unità, infine, è per definizione connessa con se stessa a lag spaziale zero.
Dato un insieme di N unità territoriali la matrice di connessione di ordine k, che indichiamo con Deltak, ha elemento generico così definito:
![[FORMULA]](formu_01.gif)
Normalizzando per riga la matrice Delta(k) si ottiene una matrice, detta matrice dei pesi ed in genere indicata con W(k), il cui elemento generico è a sua volta definito come segue:
![[FORMULA]](formu_02.gif)
Tali matrici viengono utilizzate nella definizione dell'operatore di sfasamento (lag) spaziale. Indicando con yit il valore assunto da una data variabile casuale presso l'unità spaziale i-esima al tempo t-esimo, tale operatore risulta definito dall’identità:
![[FORMULA]](formu_03.gif)
e coincide, quindi, con la media aritmetica semplice dei valori della variabile y osservati presso le unità territoriali vicine di ordine k-esimo dell’unità i-esima.
- Le classi di modelli utilizzate per l'analisi
Di seguito presentiamo le classi di modelli utilizzate al fine di ottenere una rappresentazione parametrica della struttura di correlazione spazio-temporale presente nelle variabili oggetto di studio. I modelli sono del tipo a funzione di trasferimento lineare, con componente di errore possibilmente autocorrelata e rappresentata mediante un modello di tipo ARMA. La formulazione del modello nel caso di dati puramente spaziali è la seguente (Anselin, 1988; Lafratta, 1994):
![[FORMULA]](formu_04.gif)
dove y è la variabile di output, xg - g=1,2,...,v - indica la g-esima variabile di input, e è una variabile di disturbo autocorrelata, mentre u è una variabile di tipo white-noise. Il modello risulta identificato una volta fissati l'ordine s della componente autoregressiva nella variabile dipendente, gli ordini rg di sfasamento spaziale associati a ciascuna delle v variabili esplicative, nonché gli ordini p e q delle componenti autoregressiva e a media mobile della variabile Noise del modello.
La versione del modello per il caso di dati spazio-temporali è sostanzialmente analoga, anche se risulta più complessa per la presenza di variabili ritardate nel tempo. Essa presenta la seguente formulazione:
![[FORMULA]](formu_05.gif)
in cui
Il processo è di tipo white-noise, omoschedastico ed incorrelato sia nel tempo che nello spazio, ossia con funzione di autocovarianza
![[FORMULA]](formu_07.gif)
- Le fasi della costruzione del modello
La procedura di costruzione di un modello Transfer Function-Noise è basata su di uno schema iterativo costituito da tre fasi: identificazione, stima e controllo diagnostico. Seguendo Box e Jenkins, con identificazione indichiamo la fase di selezione degli ordini delle varie componenti del modello. Tali ordini possono, ovviamente, anche essere in parte posti uguali a zero, dando origine a specificazioni più semplici. Per consentire una identificazione preliminare il programma consente il calcolo delle funzioni di autocorrelazione e cross-correlazione spaziale o spazio-temporale, a seconda dei casi. Inoltre, per consentire una migliore lettura dei cross-correlogrammi, è prevista una procedura di pre-whitening delle serie di input. L'obiettivo di tale analisi è semplicemente quello di ottenere un punto di partenza ragionevole su cui basare la vera e propria procedure di selezione del modello effettuata in sede diagnostica. Una volta che gli ordini delle varie componenti del modello risultino fissati, è possibile procedere alla stima dei parametri del modello. Il metodo di stima utilizzato è quello della massima verosimiglianza. Tale metodo, applicato a dati spazio-temporali, non coincide più con il metodo dei minimi quadrati ordinari a causa della presenza di uno jacobiano non unitario nella funzione di verosimiglianza. Dato che le condizioni di primo ordine per la massimizzazione della log-verosimiglianza risultano non lineari nei parametri, è necessario ricorrere ad algoritmi iterativi per l'ottenimento delle stime. A tal fine, il programma utilizza la procedura di Newton-Raphson applicata alla funzione di log-verosimiglianza, concentrata rispetto ai parametri per i quali è possibile ottenere soluzioni in forma chiusa. All’interno di detti algoritmi gioca un ruolo importante l’utilizzo della tecnologia “sparse”. Essa è stata applicata con successo nella gestione delle matrici spaziali dei pesi, facendo aumentare la velocità di elaborazione di un fattore pari a tre. Il controllo della performance del modello prescelto e della correttezza della sua specificazione è articolato nei seguenti punti:
- misura dell'adattamento mediante due indici (pseudo-R2 e AIC) di goodness of fit;
- misura della performance previsiva fuori dell'intervallo di stima, per il caso di serie spazio-temporali;
- verifica dell'incorrelazione dei residui, sia mediante la funzione di autocorrelazione degli stessi che per mezzo di appositi test di tipo parametrico basati sul criterio dei moltiplicatori di Lagrange;
- verifica della normalità e dell'omoschedasticità dei residui, rispettivamente mediante i test di Bera-Jarque e Breusch-Pagan;
- verifica della significatività statistica dei coefficienti stimati mediante test di Wald sui singoli coefficienti (l'usuale test T) o su gruppi di coefficienti;
- test per l'eventuale omissione di lags significativi di qualcuna delle variabili del modello.
In base ai risultati della fase diagnostica l'identificazione preliminare potrà essere accettata oppure, più verosimilmente, si riterrà opportuno rispecificare il modello cambiando gli ordini delle varie componenti. Il modello così rispecificato andrà a sua volta stimato e verificato, innescando in tal modo una procedura iterativa che si concluderà con la scelta di una specificazione preferita, ritenuta soddisfacente ai fini dell'analisi che si sta svolgendo.
Descrizione del software STEM
Gli algoritmi di stima e di controllo sono stati implementati in funzioni caratterizzate da un ampio numero sia di variabili in input che di variabili in output. Decisamente, l'utilizzo di tali funzioni dalla riga di comando del MATLAB riusciva ostico agli stessi sviluppatori, per via della necessità di dover ricordare non solo tutte le variabili necessarie per il corretto funzionamento delle procedure, ma anche l'ordine col quale esse entravano in gioco. Un esercizio sintattico, questo, davvero disarmante, la cui sperimentazione ci ha indotto alla costruzione di una interfaccia che permettesse all'utente di non dover ricordare alcunché circa la corretta sintassi delle funzioni di stima, e che invece permettesse un'agile realizzazione delle procedure di input e di output richieste dal programma.
Il codice che governa tale interfaccia è fondamentalmente racchiuso nella funzione MATLAB designata stem1, dove si trovano l'inizializzazione dell'interfaccia e l'impostazione delle callback dei vari oggetti utilizzati. Tuttavia, alcune parti del codice di interfacciamento, per via della ripetitività con cui venivano a presentarsi, sono state contenute in altre funzioni, richiamate all'interno di stem1.
STEM richiede MATLAB versione 4.2.c con la Notebook Suite installata. Per mandare il esecuzione il software è sufficiente lanciare dalla riga di comando lo script “stemv05”.
- Caricamento dei dati -
Figura 1
Il carimento dei dati da parte dell'utente avviene tramite le voci “Load Variable...” e “Load Spatial Weights Matrix...” del menu “Data”. Tramite tali voci si possono richiamare variabili MATLAB che siano state in precedenza memorizzate in file di formato ASCII. E' necessario che in tali file sia stata memorizzata una sola variabile MATLAB, in quanto bisogna associare in modo univoco il nome del file alla variabile in esso contenuta. Una volta che alcune variabili siano state caricate, è possibile salvarle secondo un particolare formato tramite la sotto-voce “Save” della voce “STEM Workspace” del menu “Data”. Tale procedura salva sia le variabili che i corrispondenti identificatori in un file di estensione “.WEM”, che successivamente potrà essere caricato nell'ambiente di stem1 tramite la sottovoce “Load” di “STEM Workspace”, senza che sia dunque necessario ricaricare singolarmente ciascuno dei file in cui le singole variabili MATLAB erano state memorizzate.
- Visualizzazione e analisi grafiche - Figura 2
STEM permette la visualizzazione e, più in generale, una analisi grafica dei dati disponibili nel suo workspace. Tramite la voce “Plot...” del menu “Data” si accede a due sottovoci - “Variable...” e “Spatial Weights Matrix...”- da cui si ottiene l'accesso rispettivamente ad una finestra attrezzata per l'analisi grafica di variabili o di matrici spaziali di pesi. Ciascuna di tali due finestre permette il rapido passaggio dall'una all'altra tramite l'utilizzo di due pulsanti di tipo radio, senza che sia necessario selezionare ulteriormente una delle due sottovoci di “Plot...”.
Per quanto riguarda le variabili, la finestra è dotata di due menu di tipo popup attraverso i quali è possibile scegliere cosa debba essere rappresentato rispettivamente sull'asse orizzontale e sull'asse verticale. Scegliendo la voce “Units” per l'asse x, è possibile effettuare un plot di ciascuna delle variabili in memoria, semplicemente scegliendo dal menu per l'asse y la voce corrispondente al nome della variabile prescelta. Scegliendo la voce “Normal plot” dal menu per l'asse y, e scegliendo successivamente un nome di variabile per l'asse x, si ottiene la visualizzazione simultanea della funzione di ripartizione teorica di una variabile casuale normale e della funzione di ripartizione empirica della variabile prescelta. Scegliendo invece la voce “Histogram” dal menu per l'asse y, è possibile ottenere la rappresentazione per istogrammi di una variabile scegliendo il suo nome dal menu per l'asse x; simultaneamente viene rappresentata una funzione di densità normale con media e varianza identiche a quelle della variabile oggetto di studio. Se invece si sceglie sia per l'asse x che per l'asse y un nome di variabile, si ottiene la rappresentazione della distribuzione doppia, secondo tali due variabili, delle unità su cui è stata effettuata l'osservazione. L'analisi grafica delle matrici spaziali dei pesi viene effettuata semplicemente scegliendo il nome di una matrice di interesse tra quelle caricate, nomi che formano le voci di un menu di tipo popup. La matrice prescelta verrà vrappresentata visualizzando i soli elementi non nulli, secondo la logica della funzione “spy”.
- Elaborazione ed editazione
E' possibile creare delle nuove variabili mediante l’elaborazione di variabili presenti in memoria. Se si sceglie la voce “Process...” dal menu “Data” viene resa disponibile una finestra in cui risultano presenti diversi oggetti. Un menu popup le cui voci sono date dai nomi delle variabili caricate nel workspace di STEM; un secondo menu popup permette di scegliere tra una serie di possibili elaborazioni, quali quella logaritmica, la traspositiva, quella applicativa di operatori di differenziazione temporale, stagionale e non stagionale, del primo e del secondo ordine. Un terzo oggetto di tipo edit permette di determinare il nome della nuova variabile che si vuole costruire, nome col quale essa verrà salvata su disco in formato ASCII con estensione “.DAT”. Una analoga finestra, richiamata tramite la voce “Edit...” di “Data”, permette l’editazione dei dati in memoria tramite la funzione “edit”. A ciascuna variabile editata viene associato un nome del tipo Datanumero, in corrispondenza del quale vengono memorizzati i cambiamenti effettuati. Successivamente, al termine della sessione di editazione, i dati aggiornati verranno associati ai reali nomi scelti dall’utente per le proprie variabili. Durante una stessa sessione non è possibile editare più di trenta variabili contemporaneamente. I cambiamenti realizzati tramite questa procedura non vengono salvati su disco.
- Selezione di classi di modelli - Figura 3
Il menu “Models” prevede due voci fondamentali, “Spatial Models” e “Space Time Models”, le cui sottovoci identificano le classi di modelli con cui è possibile operare in STEM.
Le classi di modelli spaziali disponibili sono la classe ARMA, la classe ADL e la classe ADL-Noise, tutte sottoclassi della pià generale classe Transfer Function - Noise (Lafratta, 1994). Una classe di modelli spazio temporali attualmente in corso di implementazione è quella definita STARMAG (Di Giacinto, 1994). A seconda del modello prescelto, diverranno disponibili determinate voci del menu “Run”. Le voci principali di tale menu sono date da “Specification” e da “Estimation and Control”. Tramite la prima si accede alle due sottovoci “Autocorrelation function” e “Cross-Correlation function”, che conducono, rispettivamente alla visualizzazione di finestre tramite il cui utilizzo è possibile ottenere a video una stima della funzione di autocorrelazione spaziale per una certa variabile output oppure una stima della funzione di cross-correlazione spaziale tra una data variabile di output e una data variabile di input. In entrambi i casi è possibile scegliere il massimo lag spaziale in corrispondenza del quale effettuare tali stime. Scegliendo invece la voce “Estimation and Control” si accede ad una finestra grazie alla quale stabilire le componenti del modello che si intendono ipotizzare ed i dati attraverso cui stimare il modello prescelto. Tali finestre saranno diverse a seconda della classe di modelli scelta in precedenza tramite il menu “Models”. Una serie di menu di tipo popup permette di scegliere, a seconda delle circostanze, l'ordine delle componenti autoregressive ed a media mobile, la matrice spaziale dei pesi, la variabile endogena. Nel caso sia prevista la presenza di una componente regressiva nella classe di modelli prescelta, il pulsante “Regressive Component” permetterà l'accesso ad una finestra dedicata alla scelta delle variabili e dei ritardi nello spazio in corrispondenza dei quali introdurre tali variabili quali regressori.
- Stima e controllo diagnostico
Una volta che il modello è stato specificato, si può accedere alla fase di stima. I risultati di tali procedure vengono quindi visualizzati secondo le seguenti modalità. Per ciascun parametro si riportano, su una riga, il nome identificativo del parametro stesso, la sua stima, lo standard error del suo stimatore, il valore assunto dalla statistica t di student presso tale stima, il corrispondente P-value. Nel caso in cui tali informazioni non siano visualizzabili per tutti i parametri tramite una unica schermata, i pulsanti “Previous” e “Next” permetteranno all’utente di prendere visione dei dati passando da una videata all’altra. Se è stato specificato un modello per il Noise, le informazioni riguardanti i suoi parametri non saranno immediatamente disponibili a video; tuttavia, è sufficiente premere il pulsante “Noise” per potervi accedere. Tramite il pulsante “More”, invece, si viene introdotti in una finestra in cui sono disponibili informazioni circa la bontà di adattamento ai dati raggiunta dal modello, una stima dello standard error del termine di errore, il valore assunto dalla funzione di log-verosimiglianza in corrispondenza della soluzione di stima. Un menu di tipo popup, associato alla stringa “Plot:”, permette la visualizzazione di varie informazioni, quali la rappresentazione del fitting del modello, il plot ed il normal plot dei residui, la loro funzione di autocorrelazione spaziale.
Il pulsante “Test” immette nella finestra dedicata alla analisi diagnostica dei risultati di stima. Le informazioni che vengono dettagliate riguardano la verifica delle ipotesi di normalità, di eteroschedasticità e di non correlazione dei residui. I pulsanti designati “OLT” (Omitted Lags Test) e “DLT” (Deleted Lags Test) rendono accessibili due particolari procedure di controllo (Lafratta, 1995).
Figura 4
Con una procedura DLT l'obiettivo che ci si propone è quello di confermare l'identità, col vettore nullo, di una sottoclasse dei parametri inizialmente selezionati. Si tratta quindi di verificare se il modello prescelto sia sovraparametrizzato rispetto al reale fenomeno oggetto di studio. A tale fine è stata approntata una finestra in cui l’utente è in grado di stabilire l’ipotesi nulla che preferisce testare. Grazie ad una serie di pulsanti di tipo radio, uno per ogni parametro stimato, è possibile selezionare un qualunque sottoinsieme di parametri semplicemente deselezionando i corrispondenti pulsanti. Premendo quindi il pulsante “Accept”, verranno visualizzati i risultati del test, e l’utente potrà nuovamente definire una ipotesi nulla, continuando così l’analisi diagnostica.
Procedure di tipo OLT consentono invece la formulazione di giudizi circa i parametri che inizialmente sono stati posti pari a zero, e che quindi non sono stati stimati perché considerati assenti dal modello in costruzione.
Le strategie appena delineate non sono operative sino a quando non si costruiscano test adeguati per esse. Quali test in grado di supportare, rispettivamente, le procedure decisionali DLT e OLT sono stati scelti (Lafratta, 1995) il test dei moltiplicatori di Lagrange ed il test di Wald.
Figura 5
Gestione della costruzione iterativa dei modelli
Una volta concluse le fasi di stima e di controllo, è necessario decidere se accettare la validità del modello appena stimato o se, invece, non sia il caso di rigettarlo in favore di un nuovo e diverso modello. In entrambi i casi, rimane utile il pulsante “Save...”, grazie al quale è possibile scegliere un nome di file in cui salvare i risultati di stima e le principali informazioni di controllo scaturite dalla esecuzione dei vari test di verifica. L’estensione che viene proposta è “.SAV”. Dato un certo nome, STEM salverà in formato ASCII tutte le informazioni nel file nome.SAV. Tale modo di procedere permette di decidere circa la validità del modello disponendo - tramite una eventuale stampa del file nome.SAV - di un quadro complessivo dei risultati ottenuti, quadro che spesso non è sintetizzabile all’interno di una unica schermata. Se si decide di cambiare modello, tramite il pulsante “Re-Run” sarà possibile accedere alla finestra di specificazione della classe cui il modello appena stimato appartiene, di modo che si possa delineare un nuovo modello. In ogni caso, la scelta del pulsante “Close” determinerà la fine della procedura di costruzione del modello.
Conclusioni
STEM è un programma in grado di analizzare fenomeni sui quali sia stata raccolta evidenza empirica di tipo spaziale o spazio-temporale. Noi speriamo che questo software costituisca, per gli studiosi di statistica spaziale, uno strumento di facile utilizzazione. Ciò che va sottolineato è il tentativo effettuato di alleviare le conseguenze derivanti dalla evidente scarsità di software in grado costruire modelli a partire da dati di tipo spaziale. Una situazione, questa, che - contraddicendo la disponibilità sempre maggiore di dati spaziali - ha limitato, a nostro avviso, la diffusione della modellistica spaziale e spazio-temporale. Nonostante le capacità di analisi per serie spazio-temporali non siano state ancora implementate, ci è parso di dovere comunque presentare il programma, così da sottoporre al giudizio degli utenti interessati la direzione metodologica verso la quale STEM sta procedendo. Tali proposte non sono probabilmente né definitive né, di per sè, esenti da possibili critiche. Riterremo quindi benvenute tutte le osservazioni che possano aiutarci a raggiungere un migliore standard qualitativo, sia nella metodologia che nella sua implementazione.
|