我可以用一个分类变量作为statsmodels公式的左边吗?

2024-09-22 14:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个具有以下数据类型的数据帧

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,2)数组。你知道吗

我知道有很多方法可以解决这个问题,比如直接用patsy生成设计矩阵,并在将矩阵交给statsmodels之前对其进行预处理。你知道吗

然而,有没有办法让statsmodels公式api在这里做正确的事情?你知道吗

Python 3.6.4版
熊猫0.23.0
静态模型0.5.0


Tags: 数据apiidmodelstatus矩阵数组公式