Problema supradispersiei

Modele Liniare Generalizate în Python

Ita Cirovic Donev

Data Science Consultant

Înțelegerea datelor

Graficul distribuției numărului de sateliți (crab)

# mean of y
y_mean = crab['sat'].mean()
2.919
# variance of y
y_variance = crab['sat'].var()
9.912
Modele Liniare Generalizate în Python

Media diferită de varianță

  • $variance > mean$ $\rightarrow$ supradispersie
  • $variance < mean$ $\rightarrow$ subdispersie

Consecinșe:

  • Erori standard mici
  • Valoare p mică
Modele Liniare Generalizate în Python

Cum se verifică supradispersia?

Rezumatul modelului ajustat cu evidențierea gradelor de libertate reziduale și a statisticii Chi pătrat Pearson.

Modele Liniare Generalizate în Python

Calculul supradispersiei estimate

ratio = crab_fit.pearson_chi2 / crab_fit.df_resid
print(ratio)
3.134
  • Raport $ =1$ $\rightarrow$ aproximativ Poisson

  • Raport $ <1$ $\rightarrow$ subdispersie

  • Raport $ >1$ $\rightarrow$ supradispersie

Modele Liniare Generalizate în Python

Regresia Binomial Negativă

  • $E(y)=\lambda$
  • $Var(y) = \lambda+\alpha\lambda^2$
  • $\alpha$ - parametru de dispersie
Modele Liniare Generalizate în Python

GLM binomial negativ în 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()
Modele Liniare Generalizate în Python

Să exersăm!

Modele Liniare Generalizate în Python

Preparing Video For Download...