我有一个看起来像这样的数据框:
我正在运行一个关于流体的逻辑模型作为因变量,并排除
vp
和perip
:
model = smf.logit('''fluid ~ C(examq3_n, Treatment(reference = 2.0)) + C(pmhq3_n) + C(fluidq3_n) + C(mapq3_n, Treatment(reference = 3.0)) +
C(examq6_n, Treatment(reference = 2.0)) + C(pmhq6_n) + C(fluidq6_n) + C(mapq6_n, Treatment(reference = 3.0)) +
+ C(case, Treatment(reference = 2))''',
data = case1_2_vars).fit()
print(model.summary())
我得到以下结果:
我想知道我是否需要向数据添加一个常量,如果需要,怎么做?我尝试在名为
const
的数据框中添加一列,它等于 1
,但是当我将 const
添加到 logit 方程时,我得到 LinAlgError: Singular Matrix,
并且我不知道如何使用 smf.add_constant()
添加它
因为我必须在等式中指定分类变量及其各自的参考编号,而不是分别定义 x
和 y
并简单地将它们输入到 smf.logit()
调用中。
我的问题是:a)我需要添加一个常量,b)如何添加?网上有一些链接似乎暗示基于分类变量的 logit 模型可能没有必要,但如果这是最佳实践,我宁愿这样做。
我也想知道,statsmodels会自动包含一个常量吗?因为
Intercept
列在结果中。