python - Python中带有l Logistic回归的β系数和p值
问题描述
我想在python中执行一个简单的逻辑回归(1个依赖,1个自变量)。我在 python 中看到的所有关于逻辑回归的文档都是为了使用它来开发预测模型。我想从统计方面更多地使用它。如何在 python 上找到简单逻辑回归的Odds ratio
、p-value
和?confidence interval
X = df[predictor]
y = df[binary_outcome]
model = LogisticRegression()
model.fit(X,y)
print(#model_stats)
理想输出为Odds ratio
, p-value
, 和confidence interval
解决方案
我假设您正在使用LogisticRegression()
from sklearn
。您无法从中估计 p 值置信区间。您可以使用 statsmodels,还请注意,没有公式的 statsmodels 与 sklearn 有点不同(请参阅@Josef 的评论),因此您需要使用以下命令添加截距sm.add_constant()
:
import statsmodels.api as sm
y = np.random.choice([0,1],50)
x = np.random.normal(0,1,50)
model = sm.GLM(y, sm.add_constant(x), family=sm.families.Binomial())
results = model.fit()
results.summary()
Generalized Linear Model Regression Results
Dep. Variable: y No. Observations: 50
Model: GLM Df Residuals: 48
Model Family: Binomial Df Model: 1
Link Function: logit Scale: 1.0000
Method: IRLS Log-Likelihood: -33.125
Date: Sat, 09 Jan 2021 Deviance: 66.250
Time: 16:21:51 Pearson chi2: 50.1
No. Iterations: 4
Covariance Type: nonrobust
coef std err z P>|z| [0.025 0.975]
const -0.0908 0.309 -0.294 0.769 -0.696 0.514
x1 0.5975 0.361 1.653 0.098 -0.111 1.306
该系数是对数赔率,您可以简单地将其转换为赔率比。[0.025 0.975] 列是对数几率的 95% 置信区间。查看帮助页面了解更多信息
推荐阅读
- hibernate - 在 JPA/Hibernate 上映射日期时,日期和日历之间有区别吗?
- operating-system - 敏感指令和特权指令的区别
- javascript - 如何使用 Selenium 提取对当前网站有影响的可能操作?
- c# - C#:如何从我的文本文件中读取文本以加载到我的收据应用程序中?
- node.js - 如何在将 Angular 应用程序从版本 6 升级到 7 后修复对等依赖警告
- shell - WindowsPower shell 脚本没有按预期工作
- javascript - 将数据分配给 for 中的对象
- ios - 第一次应用 Xcode 10 和 iOS 未运行
- r - 使用管道工和 R 发送 JSON 文件时的变量名称限制(10000 字节)
- kubernetes - 实例化负载均衡器时出错:服务不是 NodePort 类型,目标类型是实例