diff --git a/inst/slides/hurdle.Rnw b/inst/slides/hurdle.Rnw new file mode 100644 index 0000000000000000000000000000000000000000..3180821e56b655d68cf18a1c464e7be092676062 --- /dev/null +++ b/inst/slides/hurdle.Rnw @@ -0,0 +1,238 @@ + +\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} diff --git a/inst/slides/slides-mrdcr.Rnw b/inst/slides/slides-mrdcr.Rnw index 91ad813e8ff8910fac0eafc40202a1c1ff11a798..68109c0cc830ad97659491856153264ccabe9572 100644 --- a/inst/slides/slides-mrdcr.Rnw +++ b/inst/slides/slides-mrdcr.Rnw @@ -2,8 +2,11 @@ \usepackage[brazil]{babel} \usepackage[utf8]{inputenc} +\usepackage{lmodern} \usepackage{multicol} \usepackage{tikz} +\usepackage{mathtools} %% Funcionalidades (como \dcases) +\usepackage{dsfont} %% Para \mathds{1} Indicadora %% ====================================================================== %% Fontes @@ -235,10 +238,14 @@ source("_setup.R") <<excesso_zeros, child = "excesso_zeros.Rnw">>= @ -\subsection{Modelos de Barreira (Hurdle)} +\subsection{Modelos de Barreira \protect\textit{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} \section{Modelos com Efeitos Aleatórios} @@ -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), 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 of count data} (5th Ed.). Springer Science \& Business Media. diff --git a/inst/slides/slides-mrdcr.pdf b/inst/slides/slides-mrdcr.pdf index c1e587599ffb7c5e1c5482209114bb21e370e8ab..c6cf81daa43a40634696663e9b5f6bb010105321 100644 Binary files a/inst/slides/slides-mrdcr.pdf and b/inst/slides/slides-mrdcr.pdf differ