Sei sulla pagina 1di 51

Modelli di Regressione per Variabili Limitate e Categoriche. Esercitazioni con Stata

Carmine Pappalardo, (ISAE) e-mail: c.pappalardo@isae.it

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

1

Introduzione

Questo lavoro costituisce una guida sintetica all’uso e interpretazione dei modelli di regressione per variabili categoriche e limitate attraverso l’uso del programma Stata. L’obiettivo `e quello di fornire una guida alla applicazione/implementazione della teoria quantitativa relativa a questa tipologia di modelli non-lineari. Eventuali riferimenti teorici hanno la sola finalita’ di introdurre all’analisi empirica e non sono dunque esaustivi (godd data analysis requires good software and good technique) 1 . I principali 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”, The Stata Journal, 2, 3, pp. 227-252

Breen R. (1996), Regression Models Censored, Sample Selected, or Truncated Data, 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 ordered probit (oprobit)

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

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

2

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 sar`a rivolto alla:

soluzione empirica di un problema teorico

introduzione e analisi delle procedure di stima disponibili con il programma Stata/SE

interpretazione dell’output di stima

Nel lavoro, inoltre, verrano utilizzate alcune procedure non disponibili nell’ambito delle 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-lineari l’interpretazione dei parametri non `e sempre agevole come in quelli lineari. Nei primi, infatti, l’effetto di una variabile indipendente su quella di outcome dipende anche dai livelli di tutte le altre variabili presenti nel modello. Per l’assenza di una metodologa in grado di fornire una interpretazione univoca della relazione tra vari- abile indipendente e outcome, si introducono una serie di comandi aggiuntivi nella forma di file .ado (post-estimation commands) scritti per Stata . I comandi utiliz- zati in queste note fanno riferimento alla versione 9 di Stata 3 . Si tratta dei comandi della libreria di programmi Spost (Stata Post-estimation Commands), disponibili all’indirizzo web

www.indiana.edu/jslsoc/spost.htm

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

2 Stata 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. 3 Sono disponibili i comandi di questa libreria relativi alle versioni precedenti di Stata

3

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

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

sysdir

`e possibile accertarsi quali siano le directory del programma Stata al momento attive, ad esempio

. sysdir STATA: 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 contrario

`e necessario definire la directory desiderata e configurarla come PERSONAL attraverso

i 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 numerosi programmi collegati a Spost per le varie versioni di Stata. Tra questi, occorre selezionare 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 here to install”. Dopo il click, ha inizio l’installazione dei programmi e dei file della guida nella cartella PERSONAL configurata in precedenza. E’ necessario attendere alcuni minuti e seguire il processo di installazione sulla ”barra di stato” in basso a sinistra. Sono possibili tre output:

installation complete. La procedura `e stata eseguita con successo A seguito di tale messaggio comparir`a 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 una precedente versione dei programmi e non occorre fare altro.

4

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

Installazione di Spost attraverso il comando net install. Si tratta di una modalit`a di installazione pi`u veloce. Stata installa i programmi direttamente nella directory 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 di lavoro 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

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 indipendenti attraverso la seguente equazione strutturale

y

i

=

x i β + ε i

(1)

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

y i = α + βx i + ε i .

(2)

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

y i =

1

0

if

if

y

y

i

i

> 0

0

In questo esempio, tutti i casi in cui valori di y sono positivi corrispondono a osservazioni di y = 1, i casi in cui y `e negativa sono codificati come y = 0. In altri termini, non possiamo osservare l’intensit`a del fenomeno ma, attraverso una variabile binaria siamo possiamo misurare la presenza/assenza, appartenenza/non appartenenza dello stesso per ogni unit`a oggetto di analisi.

Ad esempio, in uno studio sull’offerta di lavoro femminile, `e necesario identificare nel 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 pu`o differire fortemente da soggetto a soggetto; in generale, non si e’ in grado di rilevare con precisione se ciascun individuo `e in procinto di diventare inattivo o se continuera a offrire lavoro. Nei due casi, tuttavia, y = 1. La variabile latente consente di osservare, per ciascun individuo l’appartenenza, a uno specifico stato. Nel caso in esame, fino a quando l’offerta di lavoro risulter`a positiva (y > 0),

6

le donne intervistate si assumono appartenenti alla forza lavoro ( y = 1). La figura

le donne intervistate si assumono appartenenti alla forza lavoro (y = 1). La figura che segue fornisce una rappresentazione grafica del modello con variabile latente ad outcome 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 probabilit`a 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 t 2 dt

2

mentre il secondo `e il modello logit

7

(4)

( 5 ) Diversamente dal modello di regressione lineare (in cui nota la vraibile dipendente

(5)

Diversamente dal modello di regressione lineare (in cui nota la vraibile dipendente y, Var(ε) pu`o essere stimata, nei modelli con variabili latenti, perch`e il modello risulti identificato e possa essere stimato `e necessario attribuire un valore per la varianza degli errori.

Nel probit, Var(ε) = 0 conduce a una forma del modello pi`u semplice da trattare empiricamente. E’ possibile modificare tale assunzione, essa si rifletter`a in variazioni uniformi dei valori dei parametri strutturali.

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

Per entrambi i modelli, la probabilit`a di verificarsi dell’evento di interesse `e data

da

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

dove F `e la funzione cumulata di densit`a (cdf) di ε valutata per determinati valori della variabile indipendente. La relazione tra modello lineare a variabile latente e il relativo modello probabilistico non-lineare `e riportato nelle figure che seguono.

(6)

Figure 2: Relazione tra il modello lineare y = α + βx e il modello probabilistico non-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 `e evidenziata in grigio e corrisponde a Pr(y = 1| x) per ogni valore di x.

8

Figure 3: Relazione tra il modello lineare y ∗ = α + βx e modello

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

Nella figura (3) si riporta la distribuzione di probabilita’ dell’evento di interesse

al variare di x. E’ interessante considerare che alla forma teorica dei modelli ap-

pena considerati (Binary Regression Models, BRM) si pu`o pervenire anche senza introdurre la nozione di variabile latente. In particolare, Theil (1970) dimostra che

il

modello logit pu`o 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 funzione

di

probabilit`a detta degli odds che esprime l’incidenza dei successi rispetto a quella

dei 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 interpretazione

del modello logit incentrata sui fattori che determinano variazioni degli odds, ripresa

in alcuni esempi di questa sezione.

9

3.2 Procedure di stima con Stata

Sintassi dei comandi Stata per la stima dei modelli logit e probit. Per la stima del 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 due comandi:

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 β.

maniera analoga.

Errori standard e intervalli di confidenza sono trasformati in

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 osservazioni siano indipendenti tra i gruppi ma non necessariamente all’interno degli stessi. cluster() indica a quale gruppo appartiene ciascuna osservazione. L’uso di questa opzione ha effetto su errori standard e matrice di varianza e covarianza ma non sui coefficienti stimati. Importante: cluster() equivale a specificare l’opzione robust.

score: produce la matrice degli score

10

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 pi`u 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 verosimglianza ci informa sull’eventualit`a che avremmo effettivamente osservato i dati su cui con- duciamo l’esercizio di stima se intercetta e pendenza stimate ex post risultassero i veri parametri della popolazione.

La funzione di verosimiglianza `e rappresentata graficamente da una superficie con uno o pi`u massimi, corrispondenti a varie combinazioni dei parametri oggetto di stima. In prima approssimazione, la varianza delle stime ci dice quanto rapidamente cambia la pendenza della superficie di volta in volta che ci si avvicina al punto di massimo.

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

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

. use binlfp2, clear

(Data from 1976 PSID-T Mroz)

. describe

Contains data from binlfp2.dta

obs:

753

Data from 1976 PSID-T Mroz

vars:

8

30 Apr 2001 16:17

size:

13,554 (99.9% of memory free)

(_dta has notes)

storage display

value

variable name

type

format

label

variable label

lfp

byte

%9.0g

lfplbl

Paid Labor Force: 1=yes 0=no # kids < 6 # kids 6-18 Wife’s age in years Wife College: 1=yes 0=no Husband College: 1=yes 0=no Log of wife’s estimated wages Family income excluding wife’s

k5

byte

%9.0g

k618

byte

%9.0g

age

byte

%9.0g

wc

byte

%9.0g

collbl

hc

byte

%9.0g

collbl

lwg

float

%9.0g

inc

float

%9.0g

Sorted by: lfp

11

. summarize

Variable

Obs

Mean

Std. Dev.

Min

Max

lfp

753

.5683931

.4956295

0

1

k5

753

.2377158

.523959

0

3

k618

753

1.353254

1.319874

0

8

age

753

42.53785

8.072574

30

60

wc

753

.2815405

.4500494

0

1

hc

753

.3917663

.4884694

0

1

lwg

753

1.097115

.5875564 -2.054124

3.218876

inc

753

20.12897

11.6348 -.0290001

96

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

. logit lfp k5 k618 age wc hc lwg inc

Iteration 0:

log likelihood = -514.8732

Iteration 1:

log likelihood = -454.32339

Iteration 2:

log likelihood = -452.64187

Iteration 3:

log likelihood = -452.63296

Iteration 4:

log likelihood = -452.63296

Logit estimates (output omitted )

Number of obs

=

753

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 una probabilit`a (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 informativo sulla consistenza delle stime. Il numero di iterazioni non deve essere molto elevato e non deve presentare discontinuit`a (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 tali propriet`a non sono pi`u verificate. Ad eccezione dei modelli logit e Poisson nei campioni finiti, le propriet`a degli stimatori ML non sono pi`u note e sono pertanto necessari alcuni accorgimenti (Long, 1997):

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

Sono necessari campioni pi`u numerosi in caso di forte correlazione delle varibili indipendenti o di bassa variabilit`a della variabile dipendente (prevalenza di 0 o di 1).

12

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

Oltre alla scarsa dimensione campionaria, altri problemi (numero di iterazioni elevato, i parametri stimati non appaiono ragionevoli) potrebbero essere determinati da:

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

la scala delle variabili `e eccessivamente diversa. Un indicatore di ci`o `e dato dal rapporto tra la deviazione standard (sd) dei parametri stimati. se `e ec- cessivamente elevato `e sufficiente riscalare l’unit`a di misura della variabile che ptresenta un errore standard elevato

Ritorniamo al modello logit stimato in precedenza. Come si `e visto, `e sufficiente far seguire al comando logit il nome della variabile dipendente depvar e la lista

di

variabili indipendenti indepvars. La costante `e gi`a inclusa nel modello. Se non

si

specificano indepvars, Stata stima un modello con la sola costante. Prima di

analizzare l’output di stima, consideriamo alcune importanti opzioni utilizzate nella fase 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 soddisfano

la condizione desiderata. Nel caso in esame, se si vuole analizzare l’effetto delle

variabili familiari sull’offerta di lavoro delle sole donne che hanno al pi`u tre figli

useremo 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. Poich`e 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

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 collinearity

Iteration 0:

log likelihood = -198.53844

Iteration 1:

log likelihood = -181.76303

Iteration 2:

log likelihood = -181.62706

Iteration 3:

log likelihood = -181.62694

Logit estimates (output omitted )

Number of obs

=

295

Una specificazione alternativa del sample di stima `e ottenuta specificando l’opzione in. 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 le osservazioni che risultano missing. I dati mancanti sono indicati da ”.”. E’ probabile che, anche utilizzando lo stesso dataset, sia sufficiente cambiare specificazione per ottenere 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 (output omitted )

. logit

lfp k5 age hc lwg inc

14

Number of obs

=

730

Logit estimates (output omitted )

Number of obs

=

753

Ci`o ha due importanti implicazioni. Da un lato, non `e possibile confrontare parametri 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 sia alla differente specificazione sia all’uso di campioni di diversa ampiezza. In secondo luogo, l’eliminazione automatica delle osservazioni con dati mancanti potrebbe tal- volta sfuggire all’analisi. E’ preferibile decidere di volta in volta quali osservazioni utilizzare. In generale, `e sufficiente creare variabili indicatrici di dati missing. A

questo fine si utilizzano i comandi

. Con il primo si definisce

mark markout e
mark
markout
e

una 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.98

1

723

96.02

100.00

 

Total

753

100.00

.

logit

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

Logit estimates (output omitted )

Number of obs

=

723

.

logit

lfp k5 age hc lwg inc if nomiss == 1

Logit estimates (output omitted )

Number of obs

=

723

3.2.3 Opzione weight

L’opzione weight consente di utilizzare informazioni aggiuntive relative alle singole osservazioni 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 campionario nel caso di analisi con microdati. Stata riconosce quattro tipologie di pesi:

fweight
fweight

si utilizza quando occorre tener conto della presenza di osservazioni rappresentative di una pluralit`a di informazioni sottostanti perfettamente identiche.

15

weight

significato

fweight

frequency weights sampling weights analytic weights importance weights

pweight

aweight

iweight

Table 1: Opzione weight in Stata

Ad esempio, se il valore di fweight associato a un singolo record `e 5, ci`o significa che 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

0

2.

1

1

0

3.

1

1

0

4.

30

1

0

5.

30

1

0

6.

30

1

1

7.

1

0

1

8.

1

0

1

9.

1

0

1

10.

1

0

1

11.

1

0

1

12.

5

4

0

13.

5

4

0

14.

5

4

0

15.

5

4

0

16.

5

4

1

pu`o essere scritto in forma pi`u sintetica come

x1

x2

y

pop

1. 1

1

0

3

30

2. 1

0

2

30

3. 1

1

1

4. 0

1

1

5

5. 4

5

0

4

6. 4

5

1

1

la regressione condotta sul primo dataset

16

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 =

16

   

F(

2,

13) =

110.78

   
 

Model

16881.4364

2

8440.71818

Prob > F R-squared

=

0.0000

Residual

990.501136

13 76.1923951

 

= 0.9446

   

Adj R-squared = 0.9361

   
 

Total

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

.8897084

x2

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 =

16

   

F(

2,

13) =

110.78

   
 

Model

16881.4364

2

8440.71818

Prob > F R-squared

=

0.0000

Residual

990.501136

13 76.1923951

 

= 0.9446

   

Adj R-squared = 0.9361

   
 

Total

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

.8897084

x2

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

aweight
aweight

si utilizza quando si il dataset di analisi consiste di medie di osser- vazioni. Si ricorre all’uso di questa opzione quando il modello

y i = x i β + ε i ,

ε i N(0, σ 2 )

(10)

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

17

questi casi specificando l’opzione aweight

logit y x1 x2 [aweight=pop].

il modello di regressione diventa:

y i = x i β + ε i ,

ε i N(0, σ 2 /w i )

(11)

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

y¯ i = x¯ i β + ε¯ i ,

ε¯ i N(0, σ 2 /N i )

(12)

E’ presumibile che la varianza sia inferiore per il gruppo j in cui N j =100.000 piuttosto che nel gruppo i in cui N i =5. Il comando aweight appare analogo a quello che si sarebbe utilizzato nella ponderazione dei microdati provenienti da un campi- onamento casuale stratificato. Si pensi alla procedura di gestione dei microdati delle inchieste ISAE. Si tratta tuttavia di un uso non corretto della ponderazione. Nel caso di microdati si dispone di dati individuali, in cui il problema della eteroschedas- ticit`a non si pone (il modello `e di nuovo analogo al modello (11)), e non si giustifica l’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 spesso all’uso di aweight quando sarebbe invece necessaria la ponderazione con l’opzione pweight.

pweight
pweight

`e l’opzione da utilizzare quando si lavora con microdati tratti da un campione probabilistico di cui `e nota la struttura di ponderazione. La differenza sostanziale rispetto a aweight `e che l’opzione

[pweight=pop]

nel comando di regressione consente di pervenire a una stima della matrice di varianza-covarianza (e, quindi, degli errori standard dei parametri stimati) robusta

a

violazioni delle ipotesi sottostanti il nostro modello teorico ((x i , ε i ) indipendenti

e

identicamente distribuiti). In altri termini, utilizzare pweight implica l’opzione

18

robust. Le istruzioni

logit y x1 x2 [pweight=pop]

logit y x1 x2 [pweight=pop], robust

hanno lo stesso output. La variabile pop pu`o 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 sulla

base 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’opzione

tra unit`a appartenenti allo stesso strato (within), mnetre si assume che la condizione

d indipendenza sia verificata tra gruppi (across). Specificare tale opzione porta alla

stima di errori standard robusti, ma in pi`u con un’ulteriore correzione per gli ef- fetti di dati cluster 4 . Tale violazione pu`o verificarsi nei casi in cui, ad esempio, la stessa unit`a fornisce informazioni pi`u volte nel tempo, oppure quando diversi membri della stessa unit`a familiare (o diverse imprese appartenenti alla stessa cella settore-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 di attributi appartenenti a queste tre modalit`a costituisce uno strato. Le unit`a di ciascuna cella potrebbero non sodddisfare la condizione di indipendenza del cam- pionamento casuale semplice per il solo fatto che l’indagine costituisce un panel e quindi le imprese sono intervistate su base sistematica pi`u volte nel tempo. Si assuma che la condizione di indipendenza sia soddisfatta solo tra settori di attivit`a economica e non all’interno di ogni singolo comparto. Tale condizione pu`o essere verificata 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 in cui `e riconoscibile la struttura stratificata per combinazioni delle modalit`a settore- regione-classe di addetti.

cluster
cluster

. In questo caso si tiene conto della potenziale correlazione

.

use isae.dta, clear

.

list

reg

sett

cladd

tp_u

tp_n

add

pop

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

19

1.

1

1

1

.0661765

.6470588

136

114455

2.

2

1

1

.220339

.5762712

59

253082

3.

3

1

1

0

1

37

28844

4.

4

1

1

.2839506

.7160494

162

77243

5.

5

1

1

.2662338

.7337663

154

151514

6.

6

1

1

1

0

5

38405

7.

7

1

1

1

0

32

97779

8.

8

1

1

.1702128

.6666667

141

46688

9.

9

1

1

.6440678

.3559322

118

184605

10.

10

1

1

.3173077

.6826923

104

22020

11.

11

1

1

0

1

178

105313

12.

12

1

1

0

.0909091

55

32412

13.

13

1

1

.8260869

.173913

46

21803

14.

13

1

2

1

0

225

19207

15.

14

1

1

1

0

39

8108

16.

15

1

1

.3012048

.6987952

166

54550

17.

16

1

1

0

1

23

8158

18.

17

1

1

0

1

19

9527

19.

18

1

1

.3497268

.5191257

183

38183

20.

19

1

1

.807947

.192053

151

61130

21.

1

2

1

0

0

26

150447.4

22.

2

2

1

.5853658

0

41

293621.4

23.

2

2

3

.5555556

.4444444

648

312775.7

24.

3

2

1

0

1

31

10589.13

25.

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, Stata dispone di un insieme di comandi (svy + comando standard) che consentono di tener conto di tali informazioni in fase di stima. Nel caso in esame, si dispone dei comandi svylogit e svyprobit. E’ importante considerare che:

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

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

20

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 al vero modello sottostante i dati. Ci`o succede, ad esempio, quando si conduce una stima logit se il modello corretto `e di tipo probit. Le stime ottenute non possono essere 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 migliore approssimazione della vera funzione di densit`a (mimimum ignorance estimator ). Di seguito 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.03321

Iteration 1:

log likelihood = -29.244141

Iteration 2:

log likelihood = -27.041557

Iteration 3:

log likelihood = -26.84658

Iteration 4:

log likelihood = -26.844189

Iteration 5:

log likelihood = -26.844189

Probit estimates

Number of obs

=

74

LR chi2(2)

=

36.38

Prob > 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

-.0028772

weight

-.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.03321 log pseudo-likelihood = -29.244141 log pseudo-likelihood = -27.041557 log pseudo-likelihood = -26.84658 log pseudo-likelihood = -26.844189 log pseudo-likelihood = -26.844189

 

Iteration 1:

Iteration 2:

Iteration 3:

Iteration 4:

Iteration 5:

Probit estimates

 

Number of obs Wald chi2(2) Prob > chi2 Pseudo R2

=

74

 

=

30.26

=

0.0000

Log pseudo-likelihood = -26.844189

 

=

0.4039

   

Robust

foreign

Coef.

Std. Err.

z

P>|z|

[95% Conf. Interval]

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

21

mpg

-.1039503

.0593548

-1.75

0.080

-.2202836

.0123829

weight

-.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.03321 log pseudo-likelihood = -29.244141 log pseudo-likelihood = -27.041557 log pseudo-likelihood = -26.84658 log pseudo-likelihood = -26.844189 log pseudo-likelihood = -26.844189

Iteration 1:

Iteration 2:

Iteration 3:

Iteration 4:

Iteration 5:

Probit estimates

 

Number of obs Wald chi2(2) Prob > chi2 Pseudo R2

=

74

 

=

28.99

=

0.0000

Log pseudo-likelihood = -26.844189

 

=

0.4039

(standard errors adjusted for clustering on manuf)

   

Robust

foreign

Coef.

Std. Err.

z

P>|z|

[95% Conf. Interval]

mpg

-.1039503

.0504538

-2.06

0.039

-.202838

-.0050626

weight

-.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 di

specificata 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 ha la propriet`a di essere incorrelato con la matrice dei regressori x e tale che i u i = 0. Con riferimento all’esempio appena visto

. Tale opzione pu`o essere

score
score

. probit foreign mpg weight, score(u)

Iteration 0:

log likelihood = -45.03321

Iteration 1:

log likelihood = -29.244141

Iteration 2:

log likelihood = -27.041557

Iteration 3:

log likelihood = -26.84658

Iteration 4:

log likelihood = -26.844189

Iteration 5:

log likelihood = -26.844189

Probit estimates

Number of obs

=

74

LR chi2(2)

=

36.38

Prob > 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

-.0028772

weight

-.0023355

.0005661

-4.13

0.000

-.003445

-.0012261

_cons

8.275464

2.554142

3.24

0.001

3.269438

13.28149

22

.

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.0000

mpg

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.6554395

64.

Peugeot 604

Foreign

14

3,420

1.6607871

dove foreign = 1.

3.3 Post-estimation analysis

Stata