python - 逻辑回归得到 sm.Logit 值(python,statsmodels)
问题描述
我正在使用sm.Logit在 python 中进行逻辑回归,然后获取模型、p 值等是函数.summary,我想要存储.summary函数的结果,到目前为止我有:
- .params.values : 给出 beta 值
- .params:给出变量的名称和 beta 值
- .conf_int() : 给出置信区间
我仍然需要得到std err、z和p 值
我也想知道有没有办法得到这个(.summary函数的第一部分):
解决方案
如果您使用以下代码计算模型
model = sm.Logit(y_data, x_data)
model_fit = model.fit()
然后您可以使用 直接访问 p 值model_fit.pvalues
。
对于系数的标准误差,您可以调用
cov = model_fit.cov_params()
std_err = np.sqrt(np.diag(cov))
将标准误差计算为模型协方差矩阵估计的方差项(对角线项)的平方根。
z 值定义为每个系数除以其标准误差,因此您可以将其计算为
z_values = model_fit.params / std_err
使用std_err
上面一行中定义的。
关于您的最后一个问题,尚不清楚您是在询问如何从summary()
输出中获取实际的子字符串,还是单独获取它打印的所有不同数据。
如果您想要单独使用它们,我建议将您的模型安装在具有选项卡完成的交互式编程会话中,例如使用 jupyter,以便您可以查看对象上可用的各种自由度选项和其他数据model_fit
。
如果你只是在寻找字符串,它很简单:
'\n'.join(str(model_fit.summary()).split('\n')[1:10])
推荐阅读
- python - Numpy Matrix If/Else 分类?
- windows - SCCM 客户端:通过命令行安装 SoftwareCenter 可用的软件包
- python - 将python中的列表保存为分号分隔的文本文件
- javascript - 对象方法中的局部变量音频未播放
- java - 带有 where 子句的计数的 jpa 条件子查询
- java - 为 json 字符串创建 JSON 对象 Pojo
- drupal - 制作页面的 Drupal 问题
- bash - 找到文件并设置自动任务以稍后使用命令检查它
- javascript - Ionic 3:$dirty 按钮显示
- webrtc - TURN 服务器中有多少个 WebRTC 连接?