Se il dataset che si vuole far leggere al programma è molto ampio, STATA ha bisogno di espandere
la sua memoria. In questo caso, il primo comando da inserire è il seguente:
STATA puo’ salvare la sessione di lavoro su un file. Il file che ne risulta, chiamato “file log”
contiene tutto cio’ che si e’ effettuato. In questo modo il lavoro che si e’ svolto puo’ essere rieditato
o incorporato in un file di word.
Per salvare la sessione di lavoro su STATA, bisogna scrivere su stata-command:
Quindi se voglio salvare il mio file di risultati nella directory c:\econometria e gli voglio dare il
nome di pippo1 scrivero’su stata-command:
Durante la sessione posso anche voler interrompere la registrazione del file. Ad esempio, posso
voler fare prima alcune prove e solo dopo, una volta che sono sicuro delle procedure, salvarle nel
mio log-file. Per interrompere temporaneamente la registrazione della sessione scrivere:
log off
Per ripristinarla:
log on
log close
Dopo che ho chiuso il log-file posso andare su Word, aprire il file c:\econometria\pippo1.log.
Apparira’ tutta la mia sessione di lavoro che potra’ essere modificata, e inclusa in un qualsiasi file di
testo.
Commenti da aggiungere al file .log
Nota: Stata legge qualsiasi comando che inizia con * come un commento e non come un comando.
Se voglio quindi scrivere un commento che venga salvato sul log-file basta quindi che inizi la frase
con *. Esempio:
Il modo piu’ semplice per leggere un file excel su STATA e’ quello di utlizzare il programma Stat-
Transfer.
Questo programma consente di salvare un file in formato nomefile.xls (formato excel) in un file in
formato nomefile.dta (formato stata).
L’IMPORTANTE E’ CHE IL FILE DI EXCEL CONTENGA NELLA PRIMA RIGA I NOMI
DELLE VARIABILI E NELLA PRIMA COLONNA IL NOME DELLE REGIONI/INDIVIDUI
(nel caso di campione cross-section) OPPURE GLI ANNI (nel caso di serie temporali). In altre
parole, sistemate le variabili per colonne.
Una volta sistemato il file in formato excel:
1. aprite STAT-TRANSFER
2. Vi apparira’ una pagina (transfer) in cui vi si chiede “input file type”. Specificare “EXCEL”.
3. Su “file specification” scrivere il nome completo del file EXCEL che volete salvare in formato
STATA.
4. Su “output file type” specificare invece “STATA VERSION 6 (o 7 o 8)”
5. Sotto, su “file specification” dovrebbe gia’ apparirvi il nome del file in formato .dta.
6. Adesso cliccate il pulsante “Transfer”
7. Potete aprire il nuovo file in formato dta su STATA.
LIST nome variabili = visualizza i valori delle variabili che si vogliono controllare. Dopo il
comando specificare le variabili che si vogliono visualizzare.
ESEMPIO il comando:
SUMMARIZE nome variabili = fornisce un breve riassunto statistico delle variabili specificate.
Es.
summarize anno pil
visualizza un breve riassunto statistico delle variabili anno e pil.
LABEL DATA/VARIABLE = e’ un comando che serve a definire meglio le variabili che possono
avere nomi criptici. Si possono utilizzare fino ad 80 caratteri. Ad es. il comando:
___________________________________
GRAFICI
VAI nel menù a tendina GRAPHICS. Qui troverai numerose opzioni. In classe abbiamo visto
TWOWAY GRAPHS (tipo scatter).
OPPURE:
Esempio. Il comando
scatter gr6085 pil60
in cui gr6085=tasso di crescita del PIL pro capite tra il 1960-85 e pil60=logaritmo del PIL pro
capite del 1960, mostra il classico grafico (scatter-plot) di analisi della convergenza. Ma per
identificare a quale paese corrisponde ciascun puntino della figura devo dire al programma di
mostrare le etichette, ovvero dare l’opzione MLABEL:
Attento alla virgola. Identifica che stai includendo una opzione a quel comando.
Se quindi si ha un panel in cui la variabile che indica il logaritmo del Pil pro capite è chiamata lnpil
e la variabile che indica gli anni è chiamata year e si vuole ottenere la distribuzione del 1960, il
comando diventa:
Quando si usano i dati panel può essere utile analizzare l’andamento nel tempo di una determinata
variabile per ciascun paese. Esempio. Se la variabile che mi indica i diversi paesi/regioni si chiama
regions, allora devo dire al programma:
sort regions
A questo punto posso visualizzare i grafici delle variabili uno per ogni regione con il comando:
oppure,
Per visualizzare l’andamento del PIL nel tempo per diversi paesi, un commando utilizzabile è:
twoway (line nome delle variabili che indicano il PIL e gli anni), by(nome della variabile che
indica i paesi)
MA
Su Stata 9 tutto ciò può essere fatto con il comando xtline:
GENERATE = crea nuove variabili, trasformando quelle esistenti. Se voglio che la mia serie X gia’
inserita nel programma venga trasformata in logaritmi naturali scrivo:
generate lnX=ln(X)
lnX e’ il nome arbitrario che ho deciso di dare alla nuova serie creata. Quindi, in generale il
comando e’
generate X2=sqrt(X) genera una serie che e’ la radice quadra della serie X
egen paesi2=group(paesi)
E mi crea la variabile paesi2 che identifica ciascun paese del mio campione con un numero
Altri due comandi che possono consentire di fare la stessa trasformazione sono GENERATE e
ENCODE:
Il comando GENERATE (+ l’opzione real) serve a trasformare i dati che il programma legge come
“string” (non in formato numerico) in formato numerico.
Definisce che voglio effettuare una regressione OLS utilizzando solo i dati del campione compreso
tra gli anni 1965-1989 anche se il mio campione copre, ad esempio il periodo 1963-1992.
Oppure posso eliminare le osservazioni 1963, 1964, 1990, 1991, 1992 dal campione con il comando
DROP(elimina):
drop if year<1965
drop if year>1989
Oppure, se voglio eliminare dalla regressione una regione/individuo definita, ad es., dalla variabile
reg posso scrivere:
Infine, posso dire al programma cosa considerare anziche’ quello che deve eliminare con il
comando KEEP.
keep varlist
keep if expression
keep in range [if expression]
ANALISI DI REGRESSIONE
REGRESS = comando per la regressione OLS. Dopo REGRESS mettere in ordine la variabile
dipendente e poi la lista di variabili esplicative . La costante e’ messa automaticamente dal
programma, non va specificata. Esempio:
Regress Y X1 X2
Se si vuole invece escludere la costante dalla regressione bisogna specificarlo nel comando. Es.:
Per specificare al programma che i dati che sta leggendo sono dati longitudinali o panel usare il
comando TSSET. Esempio:
Se quindi la variabile che indica gli individui del mio campione si chiama “paesi” e quella che
indica il tempo si chiama “anni” devo scrivere:
Se poi uso dati annuali devo specificarglielo come opzione dopo una virgola (opzione “yearly”):
Ricorda che se stai lavorando con dati panel ed effettui una regressione con il comando regress tipo:
Regress Y X1 X2
Se invece si vuole effettuare una regressione panel con effetti fissi, il comando giusto è xtreg a cui
va aggiunta l’opzione fe:
xtreg Y X1 X2, fe
l’opzione fe dice al programma che lo stimatore che si vuole utilizzare è proprio quello fixed effects
(o within groups). Altrimenti il programma utilizza in automatico uno stimatore panel con effetti
random. (vedi il Wooldridge)
STIMATORE EFFETTI RANDOM: XTREG (re)
Se invece si vuole effettuare una regressione panel con effetti random, il comando giusto è xtreg a
cui va aggiunta l’opzione re:
xtreg Y X1 X2, re
TEST DI HAUSMAN
Si costruisce in cinque passaggi:
xtreg Y X1 X2, fe
xtreg Y X1 X2, re
xi: i.nomedellavariabile
mi costruisce delle variabili dummy secondo l’ordine definito dalla variabile che ci interessa. Ad
es.: supponiamo di avere un panel regionale e di voler costruire delle dummies regionali. La
variabile chiamata “regioni” definisce le singole regioni. Il comando utile e' quindi:
xi: i.regioni
Tuttavia il comando “xi” non mi crea delle variabili dummies definitive, non le salva in modo
permanente.
Per costruire delle variabili dummies in modo permanente il comando da utilizzare è “tabulate”. Se
si vogliono costruire delle dummies per individui in un panel (Ovvero, tante dummies quanti sono
gli individui/paesi/imprese del mio panel) e la variabile che identifica i miei individui si chiama
paesi posso scrivere:
Ricorda che se introduce nella regressione la costante devi eliminare un dummy dal set di variabili
esplicative per evitare problemi di perfetta multicollinearità. (vedi il Wooldridge)
VARIABILI RITARDATE
In molti casi i modelli da stimare introducono variabili riferite a periodi/anni precedenti. Facciamo
l’esempio di un dataset annuale.
NOTA BENE: Prima di generare nuove variabili ritardate può essere necessario dover ridare il
comando tsset paesi anni, yearly. Bisogna cioè ricordare al programma che sta analizzando un panel
annuale.
Per prendere il valore ritardato di un anno della variabile “prezzi” bisogna utilizzare il comando
GENERATE e scrivere
generate lag1p=L.prezzi
Generate lag2p=L2.prezzi
E cosi’ via per i successivi lags. (quindi il comando “generate lag7p=L7.prezzi” formera’ la serie
prezzi ritardata di 7 periodi)
In generale serie ritardate (laggate) di una variabile vengono create con il comando L.nome della
variabile
Per costruire il tasso di crescita del pil dai dati delle penn world tables ad esempio mi servono sia il
dato iniziale (ipotesi: 1960) che finale (es. 2000) del pil. In questo caso ho bisogno di creare due
variabili identiche ma di nome diverso prima di fare il collapse che sono:
gen pil60=rgdpl
gen pil2000=rgdpl
gen ki_mean=ki
gen ki1960=ki
……….
Se quindi devo prendere più valori di una stessa variabile del panel devo prima generare le variabili
necessarie. Se voglio prendere del panel pwt i dati per costruire il modello di base di Mankiw
Romer e Weil devo scrivere il seguente comando:
collapse (first) country country_isocode year1960 pil1960 pop1960 ki1960 (mean) ki_mean
(last) year2000 pil2000 pop2000, by (countryno)
con (first) sto dicendo al programma di selezionare quelle variabili indicate dopo l’opzione nella
prima riga (che nel mio esempio corrisponde al 1960).
Con (mean) sto dicendo al programma di prendere ki_mean in media su tutto il periodo 1960-2000.
Con (last) gli sto dicendo di prendere l’ultima riga di quelle variabili (che nel mio esempio è il
2000).
________________________________________
Se si vogliono effettuare calcoli direttamente sul programma STATA il comando giusto è “display”.
Dopo il comando si può direttamente impostare il calcolo che si vuole fare.
DWSTAT = questo comando dato dopo una regressione OLS mi fornisce il valore del test di
Durbin-Watson per l’autocorrelazione del primo ordine.
HETTEST=Test di eteroschedasticita’
SKTEST=Test di normalita’. Per un test di normalita’ sui residui bisogna prima salvare i residui
della regressione come specificato in precedenza e poi (se ho salvato i residui con il nome residui1)
DARGLI IL COMANDO,
SKTEST RESIDUI1
Oppure:
(WLS) = Per effettuare Weighted Least Squares bisogna aggiungere dopo aver specificato la
regressione tra parentesi quadre quale variabile va utilizzata per la ponderazione [w=variabile]
Es.
Regress Y X1 X2 X3 [w=X2]
INFINE
HELP NOMECOMANDO