Os modelos lineares generalizados (GLMs) são usado quando a variância não é constante ou o erro do modelo não tem uma distribuição gaussiana (normal). A natureza da nossa variável resposta indica os desvios que iremos encontrar em relação aos pressupostos dos modelos lineares ( regressões ordinárias ).
Devemos considerar os GLMs principalmente quando a variável resposta é expressa em:
O preditor linear está baseado na estrutura linear que temos visto nos modelos. Para uma variável preditora:
η=α+βx
A função de ligação é o que relaciona o preditor linear com a esperança:
η=g(E(y))
Para alguns tipos de famílias de variáveis temos funções de ligações padrões. As mais usadas são
Natureza da resposta | Estrutura dos resíduos (erro) | Função de ligação |
---|---|---|
contínua | normal | identidade |
contagem | poisson | log |
proporção | binomial | logit |
Sequência de ajuste de modelo de contagem
Residual deviance
e degrees of freedom
quasipoisson
anova
poisson
use o argumento test = “Chisq”
quasipoisson
use o argumento test = “F”
Em sequida:
Os dados estão relacionados ao estudo para entender quais variáveis estão relacionados à ausência (falta) do aluno na escola. A observação está relacionada a alunos amostrados aleatoriamente de escolas na Austrália.
Como entendemos que todas as variáveis e interações são possíveis e interpretáveis para a tomada de decisão sobre o permanência do aluno na escola, vamos construir o modelo cheio com todas as possibilidades de interações. Para isso vamos construir o modelo usando a família de erro POISSON e a função de ligação log.
O nosso modelo cheio não conseguiu estimar alguns dos parâmetros. Isso se deveu ao fato de algumas combinações de níveis de fatores não foram encontradas na amostra. Por exemplo não há nenhum:
Um dos pressupostos do modelo Poisson é que a variância aumenta linearmente com a esperança (média do modelo). Podemos avaliar isso dividindo a Residual Deviance
pelo seu degrees of freedom
. Essa razão deve ser próxima a 1. O que não é o caso do nosso modelo. Nesses casos uma das alternativas é:
quasipoisson
Os modelos de proporção ou de resposta binária (presença/ausência, vivo/morto, sucessos/falhas) são modelados, normalmente, com estrutura do erro binomial. Nesses casos os limite dos valores da variável resposta é bem definido: entre 0 e 1. Essa característica faz com que o erro apresente uma estrutura que aumenta e depois diminuí, e normalmente o máximo de desvios é encontrado nos valores intermediários.
A função de ligação para modelos com resposta binária ou proporção é chamada de logit
ou log odds-ratio
.
Pode ser definida como:
p=log(a+bx1−(a+bx))
O conjunto de dados que vamos usar, isolation.txt tem como variável:
Conjunto de dados: isolation.txt
Use os mesmos passos do modelo anterior no Rcmdr
family
nesse caso é binomial
O objetivo do estudo que gerou esses dados é saber se a ocorrência da ave (reprodução) está relacionada com o isolamento e tamanho da ilha.
isolation.txt
no Rcmdr (a separação de campo é espaço)
O modelo prevê a ocorrência da ave na escala de logaritmo da chance (log odds-ratio). Para interpretar tanto os coeficientes quanto os valores previsto é necessário aplicar a função inversa do logit
:
logit−1(ˆy)=11+1eˆy
Para construir modelos onde as observações têm dependência espacial ou temporal, é preciso contemplar a variável com dependência como variável aleatória.
Pacotes para modelos mistos
Os pacotes para trabalhar os modelos mistos no R não são instalados junto com os pacotes básicos como os que contem as funções lm
e glm
.
Os dois principais pacotes para realizar modelos misto são: lme4
e nlme
. Ambos funcionam muito bem para a grande parte do modelo que usamos, mas diferem um pouco quanto à sintaxe. Nesse roteiro iremos usar o lme4
. Antes de iniciar o roteiro, instale e carregue o pacote com os seguintes comandos:
install.packages("lme4") library(lme4)
Para um modelo onde a relação entre a preditora e a resposta não mudam, mas há um efeito relacionado aleatório relacionado à localidade ou o objeto da medida, construímos usamos o LMM da seguinte forma.
Beach
afeta apenas o interceptoNAP
para tomar a decisão de qual modelo reterlmm01r <- lmer(Richness ~ NAP + (1|Beach), data=praia, REML = FALSE) lmm00r <- lmer(Richness ~ 1 + (1|Beach), data=praia, REML = FALSE) anova(lmm00r, lmm01r) lmm01 <- lmer(Richness ~ NAP + (1|Beach), data=praia, REML = TRUE) summary(lm001)
Para incluir a variável aleatória Beach
também na inclinação é preciso mudar o termo de interação
(1|Beach)
para:
(1+NAP|Beach)
NAP
afetando o intercepto e a inclinação