diff --git a/vignettes/anaExpMLG.Rmd b/vignettes/anaExpMLG.Rmd index 0565c6946283f29ff15e8a692ba46a8b37779ef5..e7a0814bf2cf6e75eea7eab076eaf123f90f8d4f 100644 --- a/vignettes/anaExpMLG.Rmd +++ b/vignettes/anaExpMLG.Rmd @@ -56,6 +56,7 @@ xtabs(~fuma, data = PaulaEx3.7.25) xtabs(~pulsa, data = PaulaEx3.7.25) # Diagrama de dispersão. +# carregamento do pacote lattice library(lattice) xyplot(pulsa ~ peso, groups = fuma, data = PaulaEx3.7.25, type = "p", @@ -114,17 +115,18 @@ Sua notação é a seguinte: $$ \mu_{i} = g^{-1}(\eta_{i}) = g(\beta_{0} + \beta_{1}x_{i1} + \beta_{2}x_{i2} + ... + \beta_{p}x_{ip})$$ -Caso algum destes elementos não seja satisfeito, o modelo não é um MLG. +Caso algum destes elementos não seja satisfeito, o modelo não é linear +generalizado. Códigos para o ajuste: - ```{r} # como a variável 'pulsa' é um fator binário, vamos # utilizar a distribuição binomial -m0 <- glm(pulsa ~ peso + fuma, data = PaulaEx3.7.25, - family= binomial(link="logit")) # especificação da função - # de ligação como 'logito' +m0 <- glm(pulsa ~ peso + fuma, + data = PaulaEx3.7.25, + family= binomial(link="logit")) # especificação da função + # de ligação 'logito' summary(m0) # resumo do ajuste levels(PaulaEx3.7.25$pulsa) # níveis da variável resposta ``` @@ -152,31 +154,22 @@ para a do modelo nulo, temos uma diferença de apenas 7.57. Isso linear generalizado, devemos atentar para este ponto, porque medidas de melhoria do ajuste podem ser tomadas. -A análise de resíduos para um modelo linear generalizado cuja váriavel -reposta é **dicotômica** é um pouco diferente da de um modelo de -regressão. Neste caso, os resíduos dificilmente seguem uma distribuição -Normal. +A análise de resíduos para um modelo linear generalizado é um pouco +diferente da de um modelo de regressão. Neste caso, os resíduos +dificilmente seguem uma distribuição Normal. Por isso, avaliamos +um gráfico com envelope simulado via *bootstrap*, que permite checar a +qualidade do modelo, mesmo que os resíduos não se distribuam de acordo +com uma Normal. -```{r} -par(mfrow = c(1,2), mar = c(3, 4, 4, 2)+.1) -plot(residuals(m0, type = "deviance"), - main = "Resíduos Deviance", - ylab = "Resíduos", - xlab = "", - col = "blue") -plot(residuals(m0, type = "pearson"), - main = "Resíduos de Pearson", - ylab = "Resíduos", - xlab = "", - col = "blue") -``` - -O gráfico com envelope simulado via *bootstrap* permite checar a -qualidade do modelo, mesmo que os resíduos não se distribuam -seguindo uma Normal. +Neste gráfico, espera-se que, se o modelo estiver bem ajustado, os +resíduos estarão dispersos em ordem aleatória dentro do envelope. +Pequenas fugas devem ser analisadas levando em consideração o contexto +do modelo. Na Figura 1, temos envelope simulado para o ajuste feito +anteriormente. -```{r} +```{r, fig.cap='Análise de resíduos de um modelo linear generalizado'} # Envelope simulado para a análise de resíduos +# carregamento do pacote library(hnp) par(mfrow = c(1,1)) plot(hnp(m0, conf = 0.95), @@ -185,5 +178,7 @@ plot(hnp(m0, conf = 0.95), ylab = "Resíduos", pch = 16, col = c("black", "tomato", "black", "blue")) + + ```