繁体   English   中英

逻辑回归获取 sm.Logit 值(python、statsmodels)

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

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

  • .params.values : 给出 beta 值
  • .params : 给出变量的名称和 beta 值
  • .conf_int() : 给出置信区间

我仍然需要得到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定义的std_err

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM