R语言是否对二分连续变量执行逻辑回归

作者: 拓端tecdat | 来源:发表于2020-04-05 22:44 被阅读0次

原文链接:http://tecdat.cn/?p=6851

教育或医学的标准情况是我们有一个持续的衡量标准,但随后我们对那些具有临床/实际意义的连续措施有了切入点。一个例子是BMI。您可以通过70分作为成绩测试进行成绩测试。当这种情况发生时,研究人员有时可能会对BMI模型超过30或通过/失败感兴趣。实质性问题通常属于模拟某人超过/低于该临床显着阈值的概率的线条。因此,我们使用逻辑回归等方法对连续测量进行二分,并分析新的二元变量。

那么这种方法在实践中如何运作?任何尝试在使用逻辑回归进行分析之前在不同阈值下对连续变量进行二分法的人都会知道估计的系数会发生变化并且可能会发生很大变化,这是否与声称结果不应取决于阈值一致?我们可以使用模拟。首先,我将介绍数据生成过程:

dat <- data.frame(x = rbinom(300, 1, .5)) # Outcome ys = intercept of -0.5, the coefficient of x is 1 and there is logistic error dat$yc <- -.5 + dat$x + rlogis(nrow(dat))

hist(dat$yc, main = "")

need-to-insert-img

然后,我们可以yc在不同点上对结果进行二分,以确定这是否会影响x我们使用逻辑回归的估计系数:

coef(glm((yc > -2) ~ x, binomial, dat))["x"] # Cut it at extreme -2 x 0.9619012 coef(glm((yc > 0) ~ x, binomial, dat))["x"] # Cut it at midpoint 0 x 1.002632 coef(glm((yc > 2) ~ x, binomial, dat))["x"] # Cut it at extreme 2 x 0.8382662

如果我们yc直接应用线性回归怎么办?

# First, we create an equation to extract the coefficients and # transform them using the transform to logit formula above. trans <- function (fit, scale = pi / sqrt(3)) { scale * coef(fit) / sigma(fit) } trans(lm(yc ~ x, dat))["x"] x 1.157362

所有这些数字彼此并没有太大的不同。现在我们可以多次重复此过程来比较结果中的模式。我会重复2500次:

colMeans(res <- t(replicate(2500, { dat <- data.frame(x = rbinom(300, 1, .5)) dat$yc <- -.5 + dat$x + rlogis(nrow(dat)) # v for very; l/m/h for low/middle/high; and t for threshold; ols for regular regression c(vlt = coef(glm((yc > -2) ~ x, binomial, dat))["x"], lt = coef(glm((yc > -1) ~ x, binomial, dat))["x"], mt = coef(glm((yc > 0) ~ x, binomial, dat))["x"], ht = coef(glm((yc > 1) ~ x, binomial, dat))["x"], vht = coef(glm((yc > 2) ~ x, binomial, dat))["x"], ols = trans(lm(yc ~ x, dat))["x"]) }))) vlt.x lt.x mt.x ht.x vht.x ols.x 1.0252116 1.0020822 1.0049156 1.0101613 1.0267511 0.9983772

这些数字是不同方法的平均回归系数。

boxplot(res)

need-to-insert-img

我们看到虽然平均值大致相同,但当阈值极端时,估计的系数变化更大。最小变量系数是变换后的线性回归系数,因此当我们使用线性回归方法时,结果稳定。

不同方法之间的估计系数模式如何?

ggpairs(as.data.frame(res))

need-to-insert-img

我们看到当阈值非常低时估计系数与阈值非常高时的估计系数非常弱相关(.13)。这些差异只是反映了阈值,在实际数据分析中可能会产生误导。

基于这些结果,预测因子与结果之间的关系也可能因结果的不同分位数而不同--分位数回归探讨的情况。可以使用分位数回归方法来查看原始连续结果中是否存在这种情况。

相关文章

  • R语言是否对二分连续变量执行逻辑回归

    原文链接:http://tecdat.cn/?p=6851 教育或医学的标准情况是我们有一个持续的衡量标准,但随后...

  • R语言 逻辑回归

    逻辑回归是回归模型,其中响应变量(因变量)具有诸如True / False或0/1的分类值。 它实际上基于将其与预...

  • R glm

    R 逻辑回归 R 怎么做逻辑回归

  • R语言对二分连续变量进行逻辑回归数据分析

    原文链接:http://tecdat.cn/?p=10067 教育或医学的标准情况是我们有一项连续的措施,但随后我...

  • softmax回归

    softmax是逻辑回归的泛化算法 因为逻辑回归只能做二分类或者多个二分类 但是softmax可以直接做多分类 对...

  • 机器学习入坑指南(五):逻辑回归

    一、逻辑回归简介 逻辑回归用于解决“二分类”问题,比如判断明天是晴是雨,判断一封邮件是否是垃圾邮件,判断肿瘤是否是...

  • 逻辑回归的spss应用

    逻辑回归应用于预测因变量为二分类变量的情况:这个客户是否会流失?病人是否会康复?Logistic回归是基于线性回归...

  • 16-逻辑回归

    逻辑回归 应用场景:二分类问题。逻辑回归也能得出概率值 逻辑回归为什么叫逻辑回归:因为是二分类,结果非此即彼,与逻...

  • R语言:利用逻辑回归算法预测个人是否会出现违约行为

    本期在R语言中使用逻辑回归算法建立模型预测个人是否会出现违约行为,协助银行决策是否给予贷款,以达到降低银行贷款坏账...

  • 11. 分类算法-逻辑回归

    逻辑回归 逻辑回归是解决二分类问题的利器 逻辑回归公式 sklearn逻辑回归的API sklearn.linea...

网友评论

    本文标题:R语言是否对二分连续变量执行逻辑回归

    本文链接:https://www.haomeiwen.com/subject/nwhmphtx.html