逻辑回归得到 sm.Logit 值(python,statsmodels)

logistic regression get the sm.Logit values (python, statsmodels)

我正在使用 sm.Logit 在 python 中进行逻辑回归,然后得到模型、p 值等是函数 .summary,我想存储 .summary 函数的结果,到目前为止我有:

我仍然需要获取 std errzp 值

我也想知道有没有办法得到这个(.summary 函数的第一部分):

如果您使用像

这样的代码来计算您的模型
model = sm.Logit(y_data, x_data)
model_fit = model.fit()

然后您可以直接使用 model_fit.pvalues.

访问 p 值

对于系数的标准误差,您可以调用

cov = model_fit.cov_params()
std_err = np.sqrt(np.diag(cov))

计算标准误差作为模型协方差矩阵估计的方差项(对角线项)的平方根。

z 值定义为每个系数除以其标准误差,因此您可以将其计算为

z_values = model_fit.params / std_err

使用上面行中定义的 std_err

关于你的最后一个问题,不清楚你是问如何从 summary() 输出中获取实际的子字符串,还是单独获取它打印的所有不同数据片段。

如果您想要单独使用它们,我建议您在交互式编程会话中使用 Tab 补全来拟合您的模型,例如使用 jupyter,这样您就可以在 [=17= 上看到各种自由度选项和其他可用数据] 对象。

如果您只是在寻找字符串,这很简单:

'\n'.join(str(model_fit.summary()).split('\n')[1:10])

在您的代码中写下这行代码 print(dir(model_fit)) 它会显示您可以从 model_fit 答案中访问的所有函数和方法。