逻辑回归的 glm() 结果

标签 r logistic-regression

这可能是一个微不足道的问题,但我不知道在哪里可以找到答案。我想知道在 R 中使用 glm() 进行逻辑回归时,如果响应变量 Y 的因子值为 1 或 2,那么 glm( )对应于logit(P(Y=1))还是logit(P(Y=2))?如果 Y 的逻辑值为 TRUEFALSE 怎么办?

最佳答案

为什么不自己测试一下呢?

output_bool <- c(rep(c(TRUE, FALSE), c(25, 75)), rep(c(TRUE, FALSE), c(75, 25)))
output_num <- c(rep(c(2, 1), c(25, 75)), rep(c(2, 1), c(75, 25)))
output_fact <- factor(output_num)
var <- rep(c("unlikely", "likely"), each = 100)

glm(output_bool ~ var, binomial)
#> 
#> Call:  glm(formula = output_bool ~ var, family = binomial)
#> 
#> Coefficients:
#> (Intercept)  varunlikely  
#>       1.099       -2.197  
#> 
#> Degrees of Freedom: 199 Total (i.e. Null);  198 Residual
#> Null Deviance:       277.3 
#> Residual Deviance: 224.9     AIC: 228.9
glm(output_num ~ var, binomial)
#> Error in eval(family$initialize): y values must be 0 <= y <= 1
glm(output_fact ~ var, binomial)
#> 
#> Call:  glm(formula = output_fact ~ var, family = binomial)
#> 
#> Coefficients:
#> (Intercept)  varunlikely  
#>       1.099       -2.197  
#> 
#> Degrees of Freedom: 199 Total (i.e. Null);  198 Residual
#> Null Deviance:       277.3 
#> Residual Deviance: 224.9     AIC: 228.9

所以,如果我们使用 TRUE 和 FALSE,我们会得到正确的答案,如果我们使用 1 和 2 作为数字,我们会得到一个错误,如果我们使用 1 和 2 作为具有两个水平的因子,我们会得到正确的结果,前提是 TRUE 值具有比 FALSE 更高的因子水平。然而,我们必须小心我们的因素是如何排序的,否则我们会得到错误的结果:

output_fact <- factor(output_fact, levels = c("2", "1"))
glm(output_fact ~ var, binomial)
#> 
#> Call:  glm(formula = output_fact ~ var, family = binomial)
#> 
#> Coefficients:
#> (Intercept)  varunlikely  
#>      -1.099        2.197  
#> 
#> Degrees of Freedom: 199 Total (i.e. Null);  198 Residual
#> Null Deviance:       277.3 
#> Residual Deviance: 224.9     AIC: 228.9

(注意截距和系数有翻转的符号)

reprex package 创建于 2020-06-21 (v0.3.0)

关于逻辑回归的 glm() 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62502226/

相关文章:

r - 基于日期比较的子集数据集R

r - 关于 ggplot 中内部变量的文档,尤其是。控制板

clojure - 与 Incanter 一起在 Clojure 中使用 BFGS 最小化算法进行 Logistic 回归

r dplyr - 读取文件列表并使用文件名作为变量

r - 如何使用 Shiny 的条件面板

r - 在 R MARKDOWN 中,如何添加背景图像(HTML 输出)?

python - LogisticRegression scikit 学习协变量(列)顺序对训练很重要

python - 科学数据包 : calculate precision and recall using cross_val_score function

python - python中逻辑回归GD的实现

python - PySpark LogisticRegressionWithLBFGS 导入错误