Могу ли я использовать категориальную переменную pandas в качестве левой части формулы statsmodels? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть фрейм данных со следующими dtypes

strata_id    category
treatment    category
status       category
dtype: object

Я пытаюсь согласовать логистическую регрессию с формулой statsmodels api, как это

import statsmodels.formula.api as smf
model = smf.logit('status ~ 0 + strata_id + treatment', data=df)

Я получаю ошибкукогда я вызываю model.fit(), потому что формула api (приведенная в действие patsy) преобразует мой категорический столбец status в (N, 2) массив векторов с горячим кодированием, но statsmodels ожидает (N,) массив целых чисел.

Я знаю, что существует множество способов обойти это, например, создание матриц проекта непосредственно с помощью patsy и предварительная обработка матриц перед передачей их в statsmodels.

Однако есть ли способ сделатьформула statsmodels api делает правильные вещи здесь?

Python 3.6.4
Pandas 0.23.0
Statsmodels 0.5.0

...