Я попытался добавить константу в модель логита и получил ответ «PerfectSeparationError: обнаружено идеальное разделение, результаты недоступны». Это нормально без констант.
Код ниже предоставляет оба сценария (воспроизводимые). Не могли бы вы объяснить, почему это происходит?
import statsmodels.api as sm
X = pd.DataFrame({'x1': [2, 4, 3, 3.5, 2, 5.5, 1], 'x2': [1, 1.5, 1, 0.5, 0.5, 1, 1]})
y = pd.DataFrame({'y': [0, 1, 0, 1, 0, 1, 0]})
logit = sm.Logit(y, X)
result = logit.fit()
print(result.summary())
Xc = sm.add_constant(X)
logit = sm.Logit(y, Xc)
result = logit.fit()
print(result.summary())