Commit 0dd22ee6 authored by Eduardo E. R. Junior's avatar Eduardo E. R. Junior

Adiciona slides da seção sobre os modelos hurdle

parent 838a4b00
Pipeline #4109 passed with stage
\begin{frame}[allowframebreaks]{Modelo Hurdle}
\begin{itemize}
\item Consideram somente os zeros estruturais;
\item São chamados também de modelos condicionais, hierárquicos ou de
duas partes;
\item A variável de interesse é particionada em contagens nulas e
não nulas;
\item Esta abordagem combina um modelo de contagem truncado à esquerda
do ponto $y = 1$ e um modelo censurado à direita no mesmo ponto
$y =1$
\end{itemize}
\framebreak
\begin{block}{Distribuição de probabilidades}
\begin{equation*}
Pr(Y = y) =
\begin{dcases*}
f_z(0) & \text{se } y = 0,\\
(1 - f_z(0)) \frac{f_c(Y = y)}{1 -
f_c(Y = y)} & \text{se } y = 1, 2, \dots
\end{dcases*}
\end{equation*}
em que $f_z$ é uma função de probabilidades degenerada no ponto 0 e
$f_c$ um função de probabilidades de uma variável $Y^*$, como a Poisson.
\end{block}
\begin{block}{Momentos da distribuição}
\begin{columns}[t]
\column{.48\textwidth}
\begin{center}
{\bf Média}
\end{center}
$$
E(Y) = \frac{E(Y^*)(1-f_z(0))}{1-f_c(Y=0)}
$$
\column{.48\textwidth}
\begin{center}
{\bf Variância}
\end{center}
$$
V(Y) = \frac{1-f_z(0)}{1-f_c(Y=0)} \left [ E(Y^*)
\frac{(1-f_z(0))}{1-f_c(Y=0)} \right ]
$$
\end{columns}
\end{block}
\end{frame}
\begin{frame}{Modelos de barreira }
\begin{columns}[c]
\column{.4\textwidth}
\begin{itemize}
\item $f_z$ é uma função de probabilidades degenerada no ponto $y=0$,
ou seja, tem toda massa no ponto 0.
\item $f_c$ é uma função de probabilidades tradicional, que no modelo
é truncada em $y=1$.
\item Os modelos de barreira combinam $f_z$ e $f_c$ para descrever $Y$
\item Para a parte positiva os dados ainda podem apresentar sub,
superdispersão ou excesso de valores em outro ponto.
\end{itemize}
\column{.6\textwidth}
<<fig.height=3, fig.width=4.5, out.width="1\\textwidth">>=
set.seed(2016)
n <- 1000
lambda <- 3; pi <- 0.9
y <- sapply(rbinom(n, 1, pi), function(x) {
ifelse(x == 0, 0, rpois(1, lambda))
})
yu <- sort(unique(y))
py_real <- c(prop.table(table(y)))
m0 <- glm(y ~ 1, family = poisson)
py_pois <- dpois(yu, exp(m0$coef))
cols <- c(trellis.par.get("dot.symbol")$col,
trellis.par.get("superpose.line")$col[2])
key <- list(corner = c(0.95, 0.9),
lines = list(lty = 1, col = rev(cols), lwd = 3, size = 3),
text = list(expression(f[z], f[c])))
ylim <- extendrange(c(0, max(py_real, py_pois)))
xyplot(py_pois ~ yu, type = "h", lwd = 5, grid = TRUE,
xlab = "",
ylab = expression(P(Y==y)),
ylim = ylim, key = key,
scales = list(x = list(at = yu)),
panel = function(x, y, ...) {
panel.xyplot(x, y, ...)
panel.lines(x = x[1], y = py_real[1], type = "h",
col = cols[2], lwd = 5)
panel.lines(x = x[1], y = py_pois[1], type = "h",
col = cols[2], lwd = 5)
}
)
@
\end{columns}
\end{frame}
\begin{frame}{Combinações comuns}
Pode-se propor diferentes distribuições para $f_z$ e $f_c$. Uma
escolha natural para $f_z$ é a Bernoulli e para $f_c$ a Poisson. Assim
\begin{columns}[c]
\column{.3\textwidth}
\begin{align*}
&f_z \sim Bernoulli(\pi) \\
&f_c \sim Poisson(\lambda)
\end{align*}
\column{.1\textwidth}
$$\Rightarrow$$
\column{.6\textwidth}
\begin{flalign*}
&P(Y = y) = \begin{dcases*}
1 - \pi & \text{se } y = 0,\\
\pi \left ( \frac{e^{-\lambda} \lambda^y}{y!
(1- e^{-\lambda})} \right ) & \text{se } y = 1, 2, \dots
\end{dcases*}&
\end{flalign*}
\end{columns}
\vspace{0.8cm}
Embora essa escolha de modelo seja o que tem o maior suporte
computacional, ressalta-se que outras distribuições podem ser escolhidas
para ambas as partes $f_z$ e $f_c$.
\end{frame}
\begin{frame}[allowframebreaks]{Modelos de regressão \textit{Hurdle}}
\begin{itemize}
\item Incorporando covariáveis em $f_z$ e $f_c$ na forma $h(Z\gamma)$
e $g(X\beta)$, respectivamente.
\item As funções $h(.)$ e $g(.)$, são as funções de ligação escolhidas
conforme modelos $f_z$ e $f_c$.
\item O modelo de regressão {\it Hurdle} terá, portanto, os vetores de
parâmetros $\beta$, $\gamma$ e potencialmente $\phi$ (caso um modelo
com parâmetro de dispersão for considerado)
\item Se os modelos para $f_z$ e $f_c$ e as respectivas matrizes
$Z$ e $X$ forem as mesmas, o teste $H_0: \beta = \gamma$ avalia a
a necessidade do modelo Hurdle.
\end{itemize}
\framebreak
\begin{columns}[t,onlytextwidth]
\column{.39\textwidth}
\begin{block}{Função de verossimilhança}
\begin{align*}
L(\underline{\theta}; &\underline{y}) =
\prod_{i=1}^n (1-\mathds{1}) \left ( f_{z_i}(0) \right ) \cdot \\
&\prod_{i=1}^n \mathds{1} \left ( (1-f_{z_i}(0)) \left (
\frac{f_{c_i}(y_i)}{1 - f_{c_i}(0)}\right ) \right )
\end{align*}
\end{block}
\column{.58\textwidth}
\begin{block}{Função de log-verossimilhança}
\begin{align*}
l(\underline{\theta}; &\underline{y}) = \sum_{i = 1}^n
(1-\mathds{1}) \left ( \log(f_{z_i}(0)) \right ) + \\
&\sum_{i = 1}^n \mathds{1} \left ( \log(1-f_{z_i}(0)) +
\log(f_{c_i}(y_i)) - \log(1 - f_{c_i}(0)) \right )
\end{align*}
\end{block}
\end{columns}
\vspace{0.8cm}
Sendo $\mathds{1}$ a função indicadora que assume o valor 1 se $y > 0$ e
0 se $y = 0$ e $\underline{\theta}$ o vetor de parâmetros do modelo (
$\beta$, $\gamma$ e $\phi$, se houver).
\end{frame}
\begin{frame}[fragile, allowframebreaks]{Modelos \textit{Hurdle} no R}
Neste minicurso utilizaremos principalmente pacote o {\tt pscl}
(\textit{Political Science Computational Laboratory, Stanford University})
<<eval=FALSE, echo=TRUE>>=
library(pscl)
hurdle(y ~ fc_preditor | fz_preditor, dist = "poisson", zero.dist = "poisson")
@
\framebreak
Um outro pacote que proporciona diversas funções e podemos adaptar para
o ajuste desses modelos é o {\tt VGAM} ({\it Vector Generalized Linear
and Additive Models})
<<eval=FALSE, echo=TRUE>>=
library(VGAM)
vglm(y ~ preditor, family = zapoisson)
## ou ajustando as partes
vglm(y ~ fc_preditor, family = pospoisson, data = subset(data, y > 0))
vglm(SurvS4(cy, st) ~ fz_preditor, cens.poisson,
data = transform(data, cy = pmin(1, y), st = ifelse(y >= 1, 0, 1))
@
\end{frame}
\begin{frame}{Estudos de caso}
{\it Vignette} \href{run:../doc/v07_hurdle.html}{\tt v07\_hurdle.html}
\begin{description}
\item[\tt peixe]: número de peixes capturados por grupos em um parque
estadual
\item[\tt sinistros]: número de sinistros em uma seguradora de
automóveis
\end{description}
\end{frame}
...@@ -2,8 +2,11 @@ ...@@ -2,8 +2,11 @@
\usepackage[brazil]{babel} \usepackage[brazil]{babel}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{multicol} \usepackage{multicol}
\usepackage{tikz} \usepackage{tikz}
\usepackage{mathtools} %% Funcionalidades (como \dcases)
\usepackage{dsfont} %% Para \mathds{1} Indicadora
%% ====================================================================== %% ======================================================================
%% Fontes %% Fontes
...@@ -235,10 +238,14 @@ source("_setup.R") ...@@ -235,10 +238,14 @@ source("_setup.R")
<<excesso_zeros, child = "excesso_zeros.Rnw">>= <<excesso_zeros, child = "excesso_zeros.Rnw">>=
@ @
\subsection{Modelos de Barreira (Hurdle)} \subsection{Modelos de Barreira \protect\textit{Hurdle}}
\label{sec-hurdle} \label{sec-hurdle}
\subsection{Modelos de Mistura (Zero Inflated)} <<hurdle, child = "hurdle.Rnw">>=
@
\subsection{Modelos de Mistura (\protect\textit{Zero Inflated})}
\label{sec-zeroinfl} \label{sec-zeroinfl}
\section{Modelos com Efeitos Aleatórios} \section{Modelos com Efeitos Aleatórios}
...@@ -260,6 +267,11 @@ data: Revival of the Conway-Maxwell-Poisson distribution. {\em Journal of ...@@ -260,6 +267,11 @@ data: Revival of the Conway-Maxwell-Poisson distribution. {\em Journal of
the Royal Statistical Society. Series C: Applied Statistics}, 54(1), the Royal Statistical Society. Series C: Applied Statistics}, 54(1),
127–142. 127–142.
\bibitem{Zeiles2008} Zeileis, A., Kleiber, C., Jackman, S. (2008).
Regression Models for Count Data in R. {\em Journal of Statistical
Software}, 27(8), 1 - 25.
\url{doi:http://dx.doi.org/10.18637/jss.v027.i08}
\bibitem{Winkelmann2008} Winkelmann, R. (2008). {\em Econometric analysis \bibitem{Winkelmann2008} Winkelmann, R. (2008). {\em Econometric analysis
of count data} (5th Ed.). Springer Science \& Business Media. of count data} (5th Ed.). Springer Science \& Business Media.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment