Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
tccDocument
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Harbor Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Eduardo E. R. Junior
tccDocument
Commits
fbc73e9b
Commit
fbc73e9b
authored
9 years ago
by
Eduardo E. R. Junior
Browse files
Options
Downloads
Patches
Plain Diff
Adiciona seção sobre excesso de zeros ao capítulo 02
parent
3c65e56d
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
docs/01-tcc.pdf
+0
-0
0 additions, 0 deletions
docs/01-tcc.pdf
docs/cap02_revisao-de-literatura.Rnw
+149
-1
149 additions, 1 deletion
docs/cap02_revisao-de-literatura.Rnw
with
149 additions
and
1 deletion
docs/01-tcc.pdf
+
0
−
0
View file @
fbc73e9b
No preview for this file type
This diff is collapsed.
Click to expand it.
docs/cap02_revisao-de-literatura.Rnw
+
149
−
1
View file @
fbc73e9b
...
@@ -799,7 +799,155 @@ COM-Poisson são discutidos na seção \ref{cap03:metodos}.
...
@@ -799,7 +799,155 @@ COM-Poisson são discutidos na seção \ref{cap03:metodos}.
\section{Modelos para excesso de zeros}
\section{Modelos para excesso de zeros}
\label{cap02:zeros}
\label{cap02:zeros}
\lipsum[1]
Problemas com excesso de zeros são comuns em dados de
contagem. Caracteriza-se como excesso de zeros casos em que a quantidade
observada de contagens nulas supera substancialmente aquela esperada
pelo modelo de contagem adotado, no caso do modelo Poisson
$e^{-\lambda}$.
As contagens nulas que geram o excesso de zeros podem ser decorridas de
duas formas distintas. A primeira denominamos de zeros estruturais,
quando a ocorrência de zero se dá pela ausência de determinada
característica na população e a segunda, que denominamos zeros amostrais
ocorre segundo um processo gerador de dados de contagem (e.g processo
Poisson). Assim, de forma geral temos dois processos geradores de dados
atuantes na geração de uma variável aleatória de contagem com excessivos
zeros.
Em geral, quando dados de contagem apresentam excessos de valores zero
também apresentarão subdispersão. Todavia, essa dispersão pode ser
exclusivamente devido ao excesso de zeros e assim os modelos
alternativos já apresentados não terão um bom desempenho. Uma ilustração
deste fato é ilustrada pela figura \ref{fig:ilustra-zeros}, em que
simulamos um conjunto de dados com excesso de ajustamos um modelo
COM-Poisson. Note que em ambos os casos o modelo se ajustou
adequadamente, indicando os excessos de zeros devem ser abordados de
forma diferente.
<<ilustra-zeros, fig.cap="Ilustração de dados de contagem com excesso de zeros", fig.height=3, fig.width=5>>=
##-------------------------------------------
## Simula os dados
set.seed(20124689)
n <- 1000
lambda <- 2; pi <- 0.9
y1 <- sapply(rbinom(n, 1, pi), function(x) {
ifelse(x == 0, 0, rpois(1, lambda))
})
lambda <- 5; pi <- 0.85
y2 <- sapply(rbinom(n, 1, pi), function(x) {
ifelse(x == 0, 0, rpois(1, lambda))
})
##-------------------------------------------
## Estimando as probabilidades
sim <- list("s1" = as.integer(y1), "s2" = as.integer(y2))
probs <- sapply(sim, function(y) {
yu <- 0:max(y)
##-------------------------------------------
m0 <- glm(y ~ 1, family = poisson)
py_pois <- dpois(yu, exp(m0$coef))
##-------------------------------------------
m1 <- cmp(y ~ 1, data = data.frame(y = y), sumto = 40)
py_dcmp <- dcmp(yu, lambda = exp(m1@coef[-1]),
nu = exp(m1@coef[1]), sumto = 40)
##-------------------------------------------
py_real <- c(prop.table(table(y)))
##-------------------------------------------
cbind(yu, py_real, py_pois, py_dcmp)
}, simplify = FALSE)
da <- plyr::ldply(probs, .id="caso")
##-------------------------------------------
## Objetos para grafico da lattice
ylim <- with(da, extendrange(c(0, max(py_real, py_dcmp))))
cols <- trellis.par.get("superpose.line")$col[1:2]
key <- list(
columns = 2,
lines = list(lty = 1, col = cols),
text = list(c("Observado", "COM-Poisson")))
##-------------------------------------------
## Gráfico
xyplot(py_real ~ c(yu - 0.15) | caso, data = da,
type = c("h", "g"),
xlab = "y",
ylab = expression(Pr(Y==y)),
ylim = ylim,
key = key,
strip = strip.custom(factor.levels = paste("Simulação", 1:2))) +
as.layer(xyplot(
py_dcmp ~ c(yu + 0.15) | caso, data = da,
type = "h", col = cols[2]))
@
\citeonline[capítulo 7]{Hilbe2014} discute sobre a interpretação e
modelagem de dados de contagem com excesso de zeros. Para essa situação
temos ao menos duas abordagens i) os modelos de mistura
\cite{Lambert1992}, também chamados de inflacionados, em inglês
\textit{Zero Inflated Models} e ii) os modelos condicionais
\cite{Ridout1998}, também chamados de modelos de barreira, em inglês
\textit{Hurdle Models}. Neste trabalho somente a abordagem via modelos
condicionais será abordada. A função massa de probabilidade do modelo
Hurdle é
\begin{equation}
\label{eqn:pmf-hurdle}
Pr(Y = y \mid \pi, \Theta_c) =
\begin{dcases*}
\pi & \text{se } y = 0,\\
(1 - \pi) \frac{Pr(Z = z \mid \Theta_c)}{1 - Pr(Z = 0 \mid
\Theta_c)} & \text{se } y = 1, 2, \dots
\end{dcases*}
\end{equation}
\noindent
em que $0<\pi<1$, representa a probabilidade de ocorrência de zeros e
$Pr(Z = z \mid \Theta_c)$ a função massa de probabilidade de uma
variável aleatória de contagem $Z$, como a Poisson ou a Binomial
Negativa.
Da especificação em \ref{eqn:pmf-hurdle}, os momentos média e variância
são obtidos facilmente usando as definições $E(Y) = \sum_{y=1}^\infty y
\cdot Pr(Y=y)$ e $V(Y) = \sum_{y=1}^\infty y^2 \cdot Pr(Y=y) - E^2(Y)$
$$
E(Y) = \frac{E(Z)(1-\pi)}{1-Pr(Z = 0)} \qquad
V(Y) = \frac{1-\pi}{1-Pr(Z = 0)} \left [ E(Z) \frac{(1-\pi)}{1-Pr(Z =
0)} \right ]
$$
Para a inclusão de covariáveis, caracterizando um problema de regressão,
dado que o modelo tem dois processos atuantes devemos modelar ambos como
se segue
\begin{equation}
\label{eqn:reg-hurdle}
\log \left (\frac{\pi_i}{1-\pi_i} \right ) = G_i\gamma \qquad e \qquad
\begin{matrix}
Z_i \sim D(\mu_i, \phi) \\
g(\mu_i) = X_i\beta
\end{matrix}
\end{equation}
\noindent
com $i = 1, 2, \cdots, n$, $G_i$ e $X_i$ as covariáveis da i-ésima
observação consideradas para explicação da contagens nulas e não nulas
respectivamente, $D(\mu_i, \phi)$ uma distribuição de probabilidades
para considerada para as contagens não nulas que pode conter ou não um
parâmetro $\phi$ adicional, se Poisson $D(\mu_i, \phi)$ se resume a
$Poisson(\mu_i)$ e $g(\mu_i)$ uma função de ligação, nos casos Poisson e
Binomial Negativa considera-se $\log(\mu_i)$. O que está implícito na
formulação \ref{eqn:reg-hurdle} é que para a componente que explica a
geração de zeros está sendo considerada a distribuição Bernoulli de
parâmetro $\pi_i$, contudo pode-se utilizar distribuições censuradas a
direita no ponto $y=1$ para estimação desta probabilidade, como explicam
\citeonline{Zeileis2007}.
\section{Modelos de efeitos aleatórios}
\section{Modelos de efeitos aleatórios}
\label{cap02:aleatorio}
\label{cap02:aleatorio}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment