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