...

dott.ssa Maria Chiara D`Errico-Laboratorio di Stata

by user

on
Category: Documents
36

views

Report

Comments

Transcript

dott.ssa Maria Chiara D`Errico-Laboratorio di Stata
Maria Chiara D’Errico
Università degli Studi di Perugia
Laboratorio di Econometria
Introduzione a Stata
Perugia, 11 Marzo 2013
STATA
• STATA è un software per l’elaborazione dati e l’analisi
Statistica.
• Le funzioni:
1) Gestione di Dataset.
2) Analisi Statistica:
 Statistica descrittiva
 Modelli Lineari
 Analisi di Serie storiche
 Panel Data
 Analisi Multivariata
Maria Chiara D’Errico 11/03/2013
Maria Chiara D’Errico 03/03/2014
La barra dei menu
• Comprende otto menù a tendina; ognuno
dei quali contiene i comandi disponibili.
• I comandi possono essere eseguiti anche
manualmente (senza la selezione da menù)
all’interno della finestra dei comandi.
Maria Chiara D’Errico 03/03/2014
La barra degli strumenti
Open: Apre un dataset in Stata (formato dta).
Save: Salva il Database corrente.
Log: Consente di iniziare, sospendere , chiudere un file in log.
Graph: Apre/Chiude la finestra del grafico.
DofileEditor: Apre o porta in primo piano il Do-file Editor.
Data Editor: Apre o porta in primo piano il Data Editor.
Break: Interrompe il comando.
Maria Chiara D’Errico 03/03/2014
La Sintassi
• Quando l’utilizzo dei comandi tramite la Command Window è
necessario conoscere la sintassi dei medesimi.
• Essa ha una struttura fissa caratterizzata da sei componenti:
• [prefix:]command [lista delle variabili][restrizioni],
[opzioni]
• Prefix: (Ex:bysort): definisce la logica con cui applicare il comando.
Ripete il comando in un sottinsieme di dati (il contenuto di una
variabile).
• Lista delle variabili: su cui applicare il comando
• Restrizioni su cui applicare il comando (ex:if )
• Opzioni relative al comando
• Ex: bysort foreign: reg mpg weight , robust
Maria Chiara D’Errico 03/03/2014
Help
• Il Sistema di help in Stata offre una vasta gamma di
informazioni utilissime per comprendere quali comandi
utilizzare per una specifica analisi statistica e la loro
sintassi.
• Il percorso è Help>Search>Search Documentation and
fAQs ed inserire la parola chiave.
• Differenti references:
 SJ: Stata Journal.
 STB: Stata Technical Bulletin
 FAQ’s presso il sito di stata.
• Qualora già si conoscesse il comando ma si vuole
consultare la sintassi è più diretto e comodo scrivere
direttamente nella finestra dei comandi: help
‘command’.
Maria Chiara D’Errico 03/03/2014
Caricamento Dataset
• File in formato .dta
use “directory\filename.dta“
• File in formato .txt o .csv
insheet [varlist] using filename [, options]
Dalla barra dei menù:
File > Import > ASCII data created by a
spreadsheet
Maria Chiara D’Errico 03/03/2014
Save Memory
• Il dataset potrebbe necessitare di una memoria maggiore
rispetto a quella di default per differenti ragioni:
• Le variabili posso contenere un numero di caratteri eccessivo:
Si usi il comando compress [varlist] per ottimizzare la
memoria.
• Elevato numero di osservazioni:
a. Si può aumentare la memoria allocata in Stata usando il
comando set memory [#]m (memoria usata di default
memory è 50m)
b. Si può allargare il numero massimo di variabili permesso
nel dataset usando il comando set maxvar [#] (il numero
di variabili di default è 5000)
Maria Chiara D’Errico 03/03/2014
Sessione Pratica
• File>Examples dataset > Example datasets installed
with Stata > auto > use.
• Per dare uno sguardo veloce al dataset caricato
cliccare sulla barra dei menu:
Data>Data Browser (read-only Editor)
Maria Chiara D’Errico 03/03/2014
• Per acquisire maggiori informazioni sui dati
utilizzare il comando describe:
• Permette di comprendere la struttura dei
dati e come essi sono ‘’storati’’.
• Data > Describe data > Describe data in
memory.
Maria Chiara D’Errico 03/03/2014
Maria Chiara D’Errico 03/03/2014
• Variable name: come chiamiamo la variabile quando
comunichiamo con Stata
• Storage Type: Il modo in cui Stata memorizza le
variabili:
String (testo)
Numeric: byte, int, long, float double
• Display Format: Controlla come Stata mostra i dati in
tabella
• Value Label: Il meccanismo che permette a Stata di
memorizzare dati numerici mentre viene mostrato un
testo
• Variable label: il nome della variabile quando si
comunica con altre persone, questa etichetta viene usata
quando si fanno le tabelle
Maria Chiara D’Errico 03/03/2014
summarize
• Per avere le prime statistiche descrittive
sulle variabili usiamo il comando
summarize.
• Statistics > Summaries, tables, and tests>
Summary and descriptive statistics>
Summary statistics
• Oppure
Maria Chiara D’Errico 03/03/2014
• La variabile make è elencata come se avesse 0
osservazioni. Poiché essa è ‘’storata’’ come
variabile di testo (string18) essa per Stata non
ha osservazioni numeriche su cui calcolare
media, min, max etc..
Maria Chiara D’Errico 03/03/2014
codebook
• Comando che permette di esplorare sul contenuto delle
variabili
• Data > Describe Data> Describe data
contents(codebook)
Maria Chiara D’Errico 03/03/2014
Maria Chiara D’Errico 03/03/2014
• Con l’ultimo comando applicato alla
variabile rep78 constatiamo che la variabile
è categorica e ha cinque missing values. Ciò
significa che per cinque delle macchine nel
dataset non sono state registrate
riparazioni.
• Per vedere le osservazioni senza riparazione
digitiamo:
Maria Chiara D’Errico 03/03/2014
browse
Maria Chiara D’Errico 03/03/2014
Statistiche Descrittive
• summarize offre brevi statistiche sintetiche
sulle variabili.
• Per uno sguardo più approfondito utilizziamo
un’opzione del comando summarize: detail
Maria Chiara D’Errico 03/03/2014
• Qualora fossimo interessati a conoscere il
produttore di auto con il prezzo più elevato
(ex: maggiore di 13000) applichiamo una
restrizione (if) al comando edit o list
Ex:
edit if price>=14500
Maria Chiara D’Errico 03/03/2014
tabulate
• Vogliamo effettuare una comparazione tra macchine
straniere e macchine di produzione nazionale.
• Iniziamo a conoscere la porzione di auto straniere e
nazionali tramite il comando tabulate
• Statistics > Summaries, table, and tests > Tables> Oneway tables
Maria Chiara D’Errico 03/03/2014
• Continuiamo applicando il medesimo
comando a rep78:
Maria Chiara D’Errico 03/03/2014
• Compariamo la variabile rep78 tra auto
straniere e domestiche con il comando twoway table e l’opzione row
• Statistics > Summaries, tables, and tests >
Tables > Two-way tables with measures of
association.
Maria Chiara D’Errico 03/03/2014
L’output indica come le
macchine straniere sono
generalmente migliori
delle macchine domestiche
Maria Chiara D’Errico 03/03/2014
• Continuando il nostro tour esplorativo
vorremmo comparare il consumo di
benzina (gas mileages) medio tra macchine
domestiche e straniere:
• Utilizziamo il comando summarize
preceduto dal prefisso by:
Maria Chiara D’Errico 03/03/2014
tabulate varlist,
summarize( )
• Lo stesso output poteva essere ricavato tramite
il comando tabulate, summarize:
Maria Chiara D’Errico 03/03/2014
Test d’Ipotesi
• Test d’ipotesi sulla differenza delle medie del consumo
di benzina tra macchine straniere e macchine
domestiche. Esploriamo la relazione categorica tra
origine delle auto e il loro consumo di benzina
• Statistics > Summaries, tables, and tests > Classical
tests of hypotheses > Two-group mean-comparison test
Maria Chiara D’Errico 03/03/2014
Correlation Matrices
• Esploriamo ora la relazione numerica tra consumo e
peso dell’aut tramite il comando correlate
• Esiste una relazione negativa tra il peso
delle auto e il loro consumo.
Maria Chiara D’Errico 03/03/2014
• Compariamo questa correlazione tra macchine
straniere e domestiche mediante il prefisso by
applicato al comando correlate
La correlazione è meno
significativa per le macchine
straniere
Maria Chiara D’Errico 03/03/2014
• Possiamo applicare tale comando e ricavare la matrice di
correlazione per un numero arbitrario di variabili.
(Questo è utile qualora si volesse investigare sulla
collinearità tra le variabili esplicative).
Maria Chiara D’Errico 03/03/2014
Graphing Data
• Se volessimo esaminare tra consumo e peso
potremmo utilizzare anche una
elaborazione grafica:
• Graphics > Twoway graph (scatter, line, etc.)
Maria Chiara D’Errico 03/03/2014
Maria Chiara D’Errico 03/03/2014
• Qualora volessimo analizzare la
correlazione grafica tra peso e consumo nei
sottogruppi di auto (domestiche vs
straniere) applichiamo al comando twoway
graph l’opzione by:
Maria Chiara D’Errico 03/03/2014
Maria Chiara D’Errico 03/03/2014
Linear Regression
• Vogliamo predire mpg tramite il peso e il
tipo di macchina.
• Da una prima analisi grafica vediamo che la
relazione tra consumo e peso è quadratica.
• Vogliamo stimare i parametri
dell’equazione:
Maria Chiara D’Errico 03/03/2014
Creazione Variabile
• Esistono due differenti comandi per creare nuove variabili in
STATA:
1. generate
2. egen
generate
• Sintassi: generate newvar = exp
NB:
• In STATA i nomi delle nuove variabili devono avere una
lunghezza massima di 32 caratteri e devono essere unici
altrimenti il comando non viene eseguito
Maria Chiara D’Errico 03/03/2014
egen
• Il comando egen consente di creare nuove
variabili utilizzando l’ampia gamma di
funzioni presenti in STATA (media,
mediana, deviazione standard, somma,
ecc.)
• La sintassi è:
egen newvar = fcn(argomenti) [, opzioni]
• Ex funzioni: mean( ), median( ), sd( ),
min( ), max( ), sum( )
Maria Chiara D’Errico 03/03/2014
Operatori
1. Matematici
• + addizione
• - sottrazione
• * moltiplicazione
• / divisione
• ^ elevamento a potenza
• ln( ) logaritmo naturale
2. Relazionali
• > maggiore di
• >= maggiore o uguale di
• = = uguale
• < minore di
• <= minore o uguale di
3. Logici
• ! non
• &e
• |o
Maria Chiara D’Errico 03/03/2014
• Generiamo la variabile peso al quadrato
tramite il comando generate
• Regrediamo il consumo usando come variabili
esplicative il peso il peso al quadrato e il tipo di
macchina (domestica o straniera)
• Regressione con il comando regression
• Statistics > Linear model and related > Linear
regression
Maria Chiara D’Errico 03/03/2014
Maria Chiara D’Errico 03/03/2014
•
Source: La fonte della varianza (dovuta alla parte spiegata data dai regressori del
modello e ai residui).
•
SS: Sum of squares: somma dei quadrati delledeviazioni.
SS(T): la variabilità totale (della variabile dipendente) attorno alla propria media.
SST=SSE+SSR
•
dF: gradi di libertà associati alla fonte della varianza.
Totale: N-1; Modello: K-1; Residui: N-K-1.
•
MS: mean squares, i.e. the sum of squares delle deviazioni diviso I gradi di libertà.
•
F(K-1, N-K-1): statistica che misura la significatività congiunta dei regressori del
modello, è data da: (Mean Squares Model)/(Mean Squares Residual)
•
Prob>F: è il p-value associato a F, la probabilità con cui il test rifiuta ipotesi nulla
quando questa è vera (errore primo tipo)
•
R-squared: la parte della varianza della variabile dipendente spiegata dalla
varianza delle variabili independenti.
•
Root MSE: deviazione standard del termine d’ errore.
•
t: statistica associata al test (simmetrico) di non significatività dei coefficienti dei
regressori stimati.
•
P>t: p-value associato a t. Se il p-value<0.05 si rifiuta l’ipotesi nulla di non
significatività per un livello del 5%.
Maria Chiara D’Errico 03/03/2014
predict
• Ricaviamo i fitted values tramite il comando
predict.
• Il comando predict genera una nuova variabile che contiene
al suo interno i valori del consumo di benzina applicando
l’equazione:
• Facciamo il grafico dei dati e dei fitted values
per le due tipologie di macchine:
Maria Chiara D’Errico 03/03/2014
Maria Chiara D’Errico 03/03/2014
Combine Dataset
Merge
Permette di congiungere due Dataset a
partire da una variabile (che compare in
entrambi i Dataset)
Data>Combine Datasets>Merge two
Datasets
Comando:
merge [1:1, 1:m, m:1, m:m] <varlist> using <filename>
Maria Chiara D’Errico 03/03/2014
• - 1:1 merge è usato quando la key-variable ha
un unico valore per ogni osservazione del file
master e del file da combinare;
• - 1:m (m:1) è usato quando la key-variable
assume un unico valore (più valori) per le
osservazioni del file master, mostra invece
molteplici (un unico) valore per le osservazioni
del dataset da combinare;
• - m:m merge è usato quando la key variable
prende molteplici valori per le osservazioni di
entrambi I dataset.
Maria Chiara D’Errico 03/03/2014
Quando si realizza il merge tra due dataset, Stata crea una nuova
variabile _merge che può assumere i seguenti valori:
• 1: quando l’osservazione appartiene solo al master dataset.
• 2: quando l’osservazione appartiene solo all’using dataset.
• 3: quando l’osservazione appartiene a entrambi i dataset e non ci
sono variabili in comune a parte la key-variable.
Quando i due dataset hanno più variabili in comune oltre alla key
variable si può usare l’opzione update, i missing values per le
variabili in comune del master dataset saranno aggiornat1 con i valori
assunti dalle medesime variabili dell’using file. La variabile _merge
potrà assumere anche i valore:
• 4: come al punto 3, ma esiste almeno una varibile in comune che
ha missing values in uno dei due dataset.
• 5: come al punto 4, ma la variabile in comune non ha missing
values in entrambi i datasets.
Maria Chiara D’Errico 03/03/2014
append
Permette di aggiungere osservazioni appartenenti ad
un dataset non in uso (using file) alla fine del Dataset
Data>Compbine Datasets>Append Datasets
append using <filename> [,options]
options :
• generate (newvar): genera una variabile numerica
che attribuisce valore 0 alle osservazioni del dataset Master
e valori 1, 2, etc…alle osservazioni del primo, secondo ect
using dataset
• keep (varlist): Seleziona le variabili dell’ using
dataset da appendere.
Maria Chiara D’Errico 3/03/2014
reshape
• Il comando reshape permette di passare da un
dataset di formato lungo ad uno di formato largo e
viceversa
Ex:
reshape [wide, long] wage, i(id ) j(year )
id
year
wage
1
2000
1500
id
year1
year2
wage1
Wage2
1
2002
2000
1
2000
2002
1500
3500
2
2000
3500
2
2000
2002
2000
3600
2
2002
3600
Maria Chiara D’Errico 03/03/2014
Programming
• Macro
Le più usate sono
Local Global
Global/ Local: assegnano un nome ad un insieme di variabili.
Ex:
local varlist=" weight wtsq foreign”
reg mpg `varlist‘
Cicli for
Creata la Macro varlist possiamo applicare un comando per ciascuna variabile
appartenente alla macro tramite un ciclo for, evitandocosì di ripetere il comando ogni
volta
Ex: vogliamo regredire la variabile mpg una volta per il peso, una volta per la lunghezza
local varlist=" weight length”
Ciclo for
Foreach a of local varlist {
reg mpg `a‘
}
Maria Chiara D’Errico 03/03/2014
Fly UP