x <- c(-1, -1, 0, 0, 0, 0, 1, 1, 1)
y <- c( 2, 3, 6, 7, 8, 9, 10, 12, 15)
N <- length(y) # 9 observacoesModelos Lineares Generalizados
Anexo — Estrutura do Modelo Nulo e do Modelo Saturado
Sobre este anexo. Este material complementa a apostila dos Exemplos 5.6.3 e 6.7.1. Explica de forma didática o que são o modelo nulo e o modelo saturado, qual é a sua estrutura matricial, e como eles formam a hierarquia de referência usada nos testes de deviance.
1 Os Dados de Referência
Usamos os dados do Exemplo 5.6.3 (Tabela 5.1 do livro) ao longo de todo este anexo.
| i | x | y |
|---|---|---|
| 1 | -1 | 2 |
| 2 | -1 | 3 |
| 3 | 0 | 6 |
| 4 | 0 | 7 |
| 5 | 0 | 8 |
| 6 | 0 | 9 |
| 7 | 1 | 10 |
| 8 | 1 | 12 |
| 9 | 1 | 15 |
2 Modelo Nulo (M0)
2.1 Estrutura
O modelo nulo é o modelo mais simples possível: todos os \(Y_i\) têm a mesma média, independentemente de qualquer preditor.
\[E(Y_i) = \mu \quad \text{para todo } i = 1, \ldots, N\]
Não há variável explicativa — o único parâmetro é a média geral \(\mu\).
2.2 Matriz de Planejamento
A matriz \(\mathbf{X}\) do modelo nulo tem uma única coluna: o vetor de uns.
\[\mathbf{X}_{M_0} = \begin{bmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 1 \\ 1 \\ 1 \\ 1 \\ 1 \end{bmatrix}, \qquad \boldsymbol{\beta} = [\,\mu\,]\]
X_nulo <- matrix(1, nrow = N, ncol = 1,
dimnames = list(paste0("obs", 1:N), "intercepto"))
print(X_nulo) intercepto
obs1 1
obs2 1
obs3 1
obs4 1
obs5 1
obs6 1
obs7 1
obs8 1
obs9 1
2.3 Estimativa e Valores Ajustados
O EMV de \(\mu\) é simplesmente a média amostral \(\hat\mu = \bar{y}\):
mod_nulo <- glm(y ~ 1,
family = poisson(link = "identity"),
start = c(mean(y)))
mu_hat <- coef(mod_nulo) # mu_hat = y_bar
y_hat_0 <- fitted(mod_nulo) # todos iguais a y_bar| i | x | y | y_hat (= y_bar) | residuo |
|---|---|---|---|---|
| 1 | -1 | 2 | 8 | -6 |
| 2 | -1 | 3 | 8 | -5 |
| 3 | 0 | 6 | 8 | -2 |
| 4 | 0 | 7 | 8 | -1 |
| 5 | 0 | 8 | 8 | 0 |
| 6 | 0 | 9 | 8 | 1 |
| 7 | 1 | 10 | 8 | 2 |
| 8 | 1 | 12 | 8 | 4 |
| 9 | 1 | 15 | 8 | 7 |
| mu_hat = y_bar = 8.0000 | gl = N - 1 = 8 | D(M0) = 18.4206 |
Interpretacao: O modelo nulo diz “nao sei nada sobre os grupos — minha melhor estimativa para qualquer observacao e a media geral”. Os residuos sao grandes porque o modelo ignora completamente o preditor \(x\).
3 Modelo Completo (M1)
3.1 Estrutura
O modelo completo do Exemplo 5.6.3 e uma reta com dois parametros:
\[E(Y_i) = \beta_1 + \beta_2\, x_i\]
3.2 Matriz de Planejamento
X_completo <- cbind(intercepto = 1, x = x)
rownames(X_completo) <- paste0("obs", 1:N)
print(X_completo) intercepto x
obs1 1 -1
obs2 1 -1
obs3 1 0
obs4 1 0
obs5 1 0
obs6 1 0
obs7 1 1
obs8 1 1
obs9 1 1
3.3 Estimativa e Valores Ajustados
mod_completo <- glm(y ~ x,
family = poisson(link = "identity"),
start = c(7, 5))
b1 <- coef(mod_completo)[1]
b2 <- coef(mod_completo)[2]
y_hat_1 <- fitted(mod_completo)| i | x | y | y_hat | residuo |
|---|---|---|---|---|
| 1 | -1 | 2 | 2.516 | -0.516 |
| 2 | -1 | 3 | 2.516 | 0.484 |
| 3 | 0 | 6 | 7.452 | -1.452 |
| 4 | 0 | 7 | 7.452 | -0.452 |
| 5 | 0 | 8 | 7.452 | 0.548 |
| 6 | 0 | 9 | 7.452 | 1.548 |
| 7 | 1 | 10 | 12.387 | -2.387 |
| 8 | 1 | 12 | 12.387 | -0.387 |
| 9 | 1 | 15 | 12.387 | 2.613 |
| b1 = 7.45163, b2 = 4.93530 | gl = N - 2 = 7 | D(M1) = 1.8947 |
Observacao: M1 tem tres valores ajustados distintos — um por nivel de \(x\). Os residuos sao muito menores do que no modelo nulo.
4 Modelo Saturado (M_sat)
4.1 Estrutura
O modelo saturado tem um parametro distinto para cada observacao:
\[E(Y_i) = \mu_i \quad (i = 1, \ldots, N)\]
Nenhuma estrutura e imposta — cada \(\mu_i\) e estimado independentemente.
4.2 Matriz de Planejamento
A matriz \(\mathbf{X}\) do modelo saturado e a matriz identidade \(N \times N\):
\[\mathbf{X}_{M_{\text{sat}}} = \mathbf{I}_{9} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}, \qquad \boldsymbol{\beta} = \begin{bmatrix}\mu_1 \\ \mu_2 \\ \mu_3 \\ \mu_4 \\ \mu_5 \\ \mu_6 \\ \mu_7 \\ \mu_8 \\ \mu_9\end{bmatrix}\]
Cada linha seleciona exatamente um parametro — o correspondente a observacao \(i\).
X_sat <- diag(N)
rownames(X_sat) <- paste0("obs", 1:N)
colnames(X_sat) <- paste0("mu", 1:N)
print(X_sat) mu1 mu2 mu3 mu4 mu5 mu6 mu7 mu8 mu9
obs1 1 0 0 0 0 0 0 0 0
obs2 0 1 0 0 0 0 0 0 0
obs3 0 0 1 0 0 0 0 0 0
obs4 0 0 0 1 0 0 0 0 0
obs5 0 0 0 0 1 0 0 0 0
obs6 0 0 0 0 0 1 0 0 0
obs7 0 0 0 0 0 0 1 0 0
obs8 0 0 0 0 0 0 0 1 0
obs9 0 0 0 0 0 0 0 0 1
4.3 Estimativas e Valores Ajustados
Como cada \(\mu_i\) e estimado livremente, o EMV e simplesmente \(\hat\mu_i = y_i\):
obs_id <- factor(seq_along(y))
mod_sat <- glm(y ~ obs_id,
family = poisson(link = "identity"))
y_hat_sat <- fitted(mod_sat)
anova(mod_nulo,mod_completo, mod_sat, test = "Chisq")Analysis of Deviance Table
Model 1: y ~ 1
Model 2: y ~ x
Model 3: y ~ obs_id
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 8 18.4206
2 7 1.8947 1 16.5260 4.799e-05 ***
3 0 0.0000 7 1.8947 0.9654
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
| i | x | y | y_hat (= y) | residuo |
|---|---|---|---|---|
| 1 | -1 | 2 | 2 | 0 |
| 2 | -1 | 3 | 3 | 0 |
| 3 | 0 | 6 | 6 | 0 |
| 4 | 0 | 7 | 7 | 0 |
| 5 | 0 | 8 | 8 | 0 |
| 6 | 0 | 9 | 9 | 0 |
| 7 | 1 | 10 | 10 | 0 |
| 8 | 1 | 12 | 12 | 0 |
| 9 | 1 | 15 | 15 | 0 |
| gl = N - N = 0 | D(M_sat) = 0.000000 (zero por construcao) |
Por que a deviance e zero? A formula da deviance de Poisson e:
\[D = 2\sum_{i} \left[ y_i \log\frac{y_i}{\hat\mu_i} - (y_i - \hat\mu_i) \right]\]
Quando \(\hat\mu_i = y_i\), cada termo se torna \(y_i \log(1) - 0 = 0\). Logo \(D = 0\).
5 Comparacao dos Tres Modelos
5.1 Tabela Comparativa
| Modelo | Formula | Param. | gl | Deviance | y_hat (obs 1-2) | y_hat (obs 3-6) |
|---|---|---|---|---|---|---|
| M0 (nulo) | E(Yi) = mu | 1 | 8 | 18.4206 | 8.00 | 8.00 |
| M1 (completo) | E(Yi) = b1 + b2*x | 2 | 7 | 1.8947 | 2.52 | 7.45 |
| M_sat (saturado) | E(Yi) = mu_i | 9 | 0 | 0.0000 | 2 / 3 | 6/7/8/9 |
5.2 A Hierarquia de Aninhamento
Os tres modelos formam uma hierarquia estrita:
\[\underbrace{M_0}_{\substack{1 \text{ par.} \\ \text{gl} = 8}} \;\subset\; \underbrace{M_1}_{\substack{2 \text{ par.} \\ \text{gl} = 7}} \;\subset\; \underbrace{M_{\text{sat}}}_{\substack{9 \text{ par.} \\ \text{gl} = 0}}\]
Cada modelo e um caso especial do seguinte. Por isso a deviance so pode diminuir ao longo da hierarquia:
\[D(M_0) = 18{,}42 \;\geq\; D(M_1) = 1{,}89 \;\geq\; D(M_{\text{sat}}) = 0\]
6 A Deviance Como Medida de Distancia
6.1 Por que comparar sempre com o saturado?
A deviance mede a distancia em log-verossimilhança entre o modelo em questao e o melhor ajuste possivel (o saturado):
\[D(M) = 2\,[\,\ell(M_{\text{sat}}) - \ell(M)\,] \geq 0\]
Esta e a mesma logica de uma corrida de atletismo:
| Conceito estatistico | Analogia |
|---|---|
| Modelo saturado M_sat | Linha de chegada (referencia perfeita) |
| Modelo completo M1 | Corredor bem treinado (quase na linha) |
| Modelo nulo M0 | Corredor despreparado (longe da linha) |
| D(M1) = 1.89 | Distancia de M1 ate a chegada (pequena = bom) |
| D(M0) = 18.42 | Distancia de M0 ate a chegada (grande = ruim) |
| deltaD = 16.53 | Distancia entre M0 e M1 (ganho ao acrescentar x) |
6.2 Decomposicao da Deviance
As tres deviances se relacionam por:
\[\underbrace{D(M_0)}_{18{,}42} = \underbrace{D(M_0) - D(M_1)}_{\Delta D = 16{,}53} + \underbrace{D(M_1)}_{1{,}89}\]
- \(\Delta D = 16{,}53\): parte da deviance explicada pelo preditor \(x\)
- \(D(M_1) = 1{,}89\): parte residual nao explicada (ruido)
| Componente | Deviance | gl | % de D(M0) | Pergunta |
|---|---|---|---|---|
| Efeito de x: D(M0) - D(M1) | 16.5260 | 1 | 89.7% | B — x e necessario? |
| Residuo de M1: D(M1) | 1.8947 | 7 | 10.3% | A — M1 ajusta bem? |
| Total: D(M0) | 18.4206 | 8 | 100.0% | — |
O preditor \(x\) explica 89.7% da deviance total do modelo nulo. Apenas 10.3% permanece como residuo nao explicado — confirmando que \(x\) e altamente informativo e que o modelo linear e adequado.
7 Resumo
| Modelo | Ideia central | Matriz X | Papel | Deviance |
|---|---|---|---|---|
| M0 — nulo | Nenhum preditor. Media constante para todos. | Coluna de uns (N x 1) | Referencia inferior (sem informacao alguma) | D(M0) grande |
| M1 — completo | Um ou mais preditores. Estrutura imposta aos dados. | Colunas de uns e preditores (N x p) | Modelo de interesse | D(M1) moderada |
| M_sat — saturado | Um parametro por observacao. Sem estrutura alguma. | Matriz identidade (N x N) | Referencia superior (ajuste perfeito) | D(M_sat) = 0 |
7.1 Referencias
Dobson, A. J. & Barnett, A. G. (2018). An Introduction to Generalized Linear Models (4ª ed.). CRC Press / Chapman & Hall.