← retour aux snippets

statsmodels: Logit/GLM binomial

Régression logistique via Logit ou GLM(Binomial).

python stats #statsmodels#logit#glm

objectif

Régression logistique via Logit ou GLM(Binomial).

code minimal

import statsmodels.api as sm
import numpy as np
rng = np.random.default_rng(0)
X = sm.add_constant(rng.normal(size=(100,1)))
beta = np.array([-1.0, 2.0])
p = 1/(1+np.exp(-X@beta))
y = rng.binomial(1, p)
res = sm.Logit(y, X).fit(disp=False)
print(len(res.params) == 2)

utilisation

import statsmodels.api as sm
glm = sm.GLM(y, X, family=sm.families.Binomial()).fit()
print(glm.aic >= 0.0)

variante(s) utile(s)

import statsmodels.api as sm
print(hasattr(sm.families.links, "logit"))

notes

  • Vérifier séparation parfaite; régulariser si nécessaire.