\chapter{Variabili dipendenti discrete e censurate}
\label{chap:discr-models}

\section{Modelli logit e probit}
\label{sec:logit-probit}

Capita spesso che si voglia specificare e stimare un modello in cui la variabile
dipendente non è continua  ma discreta. Un esempio tipico è quello di un modello
in cui la variabile dipendente è lo stato lavorativo di un individuo (1 =
occupato, 0 = disoccupato). Un modo comodo per formalizzare questa situazione
consiste nel considerare la variabile $y_i$ come una variabile aleatoria di
Bernoulli e analizzarne la distribuzione condizionata alle variabili esplicative
$x_i$, ossia
\begin{equation}
  \label{eq:qr-Bernoulli}
  y_i = \left\{ 
    \begin{array}{ll}
      1 & P_i \\ 0 & 1 - P_i
    \end{array}
    \right. 
\end{equation}
%
dove $P_i = P(y_i = 1 | x_i) $ è una funzione delle variabili esplicative $x_i$.

Nella maggior parte dei casi, la funzione $P_i$ è una funzione di ripartizione
$F$, applicata a una combinazione lineare delle $x_i$. Nel modello probit, si usa la
funzione di ripartizione normale, mentre il modello logit usa la funzione
logistica $\Lambda()$. Quindi si ha
%
\begin{eqnarray}
  \label{eq:qr-link}
  \textrm{probit} & \qquad & P_i = F(z_i) = \Phi(z_i)  \\
  \textrm{logit}  & \qquad & P_i = F(z_i) = \Lambda(z_i) = \frac{1}{1 + e^{-z_i}} \\
  & &z_i = \sum_{j=1}^k x_{ij} \beta_j
\end{eqnarray}
%
dove $z_i$ è chiamata la funzione \emph{indicatrice}. Si noti che in questo
caso, i coefficienti $\beta_j$ non possono essere interpretati come derivate
parziali di $E(y_i | x_i)$ rispetto a $x_{ij}$. Comunque, per un dato valore
di $x_i$ è possibile calcolare il vettore delle ``pendenze'', ossia
\[
  \mathrm{slope}_j(\bar{x}) = \left. \pder{F(z)}{x_j} \right|_{z =
    \bar{z}}
\]
\app{Gretl} calcola automaticamente le pendenze assegnando a ogni variabile
esplicativa un valore pari alla sua media.

Un modo equivalente di formulare questo modello consiste nell'ipotizzare
l'esistenza di una variabile non osservata $y^*_i$ che può essere descritta nel
modo seguente:
%
\begin{equation}
  \label{eq:qr-latent}
  y^*_i = \sum_{j=1}^k x_{ij} \beta_j + \varepsilon_i = z_i  +
  \varepsilon_i
\end{equation}
%
Si osserva $y_i = 1$ quando $y^*_i > 0$ e $y_i = 0$ altrimenti. Se si assume
$\varepsilon_i$ come normale, si ottiene il modello probit, mentre il modello
logit assume che la funzione di densità di $\varepsilon_i$ sia
%
\[
  \lambda(\varepsilon_i) =
  \pder{\Lambda(\varepsilon_i)}{\varepsilon_i} =
  \frac{e^{-\varepsilon_i}}{(1 + e^{-\varepsilon_i})^2}
\]
%
\app{gretl} stima sia il modello probit che quello logit col metodo della
massima verosimiglianza; poiché le equazioni degli score non hanno una soluzione
in forma chiusa, vengono usate procedure di ottimizzazione numerica. La maggior
parte delle volte queste richiedono poche iterazioni per raggiungere la
convergenza, ma è possibile visualizzare i dettagli dell'algoritmo di
massimizzazione usando l'opzione \texttt{--verbose}.

\begin{script}[htbp]
  \caption{Stima di semplici modelli logit e probit}
  \label{simple-QR}
\begin{scode}
open greene19_1

logit GRADE const GPA TUCE PSI
probit GRADE const GPA TUCE PSI
\end{scode}
\end{script}

Come esempio, riproduciamo i risultati esposti nel capitolo 21 di Greene (2000),
dove viene valutata l'efficacia di un programma per insegnare l'economia
osservando i miglioramenti nei voti degli studenti.
Eseguendo il codice contenuto nell'esempio \ref{simple-QR} si ottengono i seguenti risultati:
\begin{code}

Modello 1: Stime Logit usando le 32 osservazioni 1-32
Variabile dipendente: GRADE

      VARIABILE      COEFFICIENTE       ERRORE STD    STAT T       PENDENZA
                                                                  (alla media)
  const               -13,0213           4,93132      -2,641
  GPA                   2,82611          1,26294       2,238      0,533859   
  TUCE                  0,0951577        0,141554      0,672      0,0179755  
  PSI                   2,37869          1,06456       2,234      0,449339   

  Media di GRADE = 0,344
  Numero dei casi 'previsti correttamente' = 26 (81,2%)
  f(beta'x) nella media delle variabili indipendenti = 0,189
  Pseudo-R-quadro di McFadden = 0,374038
  Log-verosimiglianza = -12,8896
  Test del rapporto di verosimiglianza: Chi-quadro(3) = 15,4042 (p-value 0,001502)
  Criterio di informazione di Akaike (AIC) = 33,7793
  Criterio bayesiano di Schwarz (BIC) = 39,6422
  Criterio di Hannan-Quinn (HQC) = 35,7227

              Previsto
                0    1
  Effettivo 0  18    3
            1   3    8

Modello 2: Stime Probit usando le 32 osservazioni 1-32
Variabile dipendente: GRADE

      VARIABILE      COEFFICIENTE       ERRORE STD    STAT T       PENDENZA
                                                                  (alla media)
  const                -7,45232          2,54247      -2,931
  GPA                   1,62581          0,693883      2,343      0,533347   
  TUCE                  0,0517288        0,0838903     0,617      0,0169697  
  PSI                   1,42633          0,595038      2,397      0,467908   

  Media di GRADE = 0,344
  Numero dei casi 'previsti correttamente' = 26 (81,2%)
  f(beta'x) nella media delle variabili indipendenti = 0,328
  Pseudo-R-quadro di McFadden = 0,377478
  Log-verosimiglianza = -12,8188
  Test del rapporto di verosimiglianza: Chi-quadro(3) = 15,5459 (p-value 0,001405)
  Criterio di informazione di Akaike (AIC) = 33,6376
  Criterio bayesiano di Schwarz (BIC) = 39,5006
  Criterio di Hannan-Quinn (HQC) = 35,581

              Previsto
                0    1
  Effettivo 0  18    3
            1   3    8

\end{code}

In questo contesto, la funzione accessoria \verb+$uhat+ assume un
significato speciale: produce i residui generalizzati come sono definiti in
Gourieroux \textit{et al} (1987), che possono essere interpretati come stimatori non distorti dei
disturbi latenti $\varepsilon_t$. Questi sono definiti come
%
\begin{equation}
  \label{eq:QR-genres}
  u_i = \left\{
    \begin{array}{ll}
      y_i - \hat{P}_i & \textrm{per il modello logit} \\
      y_i\cdot \frac{\phi(\hat{z}_i)}{\Phi(\hat{z}_i)} - 
      ( 1 - y_i ) \cdot \frac{\phi(\hat{z}_i)}{1 - \Phi(\hat{z}_i)}
      & \textrm{per il modello probit} \\
    \end{array}
    \right.
\end{equation}

Tra l'altro, i residui generalizzati sono spesso usati a scopo diagnostico; ad
esempio, è molto facile costruire un test per variabili omesse
equivalente al test LM usato tipicamente nel contesto della regressione lineare:
l'esempio \ref{QR-add} mostra come eseguire un test per l'aggiunta di una
variabile.

\begin{script}[htbp]
  \caption{Test per l'aggiunta di una variabile in un modello probit}
  \label{QR-add}
\begin{scode}
open greene19_1

probit GRADE const GPA PSI
series u = $uhat 

ols u const GPA PSI TUCE -q
printf "Test per l'aggiunta della variabile TUCE:\n"
printf "Rsq * T = %g (p. val. = %g)\n", $trsq, pvalue(X,1,$trsq) 
\end{scode}
\end{script}

\subsection{Modelli ordinati}
\label{sec:ordered}

Questi modelli sono semplici variazioni sui normali modelli logit/probit,
utilizzati di solito nei casi in cui la variabile dipendente assume valori
discreti e ordinati, non necessariamente quantitativi. Ad esempio, questi
modelli possono essere applicati per analizzare casi in cui la variabile
dipendente è un giudizio qualitativo come ``Buono'', ``Medio'', ``Scarso''.
Ipotizzando di avere $p$ categorie, la probabilità che l'individuo $i$ ricada
nella $j$-esima categoria è dato da
%
\begin{equation}
  \label{eq:QR-ordered}
  P(y_i = j | x_i) = \left\{
    \begin{array}{ll}
      F(z_i + \mu_0) & \textrm{per } j = 0 \\
      F(z_i + \mu_j) -  F(z_i + \mu_{j-1}) & \textrm{per } 0 < j < p \\
      1 -  F(z_i + \mu_{p-1}) & \textrm{per } j = p 
    \end{array}
    \right.
\end{equation}
%
I parametri ignoti $\mu_j$ sono chiamati ``punti di taglio'' e sono stimati
insieme ai $\beta$'. Ai fini dell'identificazione, $\mu_0$ è ipotizzato pari a
0.  In termini della variabile non osservata $y^*_i$, il modello può essere
espresso in modo equivalente come
$P(y_i = j | x_i) = P(\mu_{j-1} \le y^*_i < \mu_j)$. 

\begin{script}[htbp]
  \caption{Modello probit ordinato}
  \label{ex:oprobit}
\begin{scode}
open pension.gdt
series pctstck = pctstck/50
discrete pctstck
probit pctstck const choice age educ female black married finc25 finc35 \
  finc50 finc75 finc100 finc101 wealth89 prftshr
\end{scode}
\end{script}

Per applicare questi modelli, la variabile dipendente deve essere marcata come
discreta e il suo valore minimo deve essere pari a 0. L'esempio \ref{ex:oprobit}
riproduce la stima proposta nel capitolo 15 di Wooldridge (2002a). Si noti che
\app{gretl} non fornisce un comando separato per i modelli ordinati: i comandi
\texttt{logit} e \texttt{probit} stimano automaticamente le versioni ordinate se
la variabile dipendente non è binaria (a patto che sia stata marcata in
precedenza come discreta).

Dopo aver stimato modelli ordinati, la variabile \verb+$uhat+ contiene i
residui generalizzati, come avviene per i modelli binari; in più, la variabile
\verb+$yhat+ contiene $\hat{z}_i$, così è possibile calcolare una stima non
distorta della variabile latente $y^*_i$ semplicemente facendo l'addizione delle
due.

\subsection{Logit multinomiale}
\label{sec:mlogit}

Quando la variabile dipendente non è binaria e non ha un ordinamento naturale,
si usano modelli \emph{multinomiali}. \app{Gretl} non fornisce ancora
un'implementazione interna per questo tipo di modelli, ma alcuni casi semplici
possono essere gestiti usando il comando \texttt{mle} command (si veda il
capitolo \ref{chap:mle}). Di seguito viene presentato un esempio di modello
logit multinomiale. Si assuma che la variabile dipendente $y_i$ possa avere
valori interi $0,1,\dots p$.  La probabilità che sia $y_i = k$ è data da
\[
  P(y_i = k |  x_i) = \frac{\exp(x_i \beta_k)}{\sum_{j=0}^p \exp(x_i \beta_j)}
\]
Ai fini dell'identificazione del modello, uno dei valori deve essere preso come
quello ``di riferimento''; di solito si assume che valga $\beta_0 = 0$, nel cui caso
\[
  P(y_i = k |  x_i) = \frac{\exp(x_i \beta_k)}{1 + \sum_{j=1}^p \exp(x_i \beta_j)} 
\]
e
\[
  P(y_i = 0 |  x_i) = \frac{1}{1 + \sum_{j=1}^p \exp(x_i \beta_j)} .
\]

L'esempio~\ref{ex:mlogit} riproduce la Tabella 15.2 di Wooldridge (2002a),
che si basa su dati sulle scelte di carriera contenuti in Keane e Wolpin (1997).
La variabile dipendente è lo stato occupazionale di un individuo (0 = studente;
1 = non studente e non occupato; 2 = occupato) e le variabili esplicative sono
il livello di educazione e l'esperienza lavorativa (in livelli e nei quadrati),
oltre a una variabile binaria ``oscura''. Il dataset completo è di tipo panel,
ma l'analisi presentata di seguito riguarda solo i dati del 1987. Per i dettagli
sulle operazioni matriciali usate in questo script, si veda il
capitolo~\ref{chap:matrices}.

\begin{script}[htbp]
  \caption{Logit multinomiale}
  \label{ex:mlogit}
\begin{scode}
function mlogitlogprobs(series y, matrix X, matrix theta)

  scalar n = max(y)
  scalar k = cols(X)
  matrix b = mshape(theta,k,n)

  matrix tmp = X*b
  series ret = -ln(1 + sumr(exp(tmp)))

  loop for i=1..n --quiet
    series x = tmp[,i]
    ret += (y=$i) ? x : 0 
  end loop

  return series ret

end function

open Keane.gdt
status = status-1 # dep. var. must be 0-based
smpl (year=87 & ok(status)) --restrict

matrix X = { educ exper expersq black const }
scalar k = cols(X)
matrix theta = zeros(2*k, 1)

mle loglik = mlogitlogprobs(status,X,theta)
  params theta
end mle --verbose --hessian
\end{scode}
%$
\end{script}


\section{Il modello Tobit}
\label{sec:tobit}

Il modello Tobit viene usato quando la variabile dipendente di un modello è
censurata\footnote{Stiamo assumendo che i dati siano censurati per quanto riguarda
  i valori inferiori a zero. I casi di censura per valori maggiori di zero,
  o in corrispondenza di valori diversi da zero, possono essere trattati facilmente
  ridefinendo la variabile dipendente. Il caso più generale di censura da due
  lati non è contemplato automaticamente da \app{gretl}, ma è possibile stimare
  tali modelli usando il comando \texttt{mle} (si veda il capitolo
  \ref{chap:mle}).}.
Si ipotizzi che una variabile latente $y^*_i$ possa essere descritta
come
%
\[
  y^*_i = \sum_{j=1}^k x_{ij} \beta_j + \varepsilon_i ,
\]
%
dove $\varepsilon_i \sim N(0,\sigma^2)$. Se le $y^*_i$ fossero osservabili, i
parametri del modello potrebbero essere stimati con i minimi quadrati ordinari.
Al contrario, si supponga di poter osservare $y_i$, definita
come
%
\begin{equation}
  \label{eq:tobit}
  y_i = \left\{ 
    \begin{array}{ll} 
      y^*_i & \mathrm{for} \quad y^*_i > 0 \\ 
      0 & \mathrm{for} \quad y^*_i \le 0 
    \end{array}
    \right. 
\end{equation}
%
In questo caso, regredire $y_i$ sulle $x_i$ non produce stime consistenti dei
parametri $\beta$, perché la media condizionale $E(y_i|x_i)$ non è pari a $\sum_{j=1}^k x_{ij}
\beta_j$. Come si può dimostrare, nemmeno restringere il campione alle
osservazioni diverse da zero non produrrebbe stime consistenti. La soluzione sta
nello stimare i parametri con la massima verosimiglianza. La sintassi è
semplicemente
%
\begin{code}
tobit depvar indvars
\end{code}

Come al solito, è possibile visualizzare i progressi dell'algoritmo di
massimizzazione usando l'opzione \texttt{--verbose} e \verb+$uhat+
contiene i residui generalizzati. Si noti che in questo caso il residuo
generalizzato è definito come $\hat{u}_i = E(\varepsilon_i | y_i = 0)$ per
le osservazioni censurate, quindi l'uguaglianza $\hat{u}_i = y_i - \hat{y}_i$
vale solo per le osservazioni non censurate, ossia quando vale $y_i>0$.

Un'importante differenza tra lo stimatore Tobit e quello OLS è che le
conseguenze della non-normalità del termine di disturbo sono molto più severe,
visto che la non-normalità implica la non consistenza per lo stimatore Tobit.
Per questo motivo, fra i risultati del modello Tobit viene mostrato anche il
test di normalità di Chesher--Irish (1987).

\subsection{Modello di selezione del campione}
\label{sec:heckit}

Nel modello di selezione del campione (noto anche come modello ``Tobit II''),
esistono due variabili latenti:
%
\begin{eqnarray}
  \label{eq:heckit1}
  y^*_i & = & \sum_{j=1}^k x_{ij} \beta_j + \varepsilon_i \\
  \label{eq:heckit2}
  s^*_i & = & \sum_{j=1}^p z_{ij} \gamma_j + \eta_i 
\end{eqnarray}
%
e la regola di osservazione è data da
%
\begin{equation}
  \label{eq:tobitII}
  y_i = \left\{ 
    \begin{array}{ll} 
      y^*_i & \mathrm{for} \quad s^*_i > 0 \\ 
      \diamondsuit & \mathrm{for} \quad s^*_i \le 0 
    \end{array}
    \right. 
\end{equation}

In questo contesto, il simbolo $\diamondsuit$ indica che per alcune osservazioni
non sono disponibili dati per $y$: $y_i$ può essere 0 o mancante, o assumere
qualsiasi altro valore. Di solito si usa una variabile dummy $d_i$ per escludere
le osservazioni censurate.

Una delle applicazioni più popolari di questo modello in econometria prevede
un'equazione dei salari e un'equazione della partecipazione alla forza lavoro:
viene osservato solo il salario delle persone occupate. Se $y^*_i$ e $s^*_i$ fossero
(condizionalmente) indipendenti, non ci sarebbe motivo per non usare lo
stimatore OLS per stimare l'equazione (\ref{eq:heckit1}); ma in altri casi, lo
stimatore OLS non produce stime consistenti dei parametri $\beta_j$.

Visto che l'indipendenza condizionale tra $y^*_i$ e $s^*_i$ è equivalente
all'indipendenza condizionale tra $\varepsilon_i$ e $\eta_i$, si può modellare
la co-dipendenza tra $\varepsilon_i$ e $\eta_i$ come
\[
  \varepsilon_i = \lambda \eta_i + v_i ;
\]
sostituendo l'espressione precedente nella (\ref{eq:heckit1}), si ottiene il
modello che viene effettivamente stimato:
\[
  y_i = \sum_{j=1}^k x_{ij} \beta_j + \lambda \hat{\eta}_i + v_i ,
\]
quindi l'ipotesi per cui la censura non ha importanza equivale all'ipotesi
$H_0: \lambda = 0$, che può essere testata facilmente.

I parametri possono essere stimati con la massima verosimiglianza nell'ipotesi
di normalità congiunta di $\varepsilon_i$ e $\eta_i$, ma un metodo alternativo
molto usato è il cosidetto stimatore \emph{Heckit}, che prende il
nome da Heckman (1979). La procedura può essere schematizzata nel modo seguente:
per prima cosa viene stimato un modello probit per l'equazione (\ref{eq:heckit2});
quindi, vengono inseriti i residui generalizzati nell'equazione (\ref{eq:heckit1})
per correggere gli effetti della selezione del campione.

\app{Gretl} fornisce il comando \texttt{heckit} per eseguire la stima; la
sintassi è
%
\begin{code}
heckit y X ; d Z
\end{code}
%
dove \texttt{y} è la variabile dipendente, \texttt{X} è una lista di
regressori, \texttt{d} è una variabile dummy che vale 1 per le osservazioni non
censurate, e \texttt{Z} è una lista di variabili esplicative per l'equazione di
censura.

Visto che quello della massima verosimiglianza è il metodo scelto più spesso,
per impostazione predefinita \app{gretl} calcola le stime ML. Le stime
Heckit a due passi si ottengono usando l'opzione \texttt{--two-step}. Dopo la
stima, la variabile \verb|$uhat| contiene i residui generalizzati. Come nel
modello Tobit ordinario, i residui sono pari alla differenza tra i valori
$y_i$ effettivi e stimati solo per le osservazioni non censurate (quelle per cui
vale $d_i = 1$).

L'esempio \ref{ex:heckit} mostra due stime dal dataset usato in
Mroz (1987): la prima replica la tabella 22.7 di Greene (2003)\footnote{Si noti
che le stime prodotte da \app{gretl} non coincidono con quelle contenute nel
libro, ma con quelle elencate nella pagina degli errata corrige del
libro: \url{http://pages.stern.nyu.edu/~wgreene/Text/Errata/ERRATA5.htm}.},
mentre la seconda replica la tabella 17.1 di Wooldridge (2002a)

\begin{script}[htbp]
  \caption{Modello Heckit}
  \label{ex:heckit}
\begin{scode}
open mroz.gdt

genr EXP2 = AX^2
genr WA2 = WA^2
genr KIDS = (KL6+K618)>0

# Greene's specification

list X = const AX EXP2 WE CIT
list Z = const WA WA2 FAMINC KIDS WE

heckit WW X ; LFP Z --two-step 
heckit WW X ; LFP Z 

# Wooldridge's specification

series NWINC = FAMINC - WW*WHRS
series lww = log(WW)
list X = const WE AX EXP2
list Z = X NWINC WA KL6 K618

heckit lww X ; LFP Z --two-step 
\end{scode}
\end{script}

%\section{Count data}
%\label{sec:poisson}

%also include example script for negative binomial (done in Vebeek
%example files).



%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "gretl-guide"
%%% End: 
