Проблема надрозсіювання

Узагальнені лінійні моделі в Python

Ita Cirovic Donev

Data Science Consultant

Розуміння даних

Графік розподілу кількості супутників (краби)

# mean of y
y_mean = crab['sat'].mean()
2.919
# variance of y
y_variance = crab['sat'].var()
9.912
Узагальнені лінійні моделі в Python

Середнє не дорівнює дисперсії

  • $variance > mean$ $\rightarrow$ надрозсіювання
  • $variance < mean$ $\rightarrow$ недорозсіювання

Наслідки:

  • Малі стандартні похибки
  • Малі p-значення
Узагальнені лінійні моделі в Python

Як перевірити надрозсіювання?

Зведення підгонки моделі з позначенням ступенів вільності залишків і статистики Пірсона Chi-square.

Узагальнені лінійні моделі в Python

Обчислення оціненого надрозсіювання

ratio = crab_fit.pearson_chi2 / crab_fit.df_resid
print(ratio)
3.134
  • Співвідношення $ =1$ $\rightarrow$ приблизно Пуассонівське

  • Співвідношення $ <1$ $\rightarrow$ недорозсіювання

  • Співвідношення $ >1$ $\rightarrow$ надрозсіювання

Узагальнені лінійні моделі в Python

Негативна біноміальна регресія

  • $E(y)=\lambda$
  • $Var(y) = \lambda+\alpha\lambda^2$
  • $\alpha$ — параметр розсіювання
Узагальнені лінійні моделі в Python

GLM Negative Binomial у 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()
Узагальнені лінійні моделі в Python

Давайте потренуємось!

Узагальнені лінійні моделі в Python

Preparing Video For Download...