igor-millis~/research/negative-binomial
EN/PT
← todos os artigos

Da Poisson à binomial negativa

Escreva a contagem em dois andares — uma taxa Gama para cada unidade, depois Poisson dada a taxa — e a esperança iterada, a variância total e uma integral mostram de onde vem a sobredispersão e por que a resposta é a binomial negativa. Depois, ajuste e simulação para medir o custo de ignorá-la.

Você ajusta um MLG de Poisson a dados de contagem, olha o diagnóstico e descobre que a variância dos dados é três, cinco, dez vezes a média. O manual diz: “há sobredispersão, use a binomial negativa”. Este artigo explica por quê — não como receita, mas como consequência de um raciocínio. A ideia central é escrever a contagem em duas etapas: primeiro a natureza sorteia uma taxa \(Z\) para cada unidade; depois, dada a taxa, a contagem é Poisson. Com duas ferramentas — a esperança iterada \(\mathbb E[\mathbb E[Y \mid Z]]\) e a variância total — e uma integral, a binomial negativa aparece sozinha. No fim, ajustamos os dois modelos a um mesmo conjunto de dados e medimos, por simulação, quanto custa ignorar a sobredispersão. Todos os números saem de um script reprodutível.

O que você precisa saber antes. As distribuições de Poisson e Gama, esperança e variância, e a estrutura de um MLG (componente aleatório, preditor linear, função de ligação). Familiaridade com máxima verossimilhança ajuda nas §10–§11. As demonstrações são feitas linha a linha; dá para lê-las com lápis na mão.

§1O ponto de partida: o MLG de Poisson

Dados de contagem — consultas médicas por ano, sinistros por apólice, defeitos por peça, gols por jogo — são inteiros não negativos. O modelo mais simples para eles é a Poisson:

\[ \Pr(Y = y) = \frac{e^{-\mu}\mu^{y}}{y!}, \qquad y = 0, 1, 2, \dots \](1)

Num MLG de Poisson, cada observação \(i\) tem sua própria média, ligada às covariáveis pelo logaritmo:

\[ Y_i \sim \text{Poisson}(\mu_i), \qquad \log \mu_i = \beta_0 + \beta_1 x_{i1} + \dots + \beta_p x_{ip} = \mathbf x_i^\top \boldsymbol\beta. \](2)

A Poisson tem uma propriedade que define tudo o que vem a seguir: a variância é igual à média,

\[ \mathbb E[Y_i] = \mu_i, \qquad \operatorname{Var}(Y_i) = \mu_i. \](3)

Isso se chama equidispersão. É uma restrição forte: o modelo não tem nenhum parâmetro livre para a variância. Uma vez escolhida a média, a variância está decidida. Na prática, dados reais quase sempre têm variância maior que a média. Esse é o fenômeno da sobredispersão.

§2Como a sobredispersão aparece

Se o modelo (2) estiver certo, os resíduos de Pearson \(r_i = (y_i - \hat\mu_i)/\sqrt{\hat\mu_i}\) têm variância perto de 1, e a soma dos seus quadrados fica perto dos graus de liberdade. Daí a estatística de dispersão:

\[ \hat\phi = \frac{X^2}{n - p} = \frac{1}{n-p}\sum_{i=1}^{n} \frac{(y_i - \hat\mu_i)^2}{\hat\mu_i}, \](4)

em que \(p\) é o número de coeficientes. Sob o modelo Poisson, \(\hat\phi \approx 1\). Um \(\hat\phi\) bem acima de 1 indica sobredispersão (a razão deviance/graus de liberdade conta a mesma história). No exemplo que vamos analisar na §11 — 500 contagens com uma covariável — o ajuste de Poisson dá \(\hat\phi = 3{,}20\): a variância dos dados é cerca de três vezes o que a Poisson admite.

Um gráfico ajuda mais que um número. Ordene as observações pela média ajustada, separe em grupos e, em cada grupo, compare a média com a variância amostral. Sob Poisson, os pontos ficariam em torno da reta \(\operatorname{Var} = \mu\):

variância contra médiaθ̂ = 1,29
Poisson: Var = μquasi-Poisson: Var = 3,20 μBN: Var = μ + μ²/1,29
0510152025300123456média 1,44 · variância 4,01média 1,32 · variância 2,18média 1,82 · variância 5,62média 2,06 · variância 4,71média 2,70 · variância 10,95média 2,14 · variância 4,61média 3,58 · variância 10,74média 3,94 · variância 19,77média 4,64 · variância 15,17média 5,28 · variância 21,55média do grupovariância do grupo
As 500 observações ordenadas pela média ajustada e cortadas em 10 grupos de 50; cada ponto é a média e a variância amostral de um grupo. Os pontos estão todos acima da reta Var = μ. Com 50 pontos por grupo a variância é ruidosa; o que importa é o padrão: a distância até a reta cresce com a média.

Os pontos estão todos acima da reta, e cada vez mais acima conforme a média cresce. A curva cheia,\(\mu + \mu^2/\theta\), é a variância da binomial negativa — chegaremos a ela na §9. Antes, a pergunta importante: por que os dados se comportam assim?

Por que isso importa. Na Poisson, a variância entra direto nos erros-padrão. Se a variância verdadeira é três vezes maior, os erros-padrão do MLG de Poisson ficam cerca de \(\sqrt 3 \approx 1{,}7\) vezes pequenos demais, os intervalos de confiança estreitos demais e os p-valores pequenos demais. Você “descobre” efeitos que não existem. A §12 mede esse estrago.

§3De onde vem a sobredispersão: heterogeneidade não observada

A Poisson surge naturalmente quando eventos raros acontecem independentemente, todos com a mesma taxa. É essa última condição que costuma falhar. Pense em consultas médicas por ano: duas pessoas com a mesma idade, o mesmo sexo e a mesma renda (as covariáveis do modelo) não têm a mesma propensão a ir ao médico. Uma tem uma doença crônica, a outra mora longe do posto, uma terceira é mais ansiosa. Nada disso está nos dados. O modelo atribui às duas a mesma \(\mu_i\), mas as taxas verdadeiras são diferentes.

A forma de formalizar isso é dar a cada unidade uma taxa aleatória. Chame de \(Z\) a taxa que a natureza sorteia para uma unidade. O modelo passa a ter dois andares:

\[ \underbrace{Z \sim \text{Gama}(\alpha, \beta)}_{\text{1º: sorteia a taxa da unidade}} \qquad\longrightarrow\qquad \underbrace{Y \mid Z = z \;\sim\; \text{Poisson}(z)}_{\text{2º: dada a taxa, conta os eventos}} \](5)

Condicionalmente a \(Z\), tudo continua sendo Poisson: a variância é igual à média. Mas nós não observamos \(Z\); observamos só \(Y\). A distribuição que os dados seguem é a marginal de \(Y\) — a Poisson “misturada” sobre todas as taxas possíveis. Toda a pergunta se reduz a: quais são a média, a variância e a distribuição dessa marginal?

Sobre a Gama, uma convenção: usamos forma \(\alpha\) e taxa \(\beta\), com densidade

\[ f_Z(z) = \frac{\beta^{\alpha}}{\Gamma(\alpha)}\, z^{\alpha-1} e^{-\beta z}, \quad z > 0, \qquad \mathbb E[Z] = \frac{\alpha}{\beta}, \qquad \operatorname{Var}(Z) = \frac{\alpha}{\beta^{2}}. \](6)

(Alguns livros e o numpy usam a escala \(1/\beta\) em vez da taxa. As contas são as mesmas, trocando \(\beta\) por \(1/\text{escala}\).) Por que Gama e não outra distribuição? Por enquanto, aceite que ela é flexível (assume valores positivos, com assimetria ajustável) — a §8 mostra a razão mais profunda.

§4Ferramenta 1: a esperança iterada, \(\mathbb E[\mathbb E[Y \mid Z]]\)

A primeira ferramenta é a lei da esperança total (ou esperança iterada):

\[ \mathbb E[Y] = \mathbb E\big[\,\mathbb E[Y \mid Z]\,\big]. \](7)

Leia de dentro para fora. \(\mathbb E[Y \mid Z]\) é a média de \(Y\) se soubéssemos a taxa \(Z\). Como \(Z\) é aleatória, \(\mathbb E[Y \mid Z]\) é uma variável aleatória — uma função de \(Z\). A esperança de fora tira a média dessa função sobre todos os valores possíveis de \(Z\). Em palavras: a média geral é a média das médias condicionais.

Demonstração (para \(Y\) discreta e \(Z\) contínua, nosso caso). Escreva \(p(y \mid z) = \Pr(Y = y \mid Z = z)\). Então \(\mathbb E[Y \mid Z = z] = \sum_y y\, p(y \mid z)\) e

\[ \begin{aligned} \mathbb E\big[\mathbb E[Y \mid Z]\big] &= \int_0^\infty \Big(\sum_{y} y\, p(y \mid z)\Big) f_Z(z)\, dz \\ &= \sum_{y} y \int_0^\infty p(y \mid z)\, f_Z(z)\, dz \\ &= \sum_{y} y\, \Pr(Y = y) \;=\; \mathbb E[Y]. \end{aligned} \](8)

Na segunda linha trocamos a soma com a integral (pode, porque todos os termos são não negativos — teorema de Tonelli). O passo seguinte usa a lei da probabilidade total: \(\Pr(Y = y) = \int p(y \mid z) f_Z(z)\,dz\). Guarde essa integral — ela vai reaparecer na §7 para dar a distribuição inteira de \(Y\).

§5Ferramenta 2: a lei da variância total

A média sozinha não revela sobredispersão; precisamos da variância. A lei da variância total diz:

\[ \operatorname{Var}(Y) = \underbrace{\mathbb E\big[\operatorname{Var}(Y \mid Z)\big]}_{\text{variação dentro}} + \underbrace{\operatorname{Var}\big(\mathbb E[Y \mid Z]\big)}_{\text{variação entre}}. \](9)

Demonstração. Parta de \(\operatorname{Var}(Y) = \mathbb E[Y^2] - (\mathbb E[Y])^2\) e aplique (7) aos dois termos — a esperança iterada vale para qualquer função de \(Y\), inclusive \(Y^2\):

\[ \begin{aligned} \operatorname{Var}(Y) &= \mathbb E\big[\mathbb E[Y^2 \mid Z]\big] - \big(\mathbb E\big[\mathbb E[Y \mid Z]\big]\big)^2 \\ &= \mathbb E\Big[\operatorname{Var}(Y \mid Z) + \big(\mathbb E[Y \mid Z]\big)^2\Big] - \big(\mathbb E\big[\mathbb E[Y \mid Z]\big]\big)^2 \\ &= \mathbb E\big[\operatorname{Var}(Y \mid Z)\big] + \Big\{\mathbb E\big[(\mathbb E[Y \mid Z])^2\big] - \big(\mathbb E\big[\mathbb E[Y \mid Z]\big]\big)^2\Big\} \\ &= \mathbb E\big[\operatorname{Var}(Y \mid Z)\big] + \operatorname{Var}\big(\mathbb E[Y \mid Z]\big). \end{aligned} \](10)

Na segunda linha usamos, condicionalmente a \(Z\), a identidade \(\mathbb E[Y^2 \mid Z] = \operatorname{Var}(Y \mid Z) + (\mathbb E[Y \mid Z])^2\). Na terceira, a chave é reconhecer que a expressão entre chaves é a variância da variável aleatória \(\mathbb E[Y \mid Z]\).

A interpretação é o coração do argumento. A variância de \(Y\) tem duas fontes: o ruído dentro de cada unidade (mesmo sabendo a taxa, a contagem varia — é o ruído Poisson) e a diferença entre as unidades (as taxas variam de uma unidade para outra). O MLG de Poisson só enxerga a primeira.

§6Aplicando as duas leis: a sobredispersão aparece sozinha

No modelo (5), dado \(Z\), \(Y\) é Poisson com média \(Z\). Então

\[ \mathbb E[Y \mid Z] = Z, \qquad \operatorname{Var}(Y \mid Z) = Z. \](11)

A média. Pela esperança iterada (7):

\[ \mathbb E[Y] = \mathbb E\big[\mathbb E[Y \mid Z]\big] = \mathbb E[Z] = \frac{\alpha}{\beta}. \](12)

A variância. Pela variância total (9):

\[ \operatorname{Var}(Y) = \mathbb E[\underbrace{\operatorname{Var}(Y \mid Z)}_{=\,Z}] + \operatorname{Var}(\underbrace{\mathbb E[Y \mid Z]}_{=\,Z}) = \mathbb E[Z] + \operatorname{Var}(Z) = \frac{\alpha}{\beta} + \frac{\alpha}{\beta^2}. \](13)

Compare com a média:

\[ \operatorname{Var}(Y) - \mathbb E[Y] = \operatorname{Var}(Z) = \frac{\alpha}{\beta^2} \;\gt\; 0. \](14)

Esse é o resultado principal do artigo, e vale a pena lê-lo devagar. O excesso de variância é exatamente a variância das taxas. Se todas as unidades tivessem a mesma taxa (\(\operatorname{Var}(Z) = 0\)), voltaríamos à equidispersão. Qualquer heterogeneidade não observada, por menor que seja, empurra a variância para cima da média. Repare também que (14) não usou nada específico da Gama além de \(\operatorname{Var}(Z)\): toda mistura de Poissons é sobredispersa. A Gama só vai entrar para darmos nome à distribuição resultante.

Dá para conferir isso sem acreditar em nenhuma conta: basta simular o experimento em duas etapas. Com \(\alpha = 2\) e \(\beta = 0{,}5\), as fórmulas preveem \(\mathbb E[Y] = 4\) e \(\operatorname{Var}(Y) = 4 + 8 = 12\):

import numpy as np
rng = np.random.default_rng(20261109)
alpha, beta = 2.0, 0.5
z = rng.gamma(shape=alpha, scale=1/beta, size=1_000_000)   # 1ª etapa: uma taxa por unidade
y = rng.poisson(z)                                          # 2ª etapa: Poisson dada a taxa
print(y.mean(), y.var())                                    # ≈ 4 e ≈ 12
quantidadefórmulateoriasimulaçãoPoisson(4)
\(\mathbb E[Z]\)\(\alpha/\beta\)43,999—
\(\operatorname{Var}(Z)\)\(\alpha/\beta^2\)87,967—
\(\mathbb E[Y]\)\(\mathbb E[\mathbb E[Y\mid Z]] = \mathbb E[Z]\)44,0004
\(\operatorname{Var}(Y)\)\(\mathbb E[Z] + \operatorname{Var}(Z)\)1211,9914
\(\Pr(Y = 0)\)\(p^{\alpha} = (1/3)^2\)0,11110,11090,0183
\(\Pr(Y \ge 10)\)—0,07510,07520,0081

\(\alpha = 2\), \(\beta = 0{,}5\) (taxa), \(p = \beta/(1+\beta) = 1/3\). A variância de \(Y\) é a da Poisson (4) mais a variância de \(Z\) (8): a heterogeneidade triplica a variância sem mexer na média.

§7A distribuição marginal: a integral que dá a binomial negativa

Média e variância já explicam a sobredispersão, mas para ajustar um modelo por máxima verossimilhança precisamos da distribuição de \(Y\). Ela vem da lei da probabilidade total — a mesma integral que apareceu dentro da demonstração (8):

\[ \begin{aligned} \Pr(Y = y) &= \int_0^\infty \Pr(Y = y \mid Z = z)\, f_Z(z)\, dz \\ &= \int_0^\infty \frac{e^{-z} z^{y}}{y!} \cdot \frac{\beta^{\alpha}}{\Gamma(\alpha)}\, z^{\alpha-1} e^{-\beta z}\, dz. \end{aligned} \](15)

Passo 1 — tire da integral o que não depende de \(z\) e junte as potências:

\[ \Pr(Y = y) = \frac{\beta^{\alpha}}{y!\,\Gamma(\alpha)} \int_0^\infty z^{\,y + \alpha - 1}\, e^{-(\beta + 1) z}\, dz. \](16)

Passo 2 — reconheça o núcleo de uma Gama. O integrando é, a menos da constante, a densidade de uma \(\text{Gama}(y + \alpha,\; \beta + 1)\). Como toda densidade integra 1,

\[ \int_0^\infty z^{\,a - 1} e^{-b z}\, dz = \frac{\Gamma(a)}{b^{a}} \qquad\Longrightarrow\qquad \int_0^\infty z^{\,y + \alpha - 1} e^{-(\beta+1) z}\, dz = \frac{\Gamma(y + \alpha)}{(\beta + 1)^{y + \alpha}}. \](17)

Passo 3 — substitua e reorganize:

\[ \begin{aligned} \Pr(Y = y) &= \frac{\Gamma(y + \alpha)}{\Gamma(\alpha)\, y!} \cdot \frac{\beta^{\alpha}}{(\beta+1)^{\alpha}} \cdot \frac{1}{(\beta+1)^{y}} \\ &= \frac{\Gamma(y + \alpha)}{\Gamma(\alpha)\, y!} \left(\frac{\beta}{\beta+1}\right)^{\!\alpha} \left(\frac{1}{\beta+1}\right)^{\!y}. \end{aligned} \](18)

Passo 4 — dê nome. Defina \(p = \beta/(\beta + 1)\), de modo que \(1 - p = 1/(\beta+1)\), e \(r = \alpha\). Então

\[ \boxed{\;\Pr(Y = y) = \frac{\Gamma(y + r)}{\Gamma(r)\, y!}\; p^{\,r} (1 - p)^{y}, \qquad y = 0, 1, 2, \dots\;} \](19)

Essa é a binomial negativa \(\text{BN}(r, p)\). Quando \(r\) é inteiro, \(\Gamma(y + r)/(\Gamma(r)\,y!) = \binom{y + r - 1}{y}\) e (19) é a distribuição clássica do número de fracassos antes do \(r\)-ésimo sucesso em ensaios de Bernoulli com probabilidade \(p\). Aqui \(r = \alpha\) pode ser qualquer real positivo; a fórmula com funções Gama é a extensão natural. O nome “negativa” vem da série binomial com expoente negativo, \((1 - q)^{-r} = \sum_y \binom{y + r - 1}{y} q^y\), que mostra de uma vez que (19) soma 1.

Conferindo os momentos com as fórmulas da BN, \(\mathbb E[Y] = r(1-p)/p\) e \(\operatorname{Var}(Y) = r(1-p)/p^2\):

\[ \begin{aligned} \mathbb E[Y] &= \alpha \cdot \frac{1/(\beta+1)}{\beta/(\beta+1)} = \frac{\alpha}{\beta}, \\ \operatorname{Var}(Y) &= \alpha \cdot \frac{1/(\beta+1)}{\beta^2/(\beta+1)^2} = \frac{\alpha(\beta+1)}{\beta^2} = \frac{\alpha}{\beta} + \frac{\alpha}{\beta^2}, \end{aligned} \](20)

exatamente (12) e (13). Os dois caminhos — momentos pela esperança iterada e distribuição pela integral — chegam ao mesmo lugar. E a simulação concorda, ponto a ponto:

a mistura Poisson–Gama, simuladaE[Y] = 4
simulado: Z ~ Gama(2; 0,5), depois Y | Z ~ Poisson(Z)binomial negativa(r = 2, p = 1/3), fórmula fechadaPoisson(4) — mesma média
0,000,050,100,150,20k = 0 · simulado 0,11090k = 1 · simulado 0,1480k = 2 · simulado 0,14822k = 3 · simulado 0,1315k = 4 · simulado 0,11044k = 5 · simulado 0,0878k = 6 · simulado 0,06826k = 7 · simulado 0,0520k = 8 · simulado 0,03898k = 9 · simulado 0,0288k = 10 · simulado 0,021310k = 11 · simulado 0,0154k = 12 · simulado 0,011112k = 13 · simulado 0,0080k = 14 · simulado 0,005614k = 15 · simulado 0,0041k = 16 · simulado 0,002916k = 17 · simulado 0,0021k = 18 · simulado 0,001518k = 19 · simulado 0,0010k = 20 · simulado 0,000720yk = 0 · BN 0,1111k = 1 · BN 0,1481k = 2 · BN 0,1481k = 3 · BN 0,1317k = 4 · BN 0,1097k = 5 · BN 0,0878k = 6 · BN 0,0683k = 7 · BN 0,0520k = 8 · BN 0,0390k = 9 · BN 0,0289k = 10 · BN 0,0212k = 11 · BN 0,0154k = 12 · BN 0,0111k = 13 · BN 0,0080k = 14 · BN 0,0057k = 15 · BN 0,0041k = 16 · BN 0,0029k = 17 · BN 0,0020k = 18 · BN 0,0014k = 19 · BN 0,0010k = 20 · BN 0,0007
1.000.000 repetições do experimento em duas etapas. A maior diferença entre a frequência simulada e a fórmula da binomial negativa em qualquer \(k\) é 0,0006 — ruído de Monte Carlo. A Poisson com a mesma média é estreita demais: pouca massa no zero, quase nada na cauda.

Um atalho: a função geradora de probabilidades

A esperança iterada dá também um caminho sem integrar densidades. A função geradora de probabilidades de \(Y\) é \(G_Y(s) = \mathbb E[s^{Y}]\). Condicionando em \(Z\) e usando a da Poisson, \(\mathbb E[s^{Y} \mid Z] = e^{Z(s-1)}\):

\[ \begin{aligned} G_Y(s) &= \mathbb E\big[\mathbb E[s^{Y} \mid Z]\big] = \mathbb E\big[e^{(s-1) Z}\big] = M_Z(s - 1) \\ &= \left(\frac{\beta}{\beta - (s-1)}\right)^{\!\alpha} = \left(\frac{p}{1 - (1-p)s}\right)^{\!\alpha}, \end{aligned} \](21)

em que \(M_Z(t) = (\beta/(\beta - t))^{\alpha}\) é a geradora de momentos da Gama. O último termo é a geradora da \(\text{BN}(\alpha, p)\). Mesmo resultado, agora com \(\mathbb E[\mathbb E[\,\cdot \mid Z]]\) fazendo todo o trabalho.

§8Por que justamente a Gama?

A §6 mostrou que qualquer distribuição para \(Z\) gera sobredispersão. A Gama é escolhida porque ela é a conjugada da Poisson: o produto “Poisson × Gama” dentro da integral (15) é outra Gama, e a integral tem forma fechada. Com uma lognormal para \(Z\), por exemplo, o modelo Poisson-lognormal é perfeitamente razoável, mas \(\Pr(Y = y)\) só sai por integração numérica.

A conjugação tem um bônus. Pela regra de Bayes, a distribuição da taxa de uma unidade depois de observar sua contagem é

\[ \begin{gathered} f(z \mid y) \;\propto\; \underbrace{e^{-z} z^{y}}_{\text{Poisson}}\cdot\underbrace{z^{\alpha-1}e^{-\beta z}}_{\text{Gama}} = z^{\,\alpha + y - 1} e^{-(\beta+1) z} \\ \Longrightarrow\quad Z \mid Y = y \;\sim\; \text{Gama}(\alpha + y,\; \beta + 1), \end{gathered} \](22)

com média

\[ \mathbb E[Z \mid Y = y] = \frac{\alpha + y}{\beta + 1} = \underbrace{\frac{1}{\beta+1}}_{w}\, y + \underbrace{\frac{\beta}{\beta+1}}_{1 - w}\, \frac{\alpha}{\beta}. \](23)

A melhor estimativa da taxa de uma unidade é uma média ponderada entre o que ela mostrou (\(y\)) e a média da população (\(\alpha/\beta\)). É o princípio da credibilidade em seguros: um segurado com muitos sinistros paga mais, mas não proporcionalmente ao seu histórico curto.

§9Do modelo de mistura ao MLG binomial negativo

Até aqui havia uma única população. Num MLG cada observação tem sua média \(\mu_i = \exp(\mathbf x_i^\top \boldsymbol\beta)\). Para acomodar isso, escreva a taxa da unidade \(i\) como a média do modelo vezes um efeito multiplicativo não observado:

\[ Y_i \mid \varepsilon_i \sim \text{Poisson}(\mu_i\, \varepsilon_i), \quad \varepsilon_i \sim \text{Gama}(\theta, \theta), \quad \mathbb E[\varepsilon_i] = 1, \quad \operatorname{Var}(\varepsilon_i) = \frac{1}{\theta}. \](24)

Forma e taxa iguais a \(\theta\) fazem \(\mathbb E[\varepsilon_i] = 1\). Isso não é arbitrário: se \(\varepsilon_i\) tivesse média \(c \ne 1\), \(c\) seria absorvido pelo intercepto \(\beta_0\) e não daria para separá-los. Fixar a média em 1 garante que \(\mu_i\) continua sendo a média de \(Y_i\). Note que \(Z_i = \mu_i \varepsilon_i \sim \text{Gama}(\theta, \theta/\mu_i)\): é o modelo (5) com \(\alpha = \theta\) e \(\beta = \theta/\mu_i\). Substituindo em (12), (13) e (19):

\[ \begin{gathered} \mathbb E[Y_i] = \mu_i, \qquad \operatorname{Var}(Y_i) = \mu_i + \frac{\mu_i^2}{\theta}, \\ \Pr(Y_i = y) = \frac{\Gamma(y + \theta)}{\Gamma(\theta)\, y!}\left(\frac{\theta}{\theta + \mu_i}\right)^{\!\theta}\left(\frac{\mu_i}{\theta + \mu_i}\right)^{\!y}. \end{gathered} \](25)

A conta da variância, de novo pela lei da variância total: \(\mathbb E[\mu_i\varepsilon_i] + \operatorname{Var}(\mu_i\varepsilon_i) = \mu_i + \mu_i^2/\theta\). O termo \(\mu_i^2/\theta\) é o excesso; ele cresce com o quadrado da média, por isso a curva cheia da figura da §2 se afasta da reta. Essa versão se chama NB2 (variância quadrática na média) e é a padrão em quase todo software.

O parâmetro \(\theta\) controla a heterogeneidade. Muitos textos usam \(\kappa = 1/\theta\) (o alpha do statsmodels; o R reporta theta). \(\theta\) pequeno = taxas muito diferentes entre unidades = muita sobredispersão. E quando \(\theta \to \infty\), \(\operatorname{Var}(\varepsilon_i) \to 0\), todas as unidades têm a mesma taxa e deveríamos recuperar a Poisson. De fato, reescrevendo (25):

\[ \Pr(Y_i = y) = \underbrace{\frac{\theta(\theta+1)\cdots(\theta+y-1)}{(\theta + \mu_i)^{y}}}_{\to\, 1} \cdot \frac{\mu_i^{\,y}}{y!} \cdot \underbrace{\Big(1 + \frac{\mu_i}{\theta}\Big)^{-\theta}}_{\to\, e^{-\mu_i}} \;\xrightarrow[\theta \to \infty]{}\; \frac{e^{-\mu_i}\mu_i^{\,y}}{y!}. \](26)

A Poisson é um caso-limite da binomial negativa. Essa relação de “modelos encaixados” vai nos dar um teste na §11.

§10A binomial negativa é um MLG?

Um MLG exige que a distribuição pertença à família exponencial. Com \(\theta\) fixo, a BN pertence. Tome o logaritmo de (25):

\[ \log \Pr(Y = y) = y \underbrace{\log\frac{\mu}{\mu + \theta}}_{\vartheta} \;+\; \theta \log\frac{\theta}{\mu + \theta} \;+\; \log\frac{\Gamma(y+\theta)}{\Gamma(\theta)\,y!}. \](27)

Com o parâmetro canônico \(\vartheta = \log(\mu/(\mu+\theta))\), temos \(1 - e^{\vartheta} = \theta/(\mu + \theta)\), e a forma é \(y\vartheta - b(\vartheta) + c(y)\) com \(b(\vartheta) = -\theta \log(1 - e^{\vartheta})\). As derivadas de \(b\) devolvem média e variância, como deve ser numa família exponencial:

\[ b'(\vartheta) = \frac{\theta e^{\vartheta}}{1 - e^{\vartheta}} = \mu, \qquad b''(\vartheta) = \frac{\theta e^{\vartheta}}{(1 - e^{\vartheta})^2} = \mu + \frac{\mu^2}{\theta} = V(\mu). \](28)

A ligação canônica seria \(\log(\mu/(\mu+\theta))\), que depende de \(\theta\) e é pouco interpretável; na prática usa-se a ligação log, \(\log\mu_i = \mathbf x_i^\top\boldsymbol\beta\), a mesma da Poisson. Assim os coeficientes têm a mesma leitura nos dois modelos: \(e^{\beta_j}\) é a razão de médias para um aumento de uma unidade em \(x_j\).

Estimação

Para \(\theta\) fixo, \(\boldsymbol\beta\) sai pelo algoritmo usual dos MLGs, mínimos quadrados reponderados iterativamente (IRLS). Com ligação log, \(d\mu/d\eta = \mu\), e os pesos e as equações de escore ficam

\[ w_i = \frac{(d\mu_i/d\eta_i)^2}{V(\mu_i)} = \frac{\mu_i}{1 + \mu_i/\theta}, \qquad U(\boldsymbol\beta) = \sum_{i=1}^n \frac{y_i - \mu_i}{1 + \mu_i/\theta}\, \mathbf x_i = \mathbf 0. \](29)

Compare com a Poisson, cujo escore é \(\sum_i (y_i - \mu_i)\,\mathbf x_i = \mathbf 0\) e cujos pesos são \(w_i = \mu_i\). A BN dá menos peso às observações de média alta, justamente as mais ruidosas. Para \(\theta\), maximiza-se a log-verossimilhança com \(\boldsymbol\beta\) fixo e alterna-se entre os dois passos até convergir (é o que faz o MASS::glm.nb do R). Como \(\mathbb E[\partial^2\ell/\partial\boldsymbol\beta\,\partial\theta] = 0\), as estimativas de \(\boldsymbol\beta\) e \(\theta\) são assintoticamente independentes, e a matriz de covariância de \(\hat{\boldsymbol\beta}\) é \((\mathbf X^\top \mathbf W \mathbf X)^{-1}\) com os pesos (29).

O que exatamente a Poisson erra

A equação de escore da Poisson tem esperança zero sempre que a média estiver certa, \(\mathbb E[Y_i] = \mu_i\) — não importa a variância. Por isso \(\hat{\boldsymbol\beta}_{\text{Poisson}}\) continua consistente sob sobredispersão. O erro está na incerteza. O MLG de Poisson reporta \((\mathbf X^\top \operatorname{diag}(\mu_i)\,\mathbf X)^{-1}\), que pressupõe \(\operatorname{Var}(Y_i) = \mu_i\). A covariância verdadeira do estimador é o “sanduíche”

\[ \operatorname{Cov}(\hat{\boldsymbol\beta}_{\text{P}}) \approx (\mathbf X^\top \mathbf M \mathbf X)^{-1}\; \mathbf X^\top \operatorname{diag}\!\Big(\mu_i + \frac{\mu_i^2}{\theta}\Big) \mathbf X\; (\mathbf X^\top \mathbf M \mathbf X)^{-1}, \](30)

com \(\mathbf M = \operatorname{diag}(\mu_i)\), maior que a reportada. Há três caminhos para corrigir:

  1. Quasi-Poisson: supõe \(\operatorname{Var}(Y_i) = \phi\,\mu_i\) e multiplica os erros-padrão por \(\sqrt{\hat\phi}\). Mantém as estimativas da Poisson. Simples, mas a forma da variância (proporcional à média) pode estar errada, e não há verossimilhança (sem AIC, sem probabilidades previstas).
  2. Erros-padrão robustos (sanduíche): estimam (30) sem supor forma para a variância. Bons com \(n\) grande.
  3. Binomial negativa: modela a variância explicitamente com (25). Tem verossimilhança completa, dá probabilidades para cada contagem e é mais eficiente quando o modelo está certo.

§11Um exemplo completo

Simulamos \(n = 500\) contagens exatamente pelo caminho de (24): uma covariável \(x_i \sim \mathcal N(0, 1)\), \(\log\mu_i = 1 + 0{,}5\,x_i\), um efeito \(\varepsilon_i \sim \text{Gama}(1{,}5;\ 1{,}5)\) para cada unidade e \(Y_i \mid \varepsilon_i \sim \text{Poisson}(\mu_i\varepsilon_i)\). Como a simulação é nossa, sabemos a resposta: \(\beta_0 = 1\), \(\beta_1 = 0{,}5\), \(\theta = 1{,}5\). Depois ajustamos Poisson, quasi-Poisson e binomial negativa:

Poissonquasi-Poissonbinomial negativa
\(\beta_0\) (verdadeiro 1)1,028 (0,027)1,028 (0,049)1,026 (0,048)
\(\beta_1\) (verdadeiro 0,5)0,463 (0,028)0,463 (0,051)0,478 (0,053)
IC 95% para \(\beta_1\)[0,407; 0,518][0,363; 0,562][0,375; 0,581]
\(\theta\) (verdadeiro 1,5)\(\infty\) (fixo)—1,289 (0,134)
\(\hat\phi\) = Pearson \(X^2\)/g.l.1.593,8/498 = 3,203,20 (estimado)508,6/497 = 1,02
deviance/g.l.1.489,7/498 = 2,99—553,6/497 = 1,11
log-verossimilhança-1.295,4— (não há)-1.070,4
AIC2.594,9—2.146,9

n = 500 contagens simuladas com \(\log\mu_i = 1 + 0{,}5\,x_i\) e \(\theta = 1{,}5\). Entre parênteses, erros-padrão. Média amostral de \(y\): 2,89; variância: 11,49; zeros: 124. A quasi-Poisson tem as mesmas estimativas da Poisson, só multiplica os erros-padrão por \(\sqrt{\hat\phi}\).

Leia a tabela por linhas:

  • As estimativas pontuais quase coincidem (\(\hat\beta_1 = 0{,}463\) na Poisson, \(0{,}478\) na BN). Era o esperado: as duas equações de escore são não viesadas quando a média está certa.
  • Os erros-padrão não. O da Poisson para \(\beta_1\) é \(0{,}028\); o da BN, \(0{,}053\) — quase o dobro. O intervalo de 95% da Poisson, \([0{,}407;\ 0{,}518]\), contém o valor verdadeiro 0,5, mas tem pouco mais da metade da largura do intervalo da BN, \([0{,}375;\ 0{,}581]\): promete uma precisão que os dados não têm. Nesta amostra deu certo; a §12 mostra quantas vezes falha.
  • O diagnóstico de dispersão vai de 3,20 na Poisson para 1,02 na BN: depois de modelar a heterogeneidade, os resíduos de Pearson voltam a ter variância 1.
  • \(\hat\theta = 1{,}29\) (erro-padrão 0,13), compatível com o verdadeiro 1,5.
  • AIC cai de 2594,9 para 2146,9 — uma diferença enorme por um único parâmetro extra.

Teste da razão de verossimilhanças: \(H_0\colon\) Poisson

Como a Poisson é o limite \(\theta \to \infty\) da BN (26), podemos testar \(H_0\colon \kappa = 1/\theta = 0\) pela razão de verossimilhanças:

\[ \text{RV} = 2\big(\ell_{\text{BN}} - \ell_{\text{P}}\big) = 2\big(-1070{,}4 - (-1295{,}4)\big) = 450{,}0. \](31)

Um detalhe que muitos esquecem: \(\kappa = 0\) está na fronteira do espaço paramétrico (\(\kappa\) não pode ser negativo). Nesse caso a distribuição nula de RV não é \(\chi^2_1\), e sim uma mistura meio a meio de uma massa em zero e de \(\chi^2_1\). Na prática: divida por 2 o p-valor da \(\chi^2_1\). Aqui isso não muda nada — o p-valor fica abaixo de \(10^{-99}\) —, mas em casos limítrofes muda.

As frequências

O teste mais concreto é comparar quantas observações de cada valor o modelo previa com quantas apareceram:

frequências observadas × esperadasn = 500
observadoesperado · Poissonesperado · binomial negativa
020406080100120y = 0 · observado 124 · Poisson 48,5 · BN 124,70y = 1 · observado 108 · Poisson 94,7 · BN 101,01y = 2 · observado 67 · Poisson 105,5 · BN 74,32y = 3 · observado 54 · Poisson 89,1 · BN 53,63y = 4 · observado 33 · Poisson 63,9 · BN 38,54y = 5 · observado 35 · Poisson 41,3 · BN 27,75y = 6 · observado 16 · Poisson 25,0 · BN 20,16y = 7 · observado 13 · Poisson 14,5 · BN 14,77y = 8 · observado 11 · Poisson 8,2 · BN 10,88y = 9 · observado 8 · Poisson 4,5 · BN 8,19y = 10 · observado 9 · Poisson 2,4 · BN 6,010y = 11 · observado 7 · Poisson 1,2 · BN 4,611y = 12 · observado 4 · Poisson 0,6 · BN 3,512y = 13 · observado 2 · Poisson 0,3 · BN 2,613y = 14 · observado 2 · Poisson 0,2 · BN 2,014y = 15 · observado 1 · Poisson 0,1 · BN 1,615y = 16+ · observado 6 · Poisson 0,1 · BN 6,116+y
Esperado = \(\sum_i \Pr(Y_i = k \mid \hat\mu_i)\) somado sobre as 500 observações. A Poisson prevê 48,5 zeros (houve 124) e 0,06 valores \(\ge 16\) (houve 6); compensa empilhando massa no meio. A binomial negativa prevê 124,7 zeros e 6,1 na cauda.

A Poisson erra exatamente onde a teoria diz que erraria. A mistura espalha massa para os dois lados: unidades com taxa baixa geram zeros demais, unidades com taxa alta geram valores altos demais. A Poisson, presa a \(\operatorname{Var} = \mu\), não consegue fazer as duas coisas e concentra tudo no meio. Muito do que se chama “excesso de zeros” é só isso — sobredispersão — e a BN resolve sem precisar de um modelo inflacionado de zeros.

§12Quanto custa ignorar a sobredispersão

Um exemplo é uma amostra. Para medir o comportamento dos métodos, repetimos o experimento 2.000 vezes para cada nível de heterogeneidade: geramos dados com \(n = 200\), ajustamos os três modelos e verificamos se o intervalo de Wald de 95% para \(\beta_1\) contém o valor verdadeiro 0,5. Um bom método acerta 95% das vezes.

\(\theta\) verdadeiroPoissonquasi-Poissonbinomial negativadesvio real de \(\hat\beta_1\) (P / BN)
\(\infty\) (Poisson)95,5% · 0,16095,6% · 0,15996,0% · 0,1630,040 / 0,040
\(10\)89,2% · 0,16093,3% · 0,18294,3% · 0,1880,050 / 0,050
\(2\)73,0% · 0,16092,1% · 0,25495,2% · 0,2670,072 / 0,067
\(0,5\)48,1% · 0,16188,6% · 0,42093,7% · 0,4370,132 / 0,116

2.000 conjuntos de dados por linha, n = 200, \(\log\mu = 1 + 0{,}5x\). Cada célula: cobertura do IC de Wald de 95% para \(\beta_1\) · largura média. Erro de Monte Carlo da cobertura: ± 0,5 p.p. A última coluna é o desvio-padrão de \(\hat\beta_1\) entre os conjuntos: o que um bom erro-padrão deveria estimar.

Quatro conclusões:

  1. Com dados Poisson (\(\theta = \infty\)), os três acertam. A BN não custa nada aqui: \(\hat\theta\) simplesmente vai para valores enormes e o modelo vira Poisson. Usar BN “por precaução” é barato.
  2. A Poisson piora rapidamente com a heterogeneidade. Com \(\theta = 2\) (taxas com desvio-padrão de 71% em torno da média), o intervalo de “95%” cobre 73%; com \(\theta = 0{,}5\), menos da metade das vezes. Um teste de nível 5% rejeitaria \(H_0\) verdadeira mais de 50% das vezes.
  3. A quasi-Poisson ajuda muito, mas não totalmente. Ela corrige o tamanho médio da variância, não a forma: supõe \(\operatorname{Var} \propto \mu\) quando a verdadeira é \(\mu + \mu^2/\theta\). Com \(\theta = 0{,}5\), cobre 88,6%.
  4. A BN fica perto de 95% em todos os casos e, além disso, é mais eficiente: o desvio-padrão real de \(\hat\beta_1\) é menor com a BN (0,116 contra 0,132 da Poisson com \(\theta = 0{,}5\)) porque os pesos (29) dão menos importância às observações mais ruidosas.

§13Na prática: Python e R

import statsmodels.api as sm
import statsmodels.formula.api as smf

pois = smf.glm("y ~ x", data=df, family=sm.families.Poisson()).fit()
phi = pois.pearson_chi2 / pois.df_resid                 # dispersão (4): perto de 1?

quasi = smf.glm("y ~ x", data=df, family=sm.families.Poisson()).fit(scale="X2")   # quasi-Poisson
robust = smf.glm("y ~ x", data=df, family=sm.families.Poisson()).fit(cov_type="HC0")  # sanduíche (30)

nb = smf.negativebinomial("y ~ x", data=df).fit()      # NB2; reporta alpha = 1/theta
lr = 2 * (nb.llf - pois.llf)                            # p-valor: chi2(1) dividido por 2
print(nb.summary())
pois  <- glm(y ~ x, family = poisson, data = d)
sum(residuals(pois, type = "pearson")^2) / df.residual(pois)   # dispersão

quasi <- glm(y ~ x, family = quasipoisson, data = d)

library(MASS)
nb <- glm.nb(y ~ x, data = d)          # reporta theta (= 1/alpha)
lr <- 2 * (logLik(nb) - logLik(pois))
pchisq(lr, df = 1, lower.tail = FALSE) / 2   # teste na fronteira

Atenção às parametrizações: o R reporta \(\theta\); o statsmodels reporta \(\alpha = 1/\theta\); alguns textos chamam \(1/\theta\) de \(k\) ou \(\kappa\). É sempre o mesmo modelo (25).

§14Cuidados

  • Primeiro acerte a média. Uma covariável importante esquecida, uma interação ausente ou uma relação não linear também produzem \(\hat\phi \gt 1\). A sobredispersão pode ser sintoma de um preditor linear errado; a BN “absorve” o problema, mas os coeficientes continuam errados.
  • Excesso de zeros de verdade. Se há um processo que gera zeros estruturais (quem nunca fuma tem zero cigarros, sempre), nem a BN dá conta; modelos inflacionados de zeros ou hurdle separam os dois processos. Compare as frequências de zero, como na §11, antes de concluir.
  • Dependência. Observações agrupadas (alunos na mesma escola, medidas repetidas no mesmo paciente) geram sobredispersão que não é heterogeneidade individual. Aí o caminho é um modelo misto (efeito aleatório por grupo) ou GEE.
  • NB1 × NB2. Se a variância cresce linearmente com a média, \(\operatorname{Var} = \mu(1 + \delta)\), a NB1 ou a quasi-Poisson descrevem melhor. Um gráfico como o da §2 indica qual forma é mais compatível com os dados.
  • Subdispersão (\(\hat\phi \lt 1\)) existe, mas é rara; a mistura nunca a produz, por (14). Quando aparece, pense em processos regulares (contagens com teto, eventos que se inibem) e em modelos como Conway–Maxwell–Poisson ou binomial.

§15Resumo

  1. O MLG de Poisson impõe \(\operatorname{Var}(Y_i) = \mu_i\). Dados reais costumam ter variância maior; o diagnóstico é \(\hat\phi = X^2/(n-p) \gt 1\).
  2. A causa mais comum é heterogeneidade não observada: unidades com as mesmas covariáveis têm taxas diferentes. Modelamos isso em dois andares: \(Z \sim \text{Gama}(\alpha, \beta)\) e \(Y \mid Z \sim \text{Poisson}(Z)\).
  3. A esperança iterada dá \(\mathbb E[Y] = \mathbb E[\mathbb E[Y \mid Z]] = \mathbb E[Z]\). A variância total dá \(\operatorname{Var}(Y) = \mathbb E[Z] + \operatorname{Var}(Z)\). Logo \(\operatorname{Var}(Y) - \mathbb E[Y] = \operatorname{Var}(Z) \gt 0\): o excesso de variância é a variância das taxas.
  4. Integrando a Poisson contra a Gama, a marginal é a binomial negativa \(\text{BN}(r = \alpha,\; p = \beta/(1+\beta))\). A Gama é escolhida por ser conjugada: a integral tem forma fechada.
  5. Para o MLG, \(Y_i \mid \varepsilon_i \sim \text{Poisson}(\mu_i\varepsilon_i)\) com \(\varepsilon_i \sim \text{Gama}(\theta, \theta)\), o que dá \(\mathbb E[Y_i] = \mu_i\) e \(\operatorname{Var}(Y_i) = \mu_i + \mu_i^2/\theta\). Quando \(\theta \to \infty\), volta-se à Poisson.
  6. Com \(\theta\) fixo a BN é família exponencial, então é um MLG. Usa-se ligação log, os coeficientes têm a mesma leitura da Poisson, e \(\theta\) é estimado por máxima verossimilhança.
  7. Ignorar a sobredispersão não vicia as estimativas, mas encolhe os erros-padrão: na simulação, o IC de “95%” da Poisson cobriu 48% das vezes com \(\theta = 0{,}5\). A BN ficou perto de 95% em todos os cenários e não custou nada quando os dados eram Poisson.

§16Para ir além

  • M. Greenwood e G. U. Yule (1920). An inquiry into the nature of frequency distributions representative of multiple happenings… Journal of the Royal Statistical Society, 83(2). A origem da mistura Poisson–Gama, com dados de acidentes.
  • P. McCullagh e J. A. Nelder (1989). Generalized Linear Models, 2ª ed., cap. 6. Chapman & Hall. Quasi-verossimilhança e sobredispersão.
  • J. F. Lawless (1987). Negative binomial and mixed Poisson regression. Canadian Journal of Statistics, 15(3).
  • A. C. Cameron e P. K. Trivedi (2013). Regression Analysis of Count Data, 2ª ed. Cambridge. A referência completa sobre modelos de contagem.
  • J. M. Hilbe (2011). Negative Binomial Regression, 2ª ed. Cambridge. Prático, com muitos exemplos e as variantes NB1, NB2 e outras.
  • A. Agresti (2015). Foundations of Linear and Generalized Linear Models, cap. 7. Wiley.
  • W. N. Venables e B. D. Ripley (2002). Modern Applied Statistics with S, 4ª ed., seção 7.4. Springer. A base do glm.nb.