O problema da superdispersão

Modelos Lineares Generalizados em Python

Ita Cirovic Donev

Data Science Consultant

Entendendo os dados

Gráfico da distribuição do número de satélites (caranguejo)

# mean of y
y_mean = crab['sat'].mean()
2.919
# variance of y
y_variance = crab['sat'].var()
9.912
Modelos Lineares Generalizados em Python

Média diferente da variância

  • $variance > mean$ $\rightarrow$ superdispersão
  • $variance < mean$ $\rightarrow$ subdispersão

Consequências:

  • Erros-padrão pequenos
  • p-value pequeno
Modelos Lineares Generalizados em Python

Como verificar superdispersão?

Resumo do modelo ajustado com destaques em df residuais e estatística Qui-quadrado de Pearson.

Modelos Lineares Generalizados em Python

Calcular a superdispersão estimada

ratio = crab_fit.pearson_chi2 / crab_fit.df_resid
print(ratio)
3.134
  • Razão $ =1$ $\rightarrow$ aproximadamente Poisson

  • Razão $ <1$ $\rightarrow$ subdispersão

  • Razão $ >1$ $\rightarrow$ superdispersão

Modelos Lineares Generalizados em Python

Regressão Binomial Negativa

  • $E(y)=\lambda$
  • $Var(y) = \lambda+\alpha\lambda^2$
  • $\alpha$ - parâmetro de dispersão
Modelos Lineares Generalizados em Python

GLM Binomial Negativa em Python

import statsmodels.api as sm
from statsmodels.formula.api import glm
model = glm('y ~ x', data = my_data, 
            family = sm.families.NegativeBinomial(alpha = 1)).fit()
Modelos Lineares Generalizados em Python

Vamos praticar!

Modelos Lineares Generalizados em Python

Preparing Video For Download...