gpt4 book ai didi

逻辑回归的 glm() 结果

转载 作者:行者123 更新时间:2023-12-01 23:57:25 25 4
gpt4 key购买 nike

这可能是一个微不足道的问题,但我不知道在哪里可以找到答案。我想知道在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com