ldvrm ch1 rev

51
Modelli di Regressione per Variabili Limitate e Categoriche. Esercitazioni con Stata Carmine Pappalardo, (ISAE) e-mail: [email protected] Rome, September 28, 2007 Contents 1 Introduzione 2 2 Introduzione a Stata 6 3 Modelli con variabili dicotomiche: logit e probit 6 3.1 Breve accenno alla teoria ........................ 6 3.2 Procedure di stima con Stata ...................... 10 3.2.1 Opzioni if e in .......................... 13 3.2.2 Dati mancanti .......................... 14 3.2.3 Opzione weight ......................... 15 3.2.4 Opzione robust ......................... 21 3.3 Post-estimation analysis ......................... 23 3.3.1 Output di stima ......................... 24 3.3.2 I comandi estimates e outreg ................. 25 3.3.3 Confronto tra parametri logit e probit ............ 27 3.3.4 Test su coefficienti ........................ 28 3.3.5 Bont`a della regressione ...................... 30 3.3.6 Analisi dei residui ........................ 32 3.3.7 Interpretazione dei modelli ................... 35 3.3.8 Effetti marginali e cambiamenti discreti ............ 44 3.3.9 Odds-ratio nel modello logit ................. 48 1

Upload: pappace

Post on 23-Jun-2015

603 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: LDVrm Ch1 Rev

Modelli di Regressione per Variabili Limitate e Categoriche.

Esercitazioni con Stata

Carmine Pappalardo, (ISAE)e-mail: [email protected]

Rome, September 28, 2007

Contents

1 Introduzione 2

2 Introduzione a Stata 6

3 Modelli con variabili dicotomiche: logit e probit 6

3.1 Breve accenno alla teoria . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2 Procedure di stima con Stata . . . . . . . . . . . . . . . . . . . . . . 10

3.2.1 Opzioni if e in . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.2 Dati mancanti . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.3 Opzione weight . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.4 Opzione robust . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Post-estimation analysis . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.1 Output di stima . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3.2 I comandi estimates e outreg . . . . . . . . . . . . . . . . . 25

3.3.3 Confronto tra parametri logit e probit . . . . . . . . . . . . 27

3.3.4 Test su coefficienti . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3.5 Bonta della regressione . . . . . . . . . . . . . . . . . . . . . . 30

3.3.6 Analisi dei residui . . . . . . . . . . . . . . . . . . . . . . . . 32

3.3.7 Interpretazione dei modelli . . . . . . . . . . . . . . . . . . . 35

3.3.8 Effetti marginali e cambiamenti discreti . . . . . . . . . . . . 44

3.3.9 Odds−ratio nel modello logit . . . . . . . . . . . . . . . . . 48

1

Page 2: LDVrm Ch1 Rev

1 Introduzione

Questo lavoro costituisce una guida sintetica all’uso e interpretazione dei modellidi regressione per variabili categoriche e limitate attraverso l’uso del programmaStata. L’obiettivo e quello di fornire una guida alla applicazione/implementazionedella teoria quantitativa relativa a questa tipologia di modelli non-lineari. Eventualiriferimenti teorici hanno la sola finalita’ di introdurre all’analisi empirica e non sonodunque esaustivi (godd data analysis requires good software and good technique)1. Iprincipali riferimenti teorici per lo studio dei modelli con variabili limitate (LDV)sono, tra gli altri, rappresentati da

• Long, J. Scott (1997), Regression Models for Categorical and Limited Depen-dent Variables, Sage Publications.

• Greene, W. C. (2000), Econometric Analysis, Prentice Hall

• Maddala, Limited Dependent and Qualitative Variables, CUP, 1986.

• Cameron A.C. e Trivedi P.K. (1998), Regression Analysis of Count Data, Cam-bridge Mass, Cambridge University Press

• Heiss F., 2002, ”Structural choice Analysis with Nested Logit Models”, TheStata Journal, 2, 3, pp. 227-252

• Breen R. (1996), Regression Models Censored, Sample Selected, or TruncatedData, SAGE Publications

• Wooldridge, J., (2002), Econometric analysis of cross section and panel data,MIT Press.

I modelli per variabili limitate e categoriche oggetto di studio sono i seguenti(tra parentesi si riportano i comandi Stata utilizzati per la stima):

• Modelli per variabili dicotomiche (logit e probit)

• Modelli per variabili limitate e ordinate: ordered logit (ologit) e orderedprobit (oprobit)

• Modelli per variabili dicotomiche con self-selection (tobit, heckit, heckprob,biprobit)

1Tutti gli esempi riportati in queste pagine, ad eccezione della sezione relativa ai modelli conself selection, enodgenita e modelli logit gerarchici sono tratti dal libro di J. Scott Long e JeremyFreese ”Regression models for categorical dependent variables using Stata, Second Edition”.

2

Page 3: LDVrm Ch1 Rev

• Modelli con variabili nominali: multinomial logit (mlogit) e conditional logit(clogit)

• Modelli logit gerarchici (nlogit)

• Modelli per dati count : Poisson (poisson), negative binomial (nbreg), zero-inflated Poisson regression (zip) e zero-inflated Negative Binomial regression(zinb).

Gli esempi sono condotti su dati cross-section. Non si considerano, pertanto,modelli per dati di durata (duration models) e i modelli per dati panel 2.

Il focus delle esercitazioni sara rivolto alla:

• soluzione empirica di un problema teorico

• introduzione e analisi delle procedure di stima disponibili con il programmaStata/SE

• interpretazione dell’output di stima

Nel lavoro, inoltre, verrano utilizzate alcune procedure non disponibili nell’ambitodelle usuali routine di Stata e particolarmente utili per l’interpretazione dei risul-tati. Il motivo di tale integrazione e dovuta al fatto che nei modelli non-linearil’interpretazione dei parametri non e sempre agevole come in quelli lineari. Neiprimi, infatti, l’effetto di una variabile indipendente su quella di outcome dipendeanche dai livelli di tutte le altre variabili presenti nel modello. Per l’assenza di unametodologa in grado di fornire una interpretazione univoca della relazione tra vari-abile indipendente e outcome, si introducono una serie di comandi aggiuntivi nellaforma di file .ado (post-estimation commands) scritti per Stata . I comandi utiliz-zati in queste note fanno riferimento alla versione 9 di Stata3. Si tratta dei comandidella libreria di programmi Spost (Stata Post-estimation Commands), disponibiliall’indirizzo web

www.indiana.edu/∼jslsoc/spost.htm

E’ possibile installare i comandi in una directory ad-hoc, ad esempio nella cartelladi lavoro spost9 (Spost ado files for Stata9) direttamente attraverso Stata.

2Stata include numerosi comandi per la gestione di tali basi di dati e la stima dei relativi modelli;a questo riguardo si vedano i comandi st e xt.

3Sono disponibili i comandi di questa libreria relativi alle versioni precedenti di Stata

3

Page 4: LDVrm Ch1 Rev

Ci sono due possibili strade da seguire utilizzando il comando net.

Installazione di Spost9 attraverso il comando net search. In questo caso, ifile saranno installati nella directory PERSONAL. Essa potrebbe non corrispondere aquella in cui desideriamo effettivamente installare il programma. Con il comando

sysdir

e possibile accertarsi quali siano le directory del programma Stata al momentoattive, ad esempio

. sysdirSTATA: C:\Programmi\Stata8\

UPDATES: C:\Programmi\Stata8\ado\updates\BASE: C:\Programmi\Stata8\ado\base\SITE: C:\Programmi\Stata8\ado\site\PLUS: c:\ado\plus\

PERSONAL: c:\programmi\stata8\spostado8\OLDPLACE: c:\ado\

In questo caso, la directory PERSONAL attiva e quella desiderata. In caso contrarioe necessario definire la directory desiderata e configurarla come PERSONAL attraversoi comandi:

. cd c:\Programmi\Stata9\

. mkdir Spost9\

. sysdir set PERSONAL "c:\Programmi\Stata9\Spost9\

Successivamente, lanciando l’istruzione

net search spost

nella finestra di output (Stata Results) compariranno le descrizioni di numerosiprogrammi collegati a Spost per le varie versioni di Stata. Tra questi, occorreselezionare i link denominati ”spost9”. La successiva apertura di Stata Viewer

contiene l’indicazione dei singoli file (.ado e .hlp) e di un ulteriore link ”click hereto install”. Dopo il click, ha inizio l’installazione dei programmi e dei file dellaguida nella cartella PERSONAL configurata in precedenza. E’ necessario attenderealcuni minuti e seguire il processo di installazione sulla ”barra di stato” in basso asinistra. Sono possibili tre output :

• installation complete. La procedura e stata eseguita con successo A seguitodi tale messaggio comparira anche la directory in cui i file sono stati installati.

• all files already exist and are up-to date. Anche in questo caso la proce-dura e stata eseguita con successo. In questo caso, Stata ha aggiornato unaprecedente versione dei programmi e non occorre fare altro.

4

Page 5: LDVrm Ch1 Rev

• the following files exist and are different. In questo caso, nel proprioPC ci sono file differenti da quelli di cui si e’ richiesta l’installazione, anchese presentano lo stesso nome. E’ possibile rinviare l’installazione. Tuttavia,poiche’ i file disponibili sul sito Stata costituiscono l’ultima versione, perl’aggiornamento dei programmi occorre scegliere l’opzione ”force installationreplacing already-installed files” e tutti i file sono aggiornati all’ultimaversione disponibile.

Installazione di Spost attraverso il comando net install. Si tratta di unamodalita di installazione piu veloce. Stata installa i programmi direttamente nelladirectory di lavoro (”Working Directory”), che e quella in cui il programma Stata

legge e salva dati e programmi. E’ indicata in basso a sinistra nella ”barra di stato”del programma o e identificata eseguendo il comando cd nella finestra dei comandi(Stata Command). E’ sufficiente usare tale comando per selezionare la directory dilavoro desiderata.

Per l’istallazione si esegue dapprima l’istruzione

net from http://www.indiana.edu/∼jslsoc/stata/

con cui si ha un elenco dei file disponibili. L’installazione si ottiene con

net install spost9 ado

net install spost9 do

e il download di file supplementari con il comando

net get package.

Infine, sono disponibili file .zip per le versioni 7 ,8 e 9 di Stata all’indirizzo web

www.stata.com/∼jslsoc/spost.htm

5

Page 6: LDVrm Ch1 Rev

2 Introduzione a Stata

3 Modelli con variabili dicotomiche: logit e probit

3.1 Breve accenno alla teoria

Si assume che la variabile latente o non osservabile di interesse y∗, con campo di vari-azione compreso tra -∞ e +∞, e in relazione a un insieme di variabili indipendentiattraverso la seguente equazione strutturale

y∗i = xiβ + εi (1)

dove x e una matrice di regressori, i indica la posizione dell’osservazione nellabase di dati (ad esempio, l’impresa o la famiglia i -ma), εi e un termine di errore peril quale vale l’usuale assunzione iid. Nel caso di una sola variabile indipendente ilmodello si semplifica a

y∗i = α + βxi + εi. (2)

Questa equazione e del tutto simile a quella di un modello di regressione linearecon l’importante eccezione della non-osservabilita della variabile dipendente. Unaequazione di misurazione permette di realizzare un link tra il fenomeno di interesse(non osservabile) e una variabile indicatrice y

yi =

1 if y∗i > 0

0 if y∗i ≤ 0

In questo esempio, tutti i casi in cui valori di y∗ sono positivi corrispondono aosservazioni di y = 1, i casi in cui y∗ e negativa sono codificati come y = 0. Inaltri termini, non possiamo osservare l’intensita del fenomeno ma, attraverso unavariabile binaria siamo possiamo misurare la presenza/assenza, appartenenza/nonappartenenza dello stesso per ogni unita oggetto di analisi.

Ad esempio, in uno studio sull’offerta di lavoro femminile, e necesario identificarenel campione di analisi tutte le donne che dichiarano di appartenere alla forza lavoro.La propensione al lavoro femminile e una variabile difficilmente osservabile (non-osservabile). Essa puo differire fortemente da soggetto a soggetto; in generale, nonsi e’ in grado di rilevare con precisione se ciascun individuo e in procinto di diventareinattivo o se continuera a offrire lavoro. Nei due casi, tuttavia, y = 1. La variabilelatente consente di osservare, per ciascun individuo l’appartenenza, a uno specificostato. Nel caso in esame, fino a quando l’offerta di lavoro risultera positiva (y∗ > 0),

6

Page 7: LDVrm Ch1 Rev

le donne intervistate si assumono appartenenti alla forza lavoro (y = 1). La figurache segue fornisce una rappresentazione grafica del modello con variabile latente adoutcome binario nel caso di una singola variabile indipendente.

Figure 1: Relazione tra y∗ e Pr(y = 1)

Per un dato valore di x,

Pr(y = 1|x) = Pr(y∗ > 0|x)

Pr(y = 1|x) = Pr(ǫ > −[α + βx]|x) (3)

secondo cui la funzione di probabilita dipende dalla distribuzione dell’errore ε.Di solito, si ipotizzano due distribuzioni del termine ε e in entrambe si assume E(ε)= 0:

1. ε ∼ N(0, 1)

2. ε ∼ L(0, π2/3)

Il primo caso corrisponde al modello probit, in cui l’equazione (3) diventa:

Pr(y = 1|x) =

∫ +∞

−∞

1√2π

exp

(

− t2

2

)

dt (4)

mentre il secondo e il modello logit

7

Page 8: LDVrm Ch1 Rev

Pr(y = 1|x) =exp(α + βx)

1 + exp(α + βx)(5)

Diversamente dal modello di regressione lineare (in cui nota la vraibile dipendentey, Var(ε) puo essere stimata, nei modelli con variabili latenti, perche il modello risultiidentificato e possa essere stimato e necessario attribuire un valore per la varianzadegli errori.

Nel probit, Var(ε) = 0 conduce a una forma del modello piu semplice da trattareempiricamente. E’ possibile modificare tale assunzione, essa si riflettera in variazioniuniformi dei valori dei parametri strutturali.

Nel Logit, la varianza e posta arbitrariamente pari a π2/3 per semplificare laforma dell’equazione. Diversamente dal probit, modifiche di Var(ε) non si riflettonoin variazioni dei valori dei parametri stimati. Come si dimostra in Long(1997), valoriarbitrari della varianza influiscono sulla forma della distribuzione ma non sulla pro-porzione della distribuzione di probabilita corrispondente al verificarsi dell’evento.

Per entrambi i modelli, la probabilita di verificarsi dell’evento di interesse e datada

Pr(y = 1|x) = F (α + βx) (6)

dove F e la funzione cumulata di densita (cdf) di ε valutata per determinati valoridella variabile indipendente. La relazione tra modello lineare a variabile latente e ilrelativo modello probabilistico non-lineare e riportato nelle figure che seguono.

Figure 2: Relazione tra il modello lineare y∗ = α + βx e il modello probabilisticonon-lineare Pr(y = 1|x) = F (α + βx)

Nella figura (2), si riporta la distribuzione del termine di errore ε per un sot-toinsieme dei possibili valori di x. L’area corrispondente ai casi in cui y∗ > 0 eevidenziata in grigio e corrisponde a Pr(y = 1|x) per ogni valore di x.

8

Page 9: LDVrm Ch1 Rev

Figure 3: Relazione tra il modello lineare y∗ = α + βx e modello probabilisticonon-lineare Pr(y = 1|x) = F (α + βx)

Nella figura (3) si riporta la distribuzione di probabilita’ dell’evento di interesseal variare di x. E’ interessante considerare che alla forma teorica dei modelli ap-pena considerati (Binary Regression Models, BRM) si puo pervenire anche senzaintrodurre la nozione di variabile latente. In particolare, Theil (1970) dimostra cheil modello logit puo essere derivato da un modello probabilistico del tipo

Pr(y = 1|x) = xβ + α (7)

vincolando Pr(y = 1|x) a variare tra 0 e 1. A questo fine, si costruisce la funzionedi probabilita detta degli odds che esprime l’incidenza dei successi rispetto a quelladei non-successi:

Ω(x) =Pr(y = 1|x)

Pr(y = 0|x)=

Pr(y = 1|x)

1 − Pr(y = 1|x)(8)

Questa espressione varia tra 0 e ∞. Il logaritmo degli odds o logit varia tra −∞e +∞. Cio’ suggersice che il modello e lineare nel logit

lnΩ(x) = xβ (9)

Tale equazione e del tutto equivalente alla (5) ma fornisce una interpretazionedel modello logit incentrata sui fattori che determinano variazioni degli odds, ripresain alcuni esempi di questa sezione.

9

Page 10: LDVrm Ch1 Rev

3.2 Procedure di stima con Stata

Sintassi dei comandi Stata per la stima dei modelli logit e probit. Per la stimadel modello logit si usa il comando

logit depvar[

indepvars] [

weight] [

if exp] [

in range] [

, nolog or level(#)

nocoef noconstant robust cluster(varname) score(varname)

offset(varname) asis maximize options]

Per la stima probit

probit depvar[

indepvars] [

weight] [

if exp] [

in range] [

, nolog or level(#)

nocoef noconstant robust cluster(varname) score(varname)

offset(varname) asis maximize options]

Di seguito si riporta una descrizione sintetica delle opzioni disponibili con i duecomandi:

• nolog: non visualizza il processo iterativo per la massimizzazione della fun-zione di verosimiglianza.

• or fornisce i coefficienti di stima in termini di odds ratio definiti come exp(

β)

invece di β. Errori standard e intervalli di confidenza sono trasformati inmaniera analoga.

• level(#): livello di confidenza; 95% e il livello di default.

• nocoef: non visualizza l’output di stima.

• noconstant: stima senza costante.

• robust: stima robusta della matrice di varianza/convarianza.

• cluster(varname ): si usa questa opzione se si ritiene che le osservazionisiano indipendenti tra i gruppi ma non necessariamente all’interno degli stessi.cluster() indica a quale gruppo appartiene ciascuna osservazione. L’uso diquesta opzione ha effetto su errori standard e matrice di varianza e covarianzama non sui coefficienti stimati. Importante: cluster() equivale a specificarel’opzione robust.

• score: produce la matrice degli score

10

Page 11: LDVrm Ch1 Rev

• offset(varname ): vincola a 1 il parametro della variabile esplicativa var-name.

Entrambe le istruzioni forniscono stime di massima verosmiglianza (ML). I co-efficienti ottenuti possono essere considerati come quelli che hanno la piu alta ver-sosimiglianza di generare i dati campionari, date le assunzioni sottostanti il modello.Ad esempio, con riferimento a un modello a una sola variabile, per ogni combi-nazione di α e β (assumendo la varianza come nota), la funzione di verosimglianzaci informa sull’eventualita che avremmo effettivamente osservato i dati su cui con-duciamo l’esercizio di stima se intercetta e pendenza stimate ex post risultassero iveri parametri della popolazione.

La funzione di verosimiglianza e rappresentata graficamente da una superficiecon uno o piu massimi, corrispondenti a varie combinazioni dei parametri oggetto distima. In prima approssimazione, la varianza delle stime ci dice quanto rapidamentecambia la pendenza della superficie di volta in volta che ci si avvicina al punto dimassimo.

La massimizzazione della verosimiglianza e eseguita con metodi numerici. E’necessario, pertanto, attribuire dei valori iniziali ai parametri incogniti e sulla basedel valore della funzione da massimizzare possiamo cosı capire dove ci troviamo. At-traverso una procedura iterativa, di volta in volta si sostituiscono valori dei parametriincogniti in modo da massimizzare la funzione obiettivo (convergenza).

Primo esempio. Apriamo in Stata il file di dati binlfp2.dta. Si tratta di datisull’offerta di lavoro femminile. Il campione consiste di 753 donne sposate, osservatenel 1976, di eta’ compresa tra 30 e 60 anni. Una prima descrizione dei dati puoessere ottenuta con i comandi describe e summarize.

. use binlfp2, clear(Data from 1976 PSID-T Mroz)

. describe

Contains data from binlfp2.dtaobs: 753 Data from 1976 PSID-T Mrozvars: 8 30 Apr 2001 16:17size: 13,554 (99.9% of memory free) (_dta has notes)

storage display valuevariable name type format label variable label

lfp byte %9.0g lfplbl Paid Labor Force: 1=yes 0=nok5 byte %9.0g # kids < 6k618 byte %9.0g # kids 6-18age byte %9.0g Wife’s age in yearswc byte %9.0g collbl Wife College: 1=yes 0=nohc byte %9.0g collbl Husband College: 1=yes 0=nolwg float %9.0g Log of wife’s estimated wagesinc float %9.0g Family income excluding wife’s

Sorted by: lfp

11

Page 12: LDVrm Ch1 Rev

. summarize

Variable Obs Mean Std. Dev. Min Max

lfp 753 .5683931 .4956295 0 1k5 753 .2377158 .523959 0 3

k618 753 1.353254 1.319874 0 8age 753 42.53785 8.072574 30 60wc 753 .2815405 .4500494 0 1

hc 753 .3917663 .4884694 0 1lwg 753 1.097115 .5875564 -2.054124 3.218876inc 753 20.12897 11.6348 -.0290001 96

Supponiamo di voler studiare attraverso un modello logit come le condizionisocio-familiari influenzano l’offerta di lavoro femminile. Stimiamo il modello

. logit lfp k5 k618 age wc hc lwg inc

Iteration 0: log likelihood = -514.8732Iteration 1: log likelihood = -454.32339Iteration 2: log likelihood = -452.64187Iteration 3: log likelihood = -452.63296Iteration 4: log likelihood = -452.63296

Logit estimates Number of obs = 753(output omitted )

Il processo di convergenza per la massimizzazione della funzione di verosimiglianza(LL) e riportato all’inizio dell’ output di stima. E’ importante considerare che il val-ore del logaritmo e’ sempre negativo dal momento che la verosimiglianza e unaprobabilita (e assume quindi solo valori compresi tra 0 e 1). Si consiglia di visualiz-zare sempre tale processo e limitare l’uso dell’opzione nolog. E’ infatti informativosulla consistenza delle stime. Il numero di iterazioni non deve essere molto elevato enon deve presentare discontinuita (ad esempio, iterazioni con valori missing di LL).

La teoria ci dice che gli stimatori ML sono consistenti, efficienti e (asintotica-mente) normali all’aumentare della dimensione campionaria. Nei campioni finiti taliproprieta non sono piu verificate. Ad eccezione dei modelli logit e Poisson neicampioni finiti, le proprieta degli stimatori ML non sono piu note e sono pertantonecessari alcuni accorgimenti (Long, 1997):

• numero di osservazioni > 100, meglio se > 500. Regola del pollice: almeno 10osservazioni per parametro.

• Sono necessari campioni piu numerosi in caso di forte correlazione delle varibiliindipendenti o di bassa variabilita della variabile dipendente (prevalenza di 0o di 1).

12

Page 13: LDVrm Ch1 Rev

• Per la stima di alcuni modelli (ordered e zip models) sono necessarie dimen-sioni campionarie piu elevate.

Oltre alla scarsa dimensione campionaria, altri problemi (numero di iterazionielevato, i parametri stimati non appaiono ragionevoli) potrebbero essere determinatida:

• il dataset non e costruito in modo del tutto adeguato (errori nella costruzionedelle variabili, presenza di informazioni ridondanti, errata attribuzione delleinformazioni a ciascun ident);

• la scala delle variabili e eccessivamente diversa. Un indicatore di cio e datodal rapporto tra la deviazione standard (sd) dei parametri stimati. se e ec-cessivamente elevato e sufficiente riscalare l’unita di misura della variabile cheptresenta un errore standard elevato

Ritorniamo al modello logit stimato in precedenza. Come si e visto, e sufficientefar seguire al comando logit il nome della variabile dipendente depvar e la listadi variabili indipendenti indepvars. La costante e gia inclusa nel modello. Se nonsi specificano indepvars, Stata stima un modello con la sola costante. Prima dianalizzare l’output di stima, consideriamo alcune importanti opzioni utilizzate nellafase di specificazione.

(esempi con nolog or level nocoeff noconstant)

3.2.1 Opzioni if e in

Le opzioni if e in possono essere utilizzare per controllare il sample di stima.Con if e possibile formulare una condizione con riferimento a una determinata vari-abile. In tal modo, il sample di stima include le sole osservazioni che soddisfanola condizione desiderata. Nel caso in esame, se si vuole analizzare l’effetto dellevariabili familiari sull’offerta di lavoro delle sole donne che hanno al piu tre figliuseremo il comando

logit lfp k5 k618 age wc if k5<=3.

In questo caso, la variabile oggetto dell’opzione if e presente anche tra i re-gressori. Poiche k5 (numero di figli) varia da 0 a 5, essa non e esclusa dalla stima.Diverso e il caso se la condizione ha per oggetto una variabile dicotomica. Supponi-amo di voler selezionare il solo sottoinsieme di donne sposate con mariti con titolo

13

Page 14: LDVrm Ch1 Rev

di studio elevato. Il modello si specifica come segue

logit lfp k5 k618 age wc if hc == 1.

Se hc e incluso anche tra i regressori

logit lfp k5 k618 age wc hc if hc == 1

Stata elimina automaticamente il regressore ridonante e compare il messaggio

. logit lfp k5 k618 age wc hc if hc == 1

note: hc dropped due to collinearityIteration 0: log likelihood = -198.53844Iteration 1: log likelihood = -181.76303Iteration 2: log likelihood = -181.62706Iteration 3: log likelihood = -181.62694

Logit estimates Number of obs = 295(output omitted )

Una specificazione alternativa del sample di stima e ottenuta specificando l’opzionein. Supponiamo di voler stimare il modello sulle prime 550 osservazioni del dataset.Attraverso il comando in e possibile scrivere

logit lfp k5 k618 age wc in 1/550

e, analogamente, sul sottoinsieme 100-600

logit lfp k5 k618 age wc in 100/600

3.2.2 Dati mancanti

Stata nelle impostazioni di default elimina automaticamente dalla stima tutte leosservazioni che risultano missing. I dati mancanti sono indicati da ”.”. E’ probabileche, anche utilizzando lo stesso dataset, sia sufficiente cambiare specificazione perottenere stime condotte su un numero di osservazioni differente.

. use binlfp2_m(Data from 1976 PSID-T Mroz)

. logit lfp k5 k618 age hc lwg inc

Logit estimates Number of obs = 730(output omitted )

. logit lfp k5 age hc lwg inc

14

Page 15: LDVrm Ch1 Rev

Logit estimates Number of obs = 753(output omitted )

Cio ha due importanti implicazioni. Da un lato, non e possibile confrontareparametri stimati con modelli alternativi, attraverso il comando lrtest, se le di-mensioni campionarie sono differenti.In questo caso, variazioni dei parametri stimati possono infatti essere dovute siaalla differente specificazione sia all’uso di campioni di diversa ampiezza. In secondoluogo, l’eliminazione automatica delle osservazioni con dati mancanti potrebbe tal-volta sfuggire all’analisi. E’ preferibile decidere di volta in volta quali osservazioniutilizzare. In generale, e sufficiente creare variabili indicatrici di dati missing. A

questo fine si utilizzano i comandimark

emarkout

. Con il primo si definisceuna variabile markvar che assume valore 1 per tutte le osservazioni del dataset.markout pone markvar a 0 in tutti i casi di dati mancanti.

. use binlfp2_m(Data from 1976 PSID-T Mroz)

. mark nomiss

. markout nomiss lfp k5 k618 age wc hc lwg inc

. tab nomiss

nomiss Freq. Percent Cum.

0 30 3.98 3.981 723 96.02 100.00

Total 753 100.00

. logit lfp k5 k618 age hc lwg inc if nomiss == 1

Logit estimates Number of obs = 723(output omitted )

. logit lfp k5 age hc lwg inc if nomiss == 1

Logit estimates Number of obs = 723(output omitted )

3.2.3 Opzione weight

L’opzione weight consente di utilizzare informazioni aggiuntive relative alle singoleosservazioni del dataset di analisi di cui si ritiene di tener conto in sede di stima.Stata consente di utilizzare informazioni relative all’”importanza” delle osservazioni(ad esempio, nel caso delle celle di medie), sia di tener conto del disegno campionarionel caso di analisi con microdati. Stata riconosce quattro tipologie di pesi:

fweightsi utilizza quando occorre tener conto della presenza di osservazioni

rappresentative di una pluralita di informazioni sottostanti perfettamente identiche.

15

Page 16: LDVrm Ch1 Rev

weight significato

fweight frequency weightspweight sampling weights

aweight analytic weightsiweight importance weights

Table 1: Opzione weight in Stata

Ad esempio, se il valore di fweight associato a un singolo record e 5, cio significache il dataset originario conteneva 5 osservazioni perfettamente identiche. fweight

e sempre un numero positivo e intero. Ad esempio, il dataset weights.dta

x1 x2 y

1. 1 1 02. 1 1 03. 1 1 04. 30 1 05. 30 1 0

6. 30 1 17. 1 0 18. 1 0 19. 1 0 110. 1 0 1

11. 1 0 112. 5 4 013. 5 4 014. 5 4 015. 5 4 0

16. 5 4 1

puo essere scritto in forma piu sintetica come

x1 x2 y pop

1. 1 1 0 32. 30 1 0 23. 30 1 1 14. 1 0 1 55. 5 4 0 4

6. 5 4 1 1

la regressione condotta sul primo dataset

16

Page 17: LDVrm Ch1 Rev

logit y x1 x2

e del tutto equivalente a

logit y x1 x2 [fweight=pop].

I due output di stima sono uguali.

. use weights, clear

. regress y x1 x2

Source SS df MS Number of obs = 16F( 2, 13) = 110.78

Model 16881.4364 2 8440.71818 Prob > F = 0.0000Residual 990.501136 13 76.1923951 R-squared = 0.9446

Adj R-squared = 0.9361Total 17871.9375 15 1191.4625 Root MSE = 8.7288

y Coef. Std. Err. t P>|t| [95% Conf. Interval]

x1 .4555265 .2009758 2.27 0.041 .0213446 .8897084x2 19.48587 1.320052 14.76 0.000 16.63407 22.33767

_cons 17.3961 3.450946 5.04 0.000 9.940789 24.85142

. use weights_f, clear

. regress y x1 x2 [fweight=pop]

Source SS df MS Number of obs = 16F( 2, 13) = 110.78

Model 16881.4364 2 8440.71818 Prob > F = 0.0000Residual 990.501136 13 76.1923951 R-squared = 0.9446

Adj R-squared = 0.9361Total 17871.9375 15 1191.4625 Root MSE = 8.7288

y Coef. Std. Err. t P>|t| [95% Conf. Interval]

x1 .4555265 .2009758 2.27 0.041 .0213446 .8897084x2 19.48587 1.320052 14.76 0.000 16.63407 22.33767

_cons 17.3961 3.450946 5.04 0.000 9.940789 24.85142

aweightsi utilizza quando si il dataset di analisi consiste di medie di osser-

vazioni. Si ricorre all’uso di questa opzione quando il modello

yi = xiβ + εi, εi ∼ N(0, σ2) (10)

e stimato su dati che sono medie di osservazioni (yj , xj) invece che su dati indi-viduali. Un tipico tipico esempio e il caso di regressioni con i dati delle inchieste. In

17

Page 18: LDVrm Ch1 Rev

questi casi specificando l’opzione aweight

logit y x1 x2 [aweight=pop].

il modello di regressione diventa:

yi = xiβ + εi, εi ∼ N(0, σ2/wi) (11)

dove w i sono i cosiddetti analytic weigths. Tali pesi entrano nella regressionein modo analogo all’opzione fweight. Diversamente da quest’ultima, i pesi sonopreliminarmente normalizzati a rispetto al totale delle osservazioni N.Tale ponderazione rappresenta una soluzione al problema statistico dell’eteroschedasticita,dovuta alla presumibile differenza della varianza tra gruppi. Se si lavora con datiottenuti come medie di osservazioni individuali, la varianza della stima del modello(11) varia in funzione del numero delle unita su cui la media e stata eseguita

yi = xiβ + εi, εi ∼ N(0, σ2/Ni) (12)

E’ presumibile che la varianza sia inferiore per il gruppo j in cui N j=100.000piuttosto che nel gruppo i in cui N i=5. Il comando aweight appare analogo a quelloche si sarebbe utilizzato nella ponderazione dei microdati provenienti da un campi-onamento casuale stratificato. Si pensi alla procedura di gestione dei microdati delleinchieste ISAE. Si tratta tuttavia di un uso non corretto della ponderazione. Nelcaso di microdati si dispone di dati individuali, in cui il problema della eteroschedas-ticita non si pone (il modello e di nuovo analogo al modello (11)), e non si giustifical’uso di stimatori ponderati con aweight.Tuttavia, l’uso di stimatori con ponderazione, anche quando non si giustifica teorica-mente, aumenta l’efficienza delle stime. E’ questo il motivo per cui si ricorre spessoall’uso di aweight quando sarebbe invece necessaria la ponderazione con l’opzionepweight.

pweighte l’opzione da utilizzare quando si lavora con microdati tratti da un

campione probabilistico di cui e nota la struttura di ponderazione. La differenzasostanziale rispetto a aweight e che l’opzione

[pweight=pop]

nel comando di regressione consente di pervenire a una stima della matrice divarianza-covarianza (e, quindi, degli errori standard dei parametri stimati) robustaa violazioni delle ipotesi sottostanti il nostro modello teorico ((xi, εi) indipendentie identicamente distribuiti). In altri termini, utilizzare pweight implica l’opzione

18

Page 19: LDVrm Ch1 Rev

robust. Le istruzioni

logit y x1 x2 [pweight=pop]

logit y x1 x2 [pweight=pop], robust

hanno lo stesso output. La variabile pop puo indicare sia il tasso di campi-onamento del corrispondente strato della popolazione (numero di individui in pro-porzione della popolazione), sia l’importanza relativa di ciascun strato (ad esempio,il valore aggiunto). Come noto, le inchieste dell’ISAE sono ottenute proprio sullabase di uno schema di ponderazione a due livelli (addetti, valore aggiunto).Se si ritiene che la condizione di indipendenza sia verificata solo tra gruppi (o strati)del campione teorico, per ottenere stime robuste della varianza e necessario specifi-

care l’opzionecluster

. In questo caso si tiene conto della potenziale correlazionetra unita appartenenti allo stesso strato (within), mnetre si assume che la condizioned indipendenza sia verificata tra gruppi (across). Specificare tale opzione porta allastima di errori standard robusti, ma in piu con un’ulteriore correzione per gli ef-fetti di dati cluster 4. Tale violazione puo verificarsi nei casi in cui, ad esempio,la stessa unita fornisce informazioni piu volte nel tempo, oppure quando diversimembri della stessa unita familiare (o diverse imprese appartenenti alla stessa cellasettore-regione) entrano nel campione.Come noto, il campione ISAE presso le imprese manifatturiere presenta una strut-tura stratificata rispetto a settore-regione-classe di addetti. Ogni combinazione diattributi appartenenti a queste tre modalita costituisce uno strato. Le unita diciascuna cella potrebbero non sodddisfare la condizione di indipendenza del cam-pionamento casuale semplice per il solo fatto che l’indagine costituisce un panel equindi le imprese sono intervistate su base sistematica piu volte nel tempo.Si assuma che la condizione di indipendenza sia soddisfatta solo tra settori di attivitaeconomica e non all’interno di ogni singolo comparto. Tale condizione puo essereverificata sui dati. Di seguito si riporta la struttura del file isae.dta, che costitu-isce il risultato di una fase intermedia di elaborazione dei microdati delle inchieste incui e riconoscibile la struttura stratificata per combinazioni delle modalita settore-regione-classe di addetti.

. use isae.dta, clear

. list

reg sett cladd tp_u tp_n add pop

4Si veda Hosmer e Lemeshow (2000), Applied Logistic Regression, cap. 8.

19

Page 20: LDVrm Ch1 Rev

1. 1 1 1 .0661765 .6470588 136 1144552. 2 1 1 .220339 .5762712 59 2530823. 3 1 1 0 1 37 288444. 4 1 1 .2839506 .7160494 162 772435. 5 1 1 .2662338 .7337663 154 151514

6. 6 1 1 1 0 5 384057. 7 1 1 1 0 32 977798. 8 1 1 .1702128 .6666667 141 466889. 9 1 1 .6440678 .3559322 118 18460510. 10 1 1 .3173077 .6826923 104 22020

11. 11 1 1 0 1 178 10531312. 12 1 1 0 .0909091 55 3241213. 13 1 1 .8260869 .173913 46 2180314. 13 1 2 1 0 225 1920715. 14 1 1 1 0 39 8108

16. 15 1 1 .3012048 .6987952 166 5455017. 16 1 1 0 1 23 815818. 17 1 1 0 1 19 952719. 18 1 1 .3497268 .5191257 183 3818320. 19 1 1 .807947 .192053 151 61130

21. 1 2 1 0 0 26 150447.422. 2 2 1 .5853658 0 41 293621.423. 2 2 3 .5555556 .4444444 648 312775.724. 3 2 1 0 1 31 10589.1325. 4 2 1 0 1 28 26046.24

26. 5 2 1 0 0 60 216644.9

Per tener conto della violazione dell’ipotesi di indipendenza all’interno dei gruppi,l’istruzione di stima diventa

logit y x1 x2 [pweight=pop] cluster(sett)

Se si lavora con microdati provenienti da disegni campionari complessi, Statadispone di un insieme di comandi (svy + comando standard) che consentono ditener conto di tali informazioni in fase di stima. Nel caso in esame, si dispone deicomandi svylogit e svyprobit. E’ importante considerare che:

• i comandi di stima standard (non-svy) che includono le opzioni pweight ecluster producono gli stessi output dei comandi svy

• se il disegno campionario e realtivamente semplice, a parita di altre condizioni,e preferibile utilizzare i comandi non-svy.

20

Page 21: LDVrm Ch1 Rev

3.2.4 Opzione robust

Attraverso l’opzione robust la stima della matrice di varianza e covarianza e con-dotta secondo la metodologia di Huber e White (1982) (sandwich standard errors).Gli errori standard sono considerati robusti a violazioni delle assunzioni relative alvero modello sottostante i dati. Cio succede, ad esempio, quando si conduce unastima logit se il modello corretto e di tipo probit. Le stime ottenute non possonoessere considerate di tipo ML dal momento che la funzione di verosimiglianza utiliz-zata non e quella corretta. In questo caso, la correzione robust fornisce la miglioreapprossimazione della vera funzione di densita (mimimum ignorance estimator). Diseguito si riporta un esempio dell’uso delle opzioni robust e cluster() con il co-mando probit 5.

. use auto(1978 Automobile Data)

. probit foreign mpg weight

Iteration 0: log likelihood = -45.03321Iteration 1: log likelihood = -29.244141Iteration 2: log likelihood = -27.041557Iteration 3: log likelihood = -26.84658Iteration 4: log likelihood = -26.844189Iteration 5: log likelihood = -26.844189

Probit estimates Number of obs = 74LR chi2(2) = 36.38Prob > chi2 = 0.0000

Log likelihood = -26.844189 Pseudo R2 = 0.4039

foreign Coef. Std. Err. z P>|z| [95% Conf. Interval]

mpg -.1039503 .0515689 -2.02 0.044 -.2050235 -.0028772weight -.0023355 .0005661 -4.13 0.000 -.003445 -.0012261_cons 8.275464 2.554142 3.24 0.001 3.269438 13.28149

. probit foreign mpg weight, robust

Iteration 0: log pseudo-likelihood = -45.03321Iteration 1: log pseudo-likelihood = -29.244141Iteration 2: log pseudo-likelihood = -27.041557Iteration 3: log pseudo-likelihood = -26.84658Iteration 4: log pseudo-likelihood = -26.844189Iteration 5: log pseudo-likelihood = -26.844189

Probit estimates Number of obs = 74Wald chi2(2) = 30.26Prob > chi2 = 0.0000

Log pseudo-likelihood = -26.844189 Pseudo R2 = 0.4039

Robustforeign Coef. Std. Err. z P>|z| [95% Conf. Interval]

5Per ulteriori approfondimenti si rinvia alla User’s Guide di Stata

21

Page 22: LDVrm Ch1 Rev

mpg -.1039503 .0593548 -1.75 0.080 -.2202836 .0123829weight -.0023355 .0004934 -4.73 0.000 -.0033025 -.0013686_cons 8.275464 2.539176 3.26 0.001 3.29877 13.25216

. probit foreign mpg weight, robust cluster(manuf)

Iteration 0: log pseudo-likelihood = -45.03321Iteration 1: log pseudo-likelihood = -29.244141Iteration 2: log pseudo-likelihood = -27.041557Iteration 3: log pseudo-likelihood = -26.84658Iteration 4: log pseudo-likelihood = -26.844189Iteration 5: log pseudo-likelihood = -26.844189

Probit estimates Number of obs = 74Wald chi2(2) = 28.99Prob > chi2 = 0.0000

Log pseudo-likelihood = -26.844189 Pseudo R2 = 0.4039

(standard errors adjusted for clustering on manuf)

Robustforeign Coef. Std. Err. z P>|z| [95% Conf. Interval]

mpg -.1039503 .0504538 -2.06 0.039 -.202838 -.0050626weight -.0023355 .0004517 -5.17 0.000 -.0032208 -.0014503_cons 8.275464 2.180972 3.79 0.000 4.000837 12.55009

dal confronto dei tre output, la correzione con l’opzione cluster non e partico-larmente significativa. Per il calcolo della matrice di varianza e covarianza di White,

un ruolo importante e svolto dalla funzione discore

. Tale opzione puo esserespecificata anche in modo independente da robust e fornisce un vettore u i che rap-presenta il contributo della i−ma osservazione alla funzione ∂L/∂β. Tale vettore hala proprieta di essere incorrelato con la matrice dei regressori x e tale che

i u i =0. Con riferimento all’esempio appena visto

. probit foreign mpg weight, score(u)

Iteration 0: log likelihood = -45.03321Iteration 1: log likelihood = -29.244141Iteration 2: log likelihood = -27.041557Iteration 3: log likelihood = -26.84658Iteration 4: log likelihood = -26.844189Iteration 5: log likelihood = -26.844189

Probit estimates Number of obs = 74LR chi2(2) = 36.38Prob > chi2 = 0.0000

Log likelihood = -26.844189 Pseudo R2 = 0.4039

foreign Coef. Std. Err. z P>|z| [95% Conf. Interval]

mpg -.1039503 .0515689 -2.02 0.044 -.2050235 -.0028772weight -.0023355 .0005661 -4.13 0.000 -.003445 -.0012261_cons 8.275464 2.554142 3.24 0.001 3.269438 13.28149

22

Page 23: LDVrm Ch1 Rev

. summarize u

Variable Obs Mean Std. Dev. Min Max

u 74 -3.96e-16 .5988325 -1.655439 1.660787

. correlate u mpg weight(obs=74)

u mpg weight

u 1.0000mpg 0.0000 1.0000

weight 0.0000 -0.8072 1.0000

. list make foreign mpg weight u if abs(u) > 1.65

make foreign mpg weight u

24. Ford Fiesta Domestic 28 1,800 -1.655439564. Peugeot 604 Foreign 14 3,420 1.6607871

dove foreign = 1.

3.3 Post-estimation analysis

Stata dispone di una libreria di post−estimation commands disponibili sottopostest

e riportati nella tabella che segue.

comando Descrizione

adjust Tavola di medie e prop

estimates Archivia, riformatta ... output di stimahausman Test di Hausmanlincom Test su combinazioni lineari di coefficientilrtest Test basati sul rapporto di verosimiglianzamfx Calcola gli effetti marginalinlcom Test su combinazioni non−lineari di coefficientipredict Fornisce yi, residui, ecc.

predictnl Fornisce yi, residui, ecc. in modelli non−lineari

suest Stimatore seemingly unrelatedtest Wald test per ipotesi lineari sui parametritestnl Wald type−test per ipotesi non−lineari sui parametrivce Matrice di varianza e covarianza dei residui

Table 2: Comandi postest

23

Page 24: LDVrm Ch1 Rev

3.3.1 Output di stima

Ritorniamo al dataset binlfp2.dta che contiene informazioni sull’offerta di lavorodi un campione di donne di eta comprea tra 30 e 60 anni. Supponiamo di volerstimare il modello

Pr(lfp = 1) = F (β0 + βk5k5 + βk618k618 + βageage

+βwcwc + βhchc + βlwglwg + βincinc)(13)

utilizzando i comandi logit e probit e successivamente di confrontare i risultatiottenuti dai due modelli.

. logit lfp k5 k618 age wc hc lwg inc

Logit estimates Number of obs = 753LR chi2(7) = 124.48Prob > chi2 = 0.0000

Log likelihood = -452.63296 Pseudo R2 = 0.1209

lfp Coef. Std. Err. z P>|z| [95% Conf. Interval]

k5 -1.462913 .1970006 -7.43 0.000 -1.849027 -1.076799k618 -.0645707 .0680008 -0.95 0.342 -.1978499 .0687085age -.0628706 .0127831 -4.92 0.000 -.0879249 -.0378162wc .8072738 .2299799 3.51 0.000 .3565215 1.258026hc .1117336 .2060397 0.54 0.588 -.2920969 .515564

lwg .6046931 .1508176 4.01 0.000 .3090961 .9002901inc -.0344464 .0082084 -4.20 0.000 -.0505346 -.0183583

_cons 3.18214 .6443751 4.94 0.000 1.919188 4.445092

. probit lfp k5 k618 age wc hc lwg inc, nolog

Probit estimates Number of obs = 753LR chi2(7) = 124.36Prob > chi2 = 0.0000

Log likelihood = -452.69496 Pseudo R2 = 0.1208

lfp Coef. Std. Err. z P>|z| [95% Conf. Interval]

k5 -.8747112 .1135583 -7.70 0.000 -1.097281 -.6521411k618 -.0385945 .0404893 -0.95 0.340 -.117952 .0407631age -.0378235 .0076093 -4.97 0.000 -.0527375 -.0229095wc .4883144 .1354873 3.60 0.000 .2227642 .7538645hc .0571704 .1240052 0.46 0.645 -.1858754 .3002161

lwg .3656287 .0877792 4.17 0.000 .1935847 .5376727inc -.020525 .0047769 -4.30 0.000 -.0298875 -.0111626

_cons 1.918422 .3806536 5.04 0.000 1.172355 2.66449

Specificando l’opzione nolog la procedura iterativa per la massimizzazione di LLnon viene visualizzata. Log-likelihood e il valore di LL a convergenza. Lr chi2(7)

e il valore del test basato sul rapporto di verosimiglianza relativo alla significativita

24

Page 25: LDVrm Ch1 Rev

congiunta di tutti i parametri del modello di regressione. L’ipotesi nulla e che tuttii parametri siano congiuntamente uguali a 0. Tale statistica si distribuisce secondouna χ2 e Prob > chi2 e il relativo p−value. Pseudo R2 e una misura di bonta dellaregressione noto come R2 di McFadden. Coef indica le stime ML. St.Err. riportal’errore standard dele stime. z e la statistica ottenuta come β/σ e P>|z| indica,data la distribuzione ipotizzata, la probabilita che il parametro stimato cada nellecode di tale distribuzione. Nelle impostazioni di default, il grado di confidenza efissato al 95%. Tale output non agevola il confronto tra due stime alternative.

3.3.2 I comandi estimates e outreg

Una migliore lettura dei risultati di stima puo essere ottenuta con il comando

estimates table 6. La sintassi e la seguente:

estimates table name[

namelist][

, options]

dove le options sono le seguenti:

• stats (AIC, BIC, rank)

• star indica la significativita dei coefficienti (∗: ¡.05, ∗∗: ¡.01, ∗ ∗ ∗: ¡.001)

• keep keeplist specifica i coefficienti da includere nella tabella

• drop specifica i coefficienti da escludere dalla tabella

• se: errori standard sotto i coefficienti stimati

• t: t−stat sotto i coefficienti stimati

• p: p−value sotto i coefficienti stimati

• label: visualizza label invece dei nomi delle variabili

• style(oneline columns noline: formatta in vari modi la tabella di output

• newpanel: statistiche riportate al di sotto della tabella dei coefficienti

6Per una completa sintassi del comando si rinvia ai manuali Stata

25

Page 26: LDVrm Ch1 Rev

L’uso del comando e il seguente. Dopo la stima di ciascun modello si archivianoi risultati con il comando

estimates store name[

, title(str ) nocopy]

e, successivamente, si esegue il comando estimates table con l’indicazione deiriferimenti ai modelli salvati. Ad esempio, con riferimento alle logit e probit icomandi sono i seguenti:

. logit lfp k5 k618 age wc hc lwg inc, nolog

Logit estimates Number of obs = 753LR chi2(7) = 124.48Prob > chi2 = 0.0000

Log likelihood = -452.63296 Pseudo R2 = 0.1209(output omitted )

. est store A

. probit lfp k5 k618 age wc hc lwg inc, nolog

Probit estimates Number of obs = 753LR chi2(7) = 124.36Prob > chi2 = 0.0000

Log likelihood = -452.69496 Pseudo R2 = 0.1208(output omitted )

. est store B

. est table *, stats(N ll chi2 df_m aic) star

Variable A B

k5 -1.462913*** -.87471118***k618 -.06457068 -.03859449age -.06287055*** -.0378235***wc .80727378*** .48831439***hc .11173357 .05717035

lwg .60469312*** .36562871***inc -.03444643*** -.02052503***

_cons 3.1821405*** 1.9184223***

N 753 753ll -452.63296 -452.69496

chi2 124.48049 124.35648df_m 7 7aic 921.26592 921.38993

legend: * p<0.05; ** p<0.01; *** p<0.001

outrege un comando disponibile nella libreria on-line dei programmi scritti

dagli utenti Stata che consente di modificare la tabella standard dei risultati con-sentendone una lettura piu agevole. La sintassi del comando e la seguente:

26

Page 27: LDVrm Ch1 Rev

outreg varlist using[

filename]

,[

options]

dove con varlist si indica il nome delle variabili che compaiono nell’output efilename e il file che contiene i risultati. Le opzioni disponibili sono le seguenti:

• replace sovrascrive il file filename.out

• append aggiunge i risultati di stime successive in coda al file filename.out

• se visualizza gli errori standard invece delle statistiche t/z

• pvalue visualizza il p−value invece delle statistiche t/z

• title(text) aggiunge un titolo alla tabella dei risultati

• addnote sostituisce label a nome-variabile nella tabella dei risultati

• nolabels usa il nome-variabile nella tabella dei risultati.

L’uso del comando e il seguente. Dopo la stima del primo modello, si esegue perla prima volta outreg indicando il nome del file di output. Ad ogni stima di modellisuccessivi, si usa outreg seguito dall’opzione append.

. logit lfp k5 k618 age wc hc lwg inc

Logit estimates Number of obs = 753LR chi2(7) = 124.48Prob > chi2 = 0.0000

Log likelihood = -452.63296 Pseudo R2 = 0.1209(output omitted )

. outreg using prob_log, replace

. probit lfp k5 k618 age wc hc lwg inc, nolog

Probit estimates Number of obs = 753LR chi2(7) = 124.36Prob > chi2 = 0.0000

Log likelihood = -452.69496 Pseudo R2 = 0.1208(output omitted )

. outreg using prob_log, append

Il file di output ha struttura analoga a quella ottenuta con estimate table.

3.3.3 Confronto tra parametri logit e probit

Come noto, le CDF della distribuzione normale e logistica sono molto simili adeccezione delle code. Cio conduce a stime logit e probit molto simili ma nondirettamente confrontabili. La varianza della distribuzione logistica e stata posta

27

Page 28: LDVrm Ch1 Rev

pari a circa 3,3, molto diversa dalla varianza unitaria della normale standardizzata.Dalla teoria,

βL√

π2/3= βL × 0, 551 ∼= βP (14)

Con riferimento alla nostra tabella dell’output, per ciascuna variabile il rapportotra i parametri logit su quelli probit e pari a circa 1,7 approsimativamente parial reciproco di 0,551. Una eccezione e rappresentata dai coefficienti stimati di hc, lacui stima e caratterizzata da una elevata variabilita. Questo esempio dimostra comela dimensione dei coefficienti sia influenzata da Var(ε).

3.3.4 Test su coefficienti

I coefficienti stimati con metodologia ML sono sottosposti a verifica attraverso un

test di Wald utilizzando il comandotest

o attraverso un test LR con il comandolrtest

. Al test di Wald concorrono due misure: la distanza tra i coefficienti sti-mati e quelli teorici, la forma della funzione di verosimiglianza. Il test LR si basasul rapporto di LL, rispettivamente, del modello nella forma completa e quello nellaforma vincolata. Anche se asintoticamente euqivalenti, in campioni finiti i test Walde LR forniscono risultati differenti. Parte della letteratura (Greene, Rothenberg)preferiscono LR.La sintassi del test di Wald e

test varlist[

, accumulate]

dove varlist e il nome di uno o piu parametri dell’ultima stima. Ad esempio

. logit lfp k5 k618 age wc hc lwg inc(output omitted )

. test k5

( 1) k5 = 0

chi2( 1) = 55.14Prob > chi2 = 0.0000

Con due variabili, si sottopone a verifica l’ipotesi H0 : βk5 = βk618 = 0

. test k5 k618

( 1) k5 = 0( 2) k618 = 0

28

Page 29: LDVrm Ch1 Rev

chi2( 2) = 55.16Prob > chi2 = 0.0000

Includendo tutte le variabili indipendenti, si ottiene il test che, al netto dellacostante, compare all’inizio dell’output di stima

. test k5 k618 age wc hc lwg inc

( 1) k5 = 0( 2) k618 = 0( 3) age = 0( 4) wc = 0( 5) hc = 0( 6) lwg = 0( 7) inc = 0

chi2( 7) = 94.98Prob > chi2 = 0.0000

test consente anche di testare restrizioni lineari sui parametri, la cui sintassi e

test [exp = exp][

, accumulate]

e si sottopone a verifica l’ipotesi H0 : βk5 = βk618

. test k5=k618

( 1) k5 - k618 = 0

chi2( 1) = 49.48Prob > chi2 = 0.0000

l’opzioneaccumulate

consente di costruire vincoli lineari piu complessi

. test k5=k618

( 1) k5 - k618 = 0

chi2( 1) = 49.48Prob > chi2 = 0.0000

. test wc=hc, accumulate

( 1) k5 - k618 = 0( 2) wc - hc = 0

chi2( 2) = 52.16Prob > chi2 = 0.0000

dove si e sottoposta a verifica l’ipotesi nulla H0 : βk5 = βk618, βwc = βhc.

lrtestconfronta modelli nested con un test LR. La sintassi e

29

Page 30: LDVrm Ch1 Rev

lrtest modelspec1 [modelspec2][

, df(#) stats dir force]

Un esempio dell’uso del comando.

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. est store A

. logit lfp age wc hc lwg inc, nolog(output omitted )

. est store B

. lrtest A

likelihood-ratio test LR chi2(2) = 66.49(Assumption: B nested in A) Prob > chi2 = 0.0000

3.3.5 Bonta della regressione

Misure della bonta della regressione forniscono indicazioni utili anche se non deltutto definitive sul potere esplicativo di un modello. Modelli che massimizzano taliindici non sempre risultano poi adeguati alle finalita di analisi. In Stata non sonosempre disponibili comandi che forniscono output di stima completi.fitstat

calcola numerose statistiche di bonta della regressione. La sintassi difitstat e la seguente

fitstat[

, saving(name ) using(name ) save bif dic force]

dove

• saving(name) memorizza le misure calcolate per successivi confronti (namedeve essere al piu di quattro lettere)

• using(name) confronta il fit del nuovo modello con quello del modello prece-dente (name deve essere al piu di quattro lettere)

• bic fornisce la statistica BIC e altre misure di informazione

• force e richiesto quando il confronto si effettua tra due modelli stimati conriferimenti a un numero di osservazioni differente

Due limitazioni di fitstat. Alcune misure non possono essere calcolate se nellastima si utilizza l’opzione weight. Nel caso di pweights si utilizza la pseudo−verosimiglianza

30

Page 31: LDVrm Ch1 Rev

per calcolare le misure di fit. Infine, fitstat produce errori se uno dei modelli estimato con l’opzione noconstant.

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. fitstat

Measures of Fit for logit of lfp

Log-Lik Intercept Only: -514.873 Log-Lik Full Model: -452.633D(745): 905.266 LR(7): 124.480

Prob > LR: 0.000McFadden’s R2: 0.121 McFadden’s Adj R2: 0.105Maximum Likelihood R2: 0.152 Cragg & Uhler’s R2: 0.204McKelvey and Zavoina’s R2: 0.217 Efron’s R2: 0.155Variance of y*: 4.203 Variance of error: 3.290Count R2: 0.693 Adj Count R2: 0.289AIC: 1.223 AIC*n: 921.266BIC: -4029.663 BIC’: -78.112

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. quietly fitstat, saving(mod1)

. gen age2 = age*age

. logit lfp k5 age age2 wc lwg inc, nolog(output omitted )

. fitstat, using(mod1)

Measures of Fit for logit of lfp

Current Saved DifferenceModel: logit logitN: 753 753 0Log-Lik Intercept Only: -514.873 -514.873 0.000Log-Lik Full Model: -452.913 -452.633 -0.281D: 905.827(746) 905.266(745) 0.561(1)LR: 123.919(6) 124.480(7) 0.561(1)Prob > LR: 0.000 0.000 0.454McFadden’s R2: 0.120 0.121 -0.001McFadden’s Adj R2: 0.107 0.105 0.001Maximum Likelihood R2: 0.152 0.152 -0.001Cragg & Uhler’s R2: 0.204 0.204 -0.001McKelvey and Zavoina’s R2: 0.213 0.217 -0.004Efron’s R2: 0.154 0.155 -0.001Variance of y*: 4.181 4.203 -0.022Variance of error: 3.290 3.290 0.000Count R2: 0.677 0.693 -0.016Adj Count R2: 0.252 0.289 -0.037AIC: 1.222 1.223 -0.002AIC*n: 919.827 921.266 -1.439BIC: -4035.726 -4029.663 -6.063BIC’: -84.175 -78.112 -6.063

Difference of 6.063 in BIC’ provides strong support for current model.

Note: p-value for difference in LR is only valid if models are nested.

Una ulteriore misura della bonta di regressione e quella che mette a confronto leprevisioni corrette con quelle non corrette. In Stata si usa il comando lstat

. quietly logit lfp k5 age age2 wc lwg inc, nolog

31

Page 32: LDVrm Ch1 Rev

. lstat

Logistic model for lfp

TrueClassified D ~D Total

+ 333 148 481- 95 177 272

Total 428 325 753

Classified + if predicted Pr(D) >= .5True D defined as lfp != 0

Sensitivity Pr( +| D) 77.80%Specificity Pr( -|~D) 54.46%Positive predictive value Pr( D| +) 69.23%Negative predictive value Pr(~D| -) 65.07%

False + rate for true ~D Pr( +|~D) 45.54%False - rate for true D Pr( -| D) 22.20%False + rate for classified + Pr(~D| +) 30.77%False - rate for classified - Pr( D| -) 34.93%

Correctly classified 67.73%

3.3.6 Analisi dei residui

Anche nei BRM si e interessati a condurre una analisi grafica dei residui di regres-sione. L’obiettivo e quello di identificare cosiddette influential observations. Nontutti gli outlier influenzano la stima dei parametri in modo sensibile. Nelle figureche seguono si riportano due esempi.

Come si e gia visto, gli errori dei modelli probit e logit sono per definizioneeteroschedastici. Tale eteroschedasticita dipende dalla probabilita di un outcomepositivo. Infatti

πi = Pr(yi = 1|xi)

Var(yi − πi|xi) = πi(1 − πi)(15)

Per πi = 0,5, la varianza e inferiore alla probabilita prevista (0,25) e tende a essereuguale alle probabilita predette dal modello per πi −→ 0. Per questo motivo, di solitosi usano i residui scalati rispetto alla propria deviazione standard o, ancora, i residuistandardizzati (standardized Pearson residuals). In Stata si calcolano specificando

l’opzione rs nel comandopredict

.

. logit lfp k5 k618 age wc hc lwg inc, nolog

32

Page 33: LDVrm Ch1 Rev

(output omitted )

. predict rstd, rs

. label var rstd "Standadized residuals"

. sort inc

. drop index

. gen index = _n

. label var index "Observation number"

. scatter rstd index, yline(0)

. graph export "C:\LDVrm\ch3\predict_rs.eps", as(eps) replace

Un modo per identificare osservazioni che potrebbero condizionare le nostre stimee quello di ordinare i residui rispetto ai valori di una o piu variabili che si presumepossano essere alla base di un problema di inferenza e, successivamente, ripetereil grafico dei residui. E’, inoltre, rilevante identificare la posizione dei residui chepotrebbero constituire influential observations. A questo fine, e sufficiente specifi-care l’opzione mlabel(varname) con il comando scatter. Nel nostro caso, varnamee la variabile index.

33

Page 34: LDVrm Ch1 Rev

Figure 4: Scatter plot: standardized Pearson residuals.

scatter rstd index, mlabel(index)

In questo caso, tutte le osservazioni cui corrispondono possibili outlier, possonoessere individuate (142, 554, 752, ...).

. list in 142(output omitted )

. list rstd index if rstd > 2.5 | rstd < -2.5

rstd index

142. 3.191524 142345. 2.873378 345514. -2.677243 514554. -2.871972 554752. 3.192648 752

Influential observations sono anche note come high−leverage points. Questi pos-sono essere individuati considerando la variazione di β se si elimina l’osservazionei−ma. Un metodo che consente di condurre tale analisi e dovuto a Pregidbon (1981)che ha definito una misura (che sintetizza l’effetto sul vettore dei coefficienti dovutoall’eliminazione di una osservazione) analoga alla distanza di Cook nei modelli lin-eari. In Stata tale misura e calcolata specificando l’opzione dbeta nel comandopredict.

34

Page 35: LDVrm Ch1 Rev

Figure 5: Scatter plot: standardized Pearson residuals opzione mlabel.

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. predict cook, dbeta

. scatter cook index, mlabel(index)

3.3.7 Interpretazione dei modelli

Poiche i modelli che stiamo considerando sono non−lineari, e necessario ricorrerea una pluralita di approcci che consentano di descrivere in maniera soddisfacentela relazione tra regressori e variabile di outcome. Ad eccezione di pochi modelli,i parametri stimati non sono immediatamente informativi. L’interpretazione deimodelli si incentra sull’analisi delle cosiddette predicted probabilities per ciascunaosservazione e di funzioni di tali probabilita. In Stata e possibile seguire vari ap-procci per l’interpretazione dei modelli non−lineari:

• Predict values stimati attraverso il comando predict

• Confronto tra probabilita stimate e valori dei regressori con i comandi prvalue,prtab, prgen.

• Calcolo degli effetti marginali e dei cambiamenti discreti con i comandi mfx,prchange

35

Page 36: LDVrm Ch1 Rev

Figure 6: Scatter plot: Distanza di Cook.

• Odds-ratio nel modello logit

I comandi pr∗, ad eccezione di predict, fanno parte della libreria di programmiSpostado

.predict

si utilizza dopo aver eseguito la stima di interess e fornisce i valori pre-visti della variabile indipendente calcolati sulla base dei coefficienti stimati 7. Lasintassi del comando predict e

predict newvarname

dove newvarname e il nome della nuova variabile. Nelle impostazioni di defaultla serie prodotta da predict cambia a seconda del tipo di regressione (tabella 3).

Comando di stima Output

regress Valori previsti yi = xβ

logit, probit Probabilita previste P r(y = k)count, nberg, zip Tassi previsti

Table 3: Comandi postest

7predict e un comando con numerose opzioni, non tutte esaminate in questa sezione. Per

approfondimenti si rinvia ai manuali Stata

36

Page 37: LDVrm Ch1 Rev

predict ammette l’uso delle opzioni if e in. Una volta eseguito, i risultativengono mantenuti in memoria fino al successivo calcolo. Con riferimento all’usualemodello logit, i comandi che seguono possono essere utilizzati per avere primeindicazioni circa le caratteristiche dei valori previsti.

. logit lfp k5 k618 age if wc == 1(output omitted )

. predict prlogit(option p assumed; Pr(lfp))

. sum prlogit

Variable Obs Mean Std. Dev. Min Max

prlogit 753 .6905561 .1370504 .0545499 .8972955

. dotplot prlogit, ylabel(0 .2 to 1)

Possiamo avere un’idea dell’intervallo di probabilita in cui si concentrano le os-servazioni.

Figure 7: predict nel modello logit.

Un esame di newvarname e anche possibile attraverso il comando tabulate epossiamo ottenere un grafico specificando l’opzione plot

tab newvarname, plot

predict puo anche essere utilizzato per dimostare che le predicted probabilitiesda modelli probit e logit sono sostanzialmente identiche. Nonostante le diverseipotesi sottostanti i due modelli (distribuzione di riferimento, Var(ε)), buona partedi tali differenze sarebbero riflesse nella diversita dei parametri stimati.

37

Page 38: LDVrm Ch1 Rev

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. predict prlogit(option p assumed; Pr(lfp))

. label var prlogit "logit: Pr(lfp)"

. probit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. predict prprobit(option p assumed; Pr(lfp))

. label var prprobit "probit: Pr(lfp)"

. pwcorr prlogit prprobit

prlogit prprobit

prlogit 1.0000prprobit 0.9998 1.0000

. scatter prlogit prprobit

Figure 8: Scatter plot: Predicted probabilities da probit e logit.

Questo grafico evidenzia che, per quanto concerne il comando predict non visono sostanziali differenze tra i due modelli. Tale comando non puo essere una guidaper decidere quale scegliere tra i due metodi di stima. Per una migliore interpre-tazione di tali modelli, potrebbe risultare di particolare interesse calcolare predictedprobabilities per determinati valori delle variabili cui si e interessati.

Il comandoprvalue

permette di calcolare P r(.) per determinate combinazionidi valori delle variabili indipendenti. La sintassi del comando e la seguente:

prvalue[

if exp] [

in range] [

, x( variable1=value1[...]) rest(stat) level(#)

maxcnt(#) save dif all nobase nolabel brief]

38

Page 39: LDVrm Ch1 Rev

dove

• x( variable1=value1 [...]) assegna var1 a value1. L’assegnazione puo essersia numerica (female=1) che qualitativa (phd=mean) assegna alla variabile phd

il suo valore medio). E’ possibile selezionare il campione con if e in per ilcalcolo di tali statistiche.

• rest attribuisce a tutte le variabili non specificate in x() la statistica indicatada stat. Per esempio, rest(mean) attribuisce a tutte le altre variabili il propriovalore medio.

• level(♯) e il livello di confidenza

• maxcnt(♯) indica il massimo livello di count per cui P r(.) e calcolata (opzioneche vale solo nei modelli per dati count).

• save memorizza P r(.) per confronti successivi.

• dif confronta P r(.) ottenuta da prvalue con quella precedentemente memo-rizzata con l’opzione save.

Le statistiche disponibili con x() e rest() sono le seguenti:

• mean, median, min, max

• grmedian, grmean, grmax calcolano statistiche condizionali all’intervallo speci-ficato in x(). Ad esempio, per x(female=1) rest(grmean) calcola valori mediper il sottoinsieme female=1

Si consideri il dataset binlfp2.dta. Siamo interessati a considerare come variala probabilita di offrire lavoro in corrispondenza delle seguenti tiplogie:

• donne giovani, basso reddito, livello basso di istruzione, figli piccoli (gruppo 1)

• grado elevato di istruzione, livello medio-alto di reddito, senza figli (gruppo 2)

• famiglia rappresentativa (valori medi di tutte le variabili di riferimento) (gruppo3)

39

Page 40: LDVrm Ch1 Rev

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. * gruppo 1

. prvalue, x(age=35 k5=2 wc=0 hc=0 inc=15) rest(mean)

logit: Predictions for lfp

Pr(y=inLF|x): 0.1318 95% ci: (0.0723,0.2282)Pr(y=NotInLF|x): 0.8682 95% ci: (0.7718,0.9277)

k5 k618 age wc hc lwg incx= 2 1.3532537 35 0 0 1.0971148 15

. *gruppo 2

. prvalue, x(age=50 k5=0 k618=0 wc=1 hc=1) rest(mean)

logit: Predictions for lfp

Pr(y=inLF|x): 0.7166 95% ci: (0.6266,0.7921)Pr(y=NotInLF|x): 0.2834 95% ci: (0.2079,0.3734)

k5 k618 age wc hc lwg incx= 0 0 50 1 1 1.0971148 20.128965

. *gruppo 3

. prvalue, rest(mean)

logit: Predictions for lfp

Pr(y=inLF|x): 0.5778 95% ci: (0.5388,0.6159)Pr(y=NotInLF|x): 0.4222 95% ci: (0.3841,0.4612)

k5 k618 age wc hc lwg incx= .2377158 1.3532537 42.537849 .2815405 .39176627 1.0971148 20.128965

I risultati possono essere sintetizzati come segue: le donne apparteneti al gruppo(1) mostrano una bassissima probabilita essere occupate, nettamente al di sotto deldato medio del campione 8.

prtabcostruisce una tabella di probabilita calcolate per tutte le combinazioni

delle variabili indicate (fino a un massimo di tre). La sintassi del comando e laseguente:

prtab rowvar [colvar[supercolvar]][

if exp] [

in range] [

, by(superrowvar

x(variable1=value1[...]) rest(stat) outcome(#) base novarlbl novallbl

brief]

dove

8Un ulteriore comando di interesse a questo riguardo e praccum

40

Page 41: LDVrm Ch1 Rev

• rowvar colvar supercolvar e superrowvar sono variabili tratte da precedentistime del modello e definiscono la tabella di output.

• outcome(♯) fornisce la variazione di probabilita per quel determinato outcome.

Nel nostro esempio, il comando fornisce valori delle probabilita calcolate pertutte le combinazioni delle variabili ”numero di figli” e ”frequenza college”

. prtab k5 wc, rest(mean)

logit: Predicted probabilities of positive outcome for lfp

Wife College:# kids < 1=yes 0=no6 NoCol College

0 0.6069 0.77581 0.2633 0.44492 0.0764 0.15653 0.0188 0.0412

k5 k618 age wc hc lwg incx= .2377158 1.3532537 42.537849 .2815405 .39176627 1.0971148 20.128965

Potremmo essere interessati a valutare l’effetto sulle probabilita stimate di unadeterminata variabile, dati modifiche dei valori di un’altra variabile indipendente,ovvero

Pr(yi = 1|xi = x0) (16)

prgencalcola tali probabilita, che possono anche essere rappresentate grafica-

mente. La sintassi del comando e la seguente:

prgen varname[

if exp] [

in range]

, generate(prefix )[

from(#) to(#)

ncases(#) x( variable1=value1[...]) rest(stat) maxcnt(#) outcome(#)

brief all]

dove

• varname e la serie che varia in funzione di variable1 e di cui si vuole valuarel’effetto sulle probabilita stimate. Per tutte le altre variabili si considerano ivalori medi

• generate(prefix) definisce la sigla utilizzata per definire le nuove variabilicreate da prgen (prefix∗)

41

Page 42: LDVrm Ch1 Rev

• from(♯) e to(♯) definisce l’intervallo di valori ammissibili per varname

• ncases(♯) indica il numero di valori previsti della probabilita per valori divarname compresi tra from() a to()

• x(variable1=value1) indica il valore di variable1 in corrispondenza del qualecostruire la serie di predicted values di varname. Le altre variabili non inclusenel comando sono considerate ai loro valori medi, a meno che non sia specificatodiversamente con l’opzione rest()

• brief non visualizza l’output, le variabili sono comunque costruite

• all specifica che i calcoli di media, mediana ecc. sono eseguiti sull’interocampione invece che per l’intervallo specificato in fase di stima

Le variabili create da prgen sono:

• prefixx che include i valori di varname nell’intervallo tra from() e to()

• prefixp0 −→ Pr(y = 0)

• prefixp1 −→ Pr(y = 1)

Torniamo all’esempio precedente. Si supponga di voler esaminare gli effetti delreddito (variabile inc) sull’offerta di lavoro per dati valori dell’eta (age). Possi-amo utilizzare i coefficienti stimati in precedenza e calcolare predicted probabilitiescorrispondenti a variazioni del reddito in funzione dell’eta.

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. prgen inc, from(0) to(100) generate(p30) x(age=30) rest(mean) n(11)

logit: Predicted values as inc varies from 0 to 100.

k5 k618 age wc hc lwg incx= .2377158 1.3532537 30 .2815405 .39176627 1.0971148 20.128965

. label var p30p1 "Age 30"

. prgen inc, from(0) to(100) generate(p40) x(age=40) rest(mean) n(11)

logit: Predicted values as inc varies from 0 to 100.

k5 k618 age wc hc lwg incx= .2377158 1.3532537 40 .2815405 .39176627 1.0971148 20.128965

. label var p40p1 "Age 40"

. prgen inc, from(0) to(100) generate(p50) x(age=50) rest(mean) n(11)

logit: Predicted values as inc varies from 0 to 100.

k5 k618 age wc hc lwg incx= .2377158 1.3532537 50 .2815405 .39176627 1.0971148 20.128965

. label var p50p1 "Age 50"

42

Page 43: LDVrm Ch1 Rev

. prgen inc, from(0) to(100) generate(p60) x(age=60) rest(mean) n(11)

logit: Predicted values as inc varies from 0 to 100.

k5 k618 age wc hc lwg incx= .2377158 1.3532537 60 .2815405 .39176627 1.0971148 20.128965

. label var p60p1 "Age 60"

. list p30p1 p40p1 p50p1 p60p1 p60x in 1/11

p30p1 p40p1 p50p1 p60p1 p60x

1. .8575829 .7625393 .6313345 .4773258 02. .8101358 .6947005 .5482202 .3928797 103. .7514627 .6172101 .462326 .3143872 204. .6817801 .5332655 .3786113 .2452419 305. .6028849 .4473941 .3015535 .187153 40

6. .5182508 .36455 .2342664 .1402662 507. .4325564 .289023 .1781635 .1036283 608. .3507161 .2236366 .1331599 .0757174 709. .2768067 .1695158 .0981662 .0548639 8010. .2133547 .1263607 .071609 .0395082 90

11. .1612055 .0929622 .0518235 .0283215 100

. scatter p30p1 p40p1 p50p1 p60p1 p60x, c() l2("Pr(In labor force)")

Figure 9: Scatter plot: Predicted probabilities da prgen

La probabilita di partecipare alla forza lavoro per valori dell’eta pari a 30, 40,50 e 60 anni e per valori medi delle altre variabili, sono riportate nelle prime 4colonne. Leggendo i dati per riga, le probabilita diminuiscono all’aumentare dell’eta.L’ultima colonna indica i valori del reddito per ciascuna riga. Dati i valori dell’eta,per colonna e possibile osservare l’effetto dell’aumento del reddito sulla probabilitadi offrire lavoro. Anche in questo caso si riduce.

43

Page 44: LDVrm Ch1 Rev

3.3.8 Effetti marginali e cambiamenti discreti

Come si e visto in precedenza, l’analisi grafica puo risultare molto utile per valutarein che modo le probabilita si modificano in funzione di una o piu variabili indipen-denti. Non si tratta tuttavia di un metodo parsimonioso e non consente analisisistematiche. Una misura quantitativa di tali effetti e fornita dai cosiddetti effettimarginali. Essi forniscono una misura dela variazione dell’outcome in risposta avariazioni di una sola variabile indipendente, rimanendo costanti tutte le altre.

Effetto marginale =∂Pr(y = 1|x)

∂xk

(17)

L’effetto marginale e il coefficiente angolare della curva di probabilita in xk, datii valori delle altre variabili. Tale effetto dipende dunque dai valori assunti dalle altrevariabili indipendenti. Stata calcola tali effetti assumendo le altre variabili ai rela-tivi valori medi. Per ciascuna variabile, il segno e lo stesso del coefficiente stimato.In Stata vi sono due comandi per la stima degli effetti marginali.

mfx computecalcola effetti marginali o elasticita e i corrispondenti errori stan-

dard dopo la stima del modello di interesse. La sintassi e la seguente

mfx compute[

if exp] [

in range] [

, dydx eyex dyex eydx at(atlist)

eqlist(eqnames ) predict() nonlinear nodiscrete level(#)]

dove

• dxdy calcola gli effetti marginali intorno ai valori medi delle variabili indipen-denti (default)

• eyex calcola elsaticita come ∂logy∂logx

• dyex calcola elsaticita come ∂y∂logx

• eydx calcola elsaticita come ∂logy∂x

Una delle opzioni piu importanti e

at(mean | median | zero [varname = ♯ [, varname = ♯ [...]])

44

Page 45: LDVrm Ch1 Rev

in cui si specifica che gli effetti o le elasticita sono calcolate in corrispondenzadella media, mediana delle variabili indipendenti o a 0. Consente inoltre di speci-ficare particolari valori di una o piu variabili indipendenti, ponendo le restanti allapropria media, mediana o a zero.

• predict specifica la funzione da calcolare per la stima degli effetti marginali.Corrisponde al default del comando predict in ciascun metodo di stima. E’necessario specificare tale opzione nel caso dei modelli lineari (ad esempio, conil comando regress)

• nonlinear specifica che y non ammette restrizioni lineari. Questa opzione,che offre stime piu sticure, e time consuming

• nodiscrete considera le variabili dummy come variabili continue.

• noesample specifica che si utilizzi l’intero sample per la stima degli effettimarginali

• nowght specifica che eventuali ponderazioni con weight non siano consideratenella stima di mfx

• nose non calcola gli standard error

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. mfx compute, at(wc=1 age=40)

warning: no value assigned in at() for variables k5 k618 hc lwg inc;means used for k5 k618 hc lwg inc

Marginal effects after logity = Pr(lfp) (predict)

= .74140317

variable dy/dx Std. Err. z P>|z| [ 95% C.I. ] X

k5 -.2804763 .04221 -6.64 0.000 -.363212 -.197741 .237716k618 -.0123798 .01305 -0.95 0.343 -.037959 .013199 1.35325age -.0120538 .00245 -4.92 0.000 -.016855 -.007252 40wc* .1802113 .04742 3.80 0.000 .087269 .273154 1hc* .0212952 .03988 0.53 0.593 -.056866 .099456 .391766

lwg .1159345 .03229 3.59 0.000 .052643 .179226 1.09711inc -.0066042 .00163 -4.05 0.000 -.009802 -.003406 20.129

(*) dy/dx is for discrete change of dummy variable from 0 to 1

. mfx compute, at(mean age=40)

Marginal effects after logity = Pr(lfp) (predict)

= .61615999

45

Page 46: LDVrm Ch1 Rev

variable dy/dx Std. Err. z P>|z| [ 95% C.I. ] X

k5 -.345989 .04579 -7.56 0.000 -.435735 -.256243 .237716k618 -.0152714 .01604 -0.95 0.341 -.0467 .016157 1.35325age -.0148693 .00291 -5.12 0.000 -.020563 -.009176 40wc* .1802113 .04742 3.80 0.000 .087269 .273154 .281541hc* .026345 .04846 0.54 0.587 -.068627 .121317 .391766

lwg .1430141 .03563 4.01 0.000 .073188 .21284 1.09711inc -.0081468 .00195 -4.17 0.000 -.011974 -.00432 20.129

(*) dy/dx is for discrete change of dummy variable from 0 to 1

. mfx compute, at(mean age=40) nodiscrete

Marginal effects after logity = Pr(lfp) (predict)

= .61615999

variable dy/dx Std. Err. z P>|z| [ 95% C.I. ] X

k5 -.345989 .04579 -7.56 0.000 -.435735 -.256243 .237716k618 -.0152714 .01604 -0.95 0.341 -.0467 .016157 1.35325age -.0148693 .00291 -5.12 0.000 -.020563 -.009176 40wc .1909258 .05417 3.52 0.000 .084758 .297094 .281541hc .0264258 .04876 0.54 0.588 -.069152 .122003 .391766

lwg .1430141 .03563 4.01 0.000 .073188 .21284 1.09711inc -.0081468 .00195 -4.17 0.000 -.011974 -.00432 20.129

prchangee un comando altrenativo per la stima degli effetti marginali. E’ parte

della libreria di comandi Spost. prchange e rilevante poiche consente il calcolo deicambiamenti discreti (discrete change), definiti come la variazione della probabilitapredetta in seguito a un cambiamento discreto di una variabile esplicativa, tenendocostanti (a valori medi, mediani, ecc.) le restanti variabili indipendenti. Anchein questo caso, nelle impostazioni di default, i cambiamenti discreti sono calcolatiassumendo le restanti variabili indipendenti ai propri valori medi. Un confronto traeffetti marginali e variazioni discrete e contenuto nel grafico che segue:

Figure 10: Confronto tra effetti marginali e cambiamenti discreti

46

Page 47: LDVrm Ch1 Rev

La sintassi di prchange e la seguente

prchange varlist[

if exp] [

in range] [

, x(variables and values) rest(stat )

outcome(#) fromto brief nobase nolabel help all uncentered delta(#)]

dove

• outcome(♯) si usa per i comandi di stima ordered

• fromto visualizza la probabilita iniziale e finale su cui la variazione discreta ecalcolata.

• brief versione compatta dell’output

• all specifica che il calcolo di media, mediana, ecc. sia effettuato sull’interocampione e non su quello utilizzato per la stima del modello

• delta(♯) indica che i cambiamenti siano calcolati in forma non standardizzata

• uncentered richiede che la variazione sia calcolata sul valore iniziale specificatoin rest() o x() e non sul valore medio della variabile

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. prchange, help

logit: Changes in Predicted Probabilities for lfp

min->max 0->1 -+1/2 -+sd/2 MargEfctk5 -0.6361 -0.3499 -0.3428 -0.1849 -0.3569

k618 -0.1278 -0.0156 -0.0158 -0.0208 -0.0158age -0.4372 -0.0030 -0.0153 -0.1232 -0.0153wc 0.1881 0.1881 0.1945 0.0884 0.1969hc 0.0272 0.0272 0.0273 0.0133 0.0273lwg 0.6624 0.1499 0.1465 0.0865 0.1475inc -0.6415 -0.0068 -0.0084 -0.0975 -0.0084

NotInLF inLFPr(y|x) 0.4222 0.5778

k5 k618 age wc hc lwg incx= .237716 1.35325 42.5378 .281541 .391766 1.09711 20.129

sd(x)= .523959 1.31987 8.07257 .450049 .488469 .587556 11.6348

Pr(y|x): probability of observing each y for specified x valuesAvg|Chg|: average of absolute value of the change across categoriesMin->Max: change in predicted probability as x changes from its minimum to

its maximum0->1: change in predicted probability as x changes from 0 to 1

-+1/2: change in predicted probability as x changes from 1/2 unit belowbase value to 1/2 unit above

-+sd/2: change in predicted probability as x changes from 1/2 standarddev below base to 1/2 standard dev above

MargEfct: the partial derivative of the predicted probability/rate withrespect to a given independent variable

47

Page 48: LDVrm Ch1 Rev

Nelle impostanzioni di default prchange calcola per ciascuna variabile variazionidal suo minimo al suo massimo (Min − > Max), da 0 a 1 (0 − > 1), variazioni di+ − .5 a partire dal suo valore iniziale e variazioni pari a + − .5σ del valore medioiniziale. Gli effetti marginali sono stimati e riportati nella colonna MargEfct. E’possibile condurre un approfondimento di tali risultati utilizzando l’opzione fromto.

. logit lfp k5 k618 age wc hc lwg inc, nolog(output omitted )

. prchange k5 age wc lwg inc, fromto

logit: Changes in Predicted Probabilities for lfp

from: to: dif: from: to: dif: from:> to: dif: from:

x=min x=max min->max x=0 x=1 0->1 x-1/2k5 0.6596 0.0235 -0.6361 0.6596 0.3097 -0.3499 0.7398

age 0.7506 0.3134 -0.4372 0.9520 0.9491 -0.0030 0.5854wc 0.5216 0.7097 0.1881 0.5216 0.7097 0.1881 0.4775

lwg 0.1691 0.8316 0.6624 0.4135 0.5634 0.1499 0.5028inc 0.7326 0.0911 -0.6415 0.7325 0.7256 -0.0068 0.5820

to: dif: from: to: dif:x+1/2 -+1/2 x-1/2sd x+1/2sd -+sd/2 MargEfct

k5 0.3971 -0.3428 0.6675 0.4826 -0.1849 -0.3569age 0.5701 -0.0153 0.6382 0.5150 -0.1232 -0.0153wc 0.6720 0.1945 0.5330 0.6214 0.0884 0.1969

lwg 0.6493 0.1465 0.5340 0.6204 0.0865 0.1475inc 0.5736 -0.0084 0.6258 0.5283 -0.0975 -0.0084

NotInLF inLFPr(y|x) 0.4222 0.5778

k5 k618 age wc hc lwg incx= .237716 1.35325 42.5378 .281541 .391766 1.09711 20.129

sd(x)= .523959 1.31987 8.07257 .450049 .488469 .587556 11.6348

E’ possibile anche ottenere variazioni discrete nonstandard utilizzando le opzioniuncentered e delta. La prima specifica che la variazione sia calcolata rispetto alvalore definito in rest o x, la seconda indica l’entita della variazione della vari-abile indipendente espressa nell’unita di misura di tale variabile e non in terministandardizzati.

. prchange age, x(age=30) uncentered delta(10) rest(mean) brief

min->max 0->1 +delta +sd MargEfctage -0.4372 -0.0030 -0.1345 -0.1062 -0.0118

3.3.9 Odds−ratio nel modello logit

Come si e detto in precedenza, il modello logit puo essere derivato da un modelloprobabilistico del tipo

Pr(y = 1|x) = xβ + α (18)

48

Page 49: LDVrm Ch1 Rev

vincolando Pr(y = 1|x) al variare tra 0 e 1. A questo fine, si costruisce la funzionedi probabilita detta degli odds che esprime l’incidenza dei successi rispetto a quelladei non-successi:

Ω(x) =Pr(y = 1|x)

Pr(y = 0|x)=

Pr(y = 1|x)

1 − Pr(y = 1|x)(19)

Questa espressione varia tra 0 e ∞. Il logaritmo degli odds o logit varia tra −∞e +∞. Cio’ suggersice che il modello e lineare nel logit

lnΩ(x) = xβ (20)

dove gli odds sono una combinazione lineare delle x e β. I coefficienti possonoessere interpretati come segue. Per una variazione unitaria delle x, il logit varia diβ.Una interpretazione alternativa si ha considerando gli esponenziali dell’espressionedi sopra. In questo caso, per una variazione unitaria di x, gli odds variano di exp(β),tenendo costanti le altre variabili. Se exp(β) > 1, gli odds sono exp(β) volte piugrandi, viceversa se exp(β) < 1.Se consideriamo variazioni delle x pari alla deviazione standard, gli odds sono attesivariare di exp(βk × sk).

listocefcalcola gli odds ratios secondo le varie modalita appena considerate. La

sintassi del comando e la seguente

listcoef varlist[

, pvalue(#) factor | percent std constant help]

dove

• factor calcola coefficienti come variazioni moltiplicative negli odds (factorchange)

• percent calcola odds come variazioni percentuali

• std calcola coefficienti standardizzati (con varianza unitaria) per le variabiliindipendenti e/o la variabile dipendente

• pvalue(♯) visualizza i soli coefficienti significativi al livello ♯ di significativitao inferiore. Se pvalue non e specificato, tutti i parametri sono visualizzati

• constant include la costante nell’output, assente nelle impostanzioni di default

49

Page 50: LDVrm Ch1 Rev

. listcoef, help

logit (N=753): Factor Change in Odds

Odds of: inLF vs NotInLF

lfp b z P>|z| e^b e^bStdX SDofX

k5 -1.46291 -7.426 0.000 0.2316 0.4646 0.5240k618 -0.06457 -0.950 0.342 0.9375 0.9183 1.3199age -0.06287 -4.918 0.000 0.9391 0.6020 8.0726wc 0.80727 3.510 0.000 2.2418 1.4381 0.4500hc 0.11173 0.542 0.588 1.1182 1.0561 0.4885

lwg 0.60469 4.009 0.000 1.8307 1.4266 0.5876inc -0.03445 -4.196 0.000 0.9661 0.6698 11.6348

b = raw coefficientz = z-score for test of b=0

P>|z| = p-value for z-teste^b = exp(b) = factor change in odds for unit increase in X

e^bStdX = exp(b*SD of X) = change in odds for SD increase in XSDofX = standard deviation of X

Esempi di interpretazione

• per ogni nuovo nato, gli odds di essere occupato diminuiscono di un fattore di0,23, tenute costanti tutte le altre variabili

• per un aumento del reddito pari alla propria deviazione standard, gli odds diessere occupato aumentano di 1,43, tutte le altre variabili tenute costanti

• per un livello di eta piu elevato di 10 anni, gli odds si incrementano di 0,53

Nell’interpretare gli odds ratio occorre sempre considerare che si tratta di effettimoltiplicativi. Cio implica che effetti positivi sono > 1 e effetti negativi sono com-presi tra 0 e 1. La dimensione di un effetto positivo e confrontabile con un effettonegativo considerando l’inverso del primo. Ad esempio, una variazione moltiplica-tiva di 2 ha la stessa dimensione di un fattore negativo di 0,5=1/2. Pertanto, uncoefficiente di 0,1 (negativo) indica un effetto piu forte di un coefficiente di 2 (posi-tivo).Ancora, per effetto della scala moltiplicativa, gli odds relativi all’evento che non siverifica e pari all’inverso degli odds dell’evento che si verifica. listcoef calcola talieffetti attraverso l’opzione reverse

. listcoef, reverse

logit (N=753): Factor Change in Odds

Odds of: NotInLF vs inLF

lfp b z P>|z| e^b e^bStdX SDofX

k5 -1.46291 -7.426 0.000 4.3185 2.1522 0.5240

50

Page 51: LDVrm Ch1 Rev

k618 -0.06457 -0.950 0.342 1.0667 1.0890 1.3199age -0.06287 -4.918 0.000 1.0649 1.6612 8.0726wc 0.80727 3.510 0.000 0.4461 0.6954 0.4500hc 0.11173 0.542 0.588 0.8943 0.9469 0.4885

lwg 0.60469 4.009 0.000 0.5462 0.7010 0.5876inc -0.03445 -4.196 0.000 1.0350 1.4930 11.6348

Si tratta, in questo caso, di odds calcolati come NotInLF rispetto a inLF. Pos-siamo cosı interpretare i risultati per k5: per ogni nuovo nato, gli odds di esserenon−occupati si incrementano di un fattore di 4,3(=1/0,23), a parita di altre con-dizioni.Anche se gli odds ratio sembrano risolvere il problema della nonlinearita, occoreconsiderare che una variazione costante negli odds non corrisponde a una variazionecostante della probabilita. Cosı, se gli odds sono 1 su 100 la corrispondente prob-abilita e 0,01 (p = Ω

1+Ω). Se gli odds passano da 1 su 1 a 2 su 1, le probabilitastimate si incementano di 0,167. Una variazione degli odds dipende da quindi dalleprobabilita stimate che, a loro volta, dipendono dai coefficienti stimati.A fini di interpretazione, in luogo dei fattori moltiplicativi, gli odds sono espressianche in termini percentuali

100[exp(100 × δ) - 1]

listcoef produce tali stime attraverso l’opzione percent.

. listcoef, percent

logit (N=753): Percentage Change in Odds

Odds of: inLF vs NotInLF

lfp b z P>|z| % %StdX SDofX

k5 -1.46291 -7.426 0.000 -76.8 -53.5 0.5240k618 -0.06457 -0.950 0.342 -6.3 -8.2 1.3199age -0.06287 -4.918 0.000 -6.1 -39.8 8.0726wc 0.80727 3.510 0.000 124.2 43.8 0.4500hc 0.11173 0.542 0.588 11.8 5.6 0.4885

lwg 0.60469 4.009 0.000 83.1 42.7 0.5876inc -0.03445 -4.196 0.000 -3.4 -33.0 11.6348

Per ciascun nuovo nato, gli odds di essere occupato dimisuiscono del 77% (aparita di altre condizioni). Un incremento del livello del reddito femminile pari allasua deviazione standard incrementa gli odds di essere occupati dell’83%.

51