专栏首页拓端tecdatR语言对二分连续变量进行逻辑回归数据分析
原创

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

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


教育或医学的标准情况是我们有一项连续的措施,但随后我们对那些具有临床/实践意义的措施有了切入点。一个例子是BMI。您可能有一个成绩测试,合格分数为70。研究人员有时可能会对30岁以上的BMI建模感兴趣,或者对通过/失败作的结果感兴趣。实质性问题通常落在对某人超过/低于此临床上显着阈值的概率进行建模的范畴之内。因此,我们将连续测量结果分为两部分,并使用逻辑回归等方法分析。

回到介绍性统计信息,您会听到类似的信息:大多数人宁愿使用规则线性回归而不是逻辑回归。但是,在上述情况下,出于实质性原因,我们经常有理由将结果一分为二。

因此,这是建议:

  • 估计连续结果的线性模型
  • 可以对它们取幂以获取赔率。
  • 我们不在乎线性回归的截距,因为它会受到阈值的影响。

那么这种方法在实践中如何起作用?在使用逻辑回归分析之前尝试在不同阈值上将连续变量二等分的任何人都知道,估计的系数确实会发生变化,并且它们会发生很大的变化!这是否与结果不应依赖阈值的说法相符?

我们可以使用模拟进行检查。首先,我将逐步介绍数据生成过程:

set.seed(12345) # Set seed for reproducible results# Our single x variable is binary with 50% 0s and 50% 1s# so like random assignment to treatment and control# Our sample size is 300dat <- data.frame(x = rbinom(300, 1, .5))# Outcome ys = intercept of -0.5, the coefficient of x is 1 and there is logistic errordat$yc <- -.5 + dat$x + rlogis(nrow(dat))

yc

然后,我们可以yc在各个点上将结果分为两部分,以查看x当使用逻辑回归时是否会影响估计系数:

        x0.9619012       x1.002632        x0.8382662

数字有些不同。如果我们yc直接将线性回归应用?

# First, we create an equation to extract the coefficients and# transform them using the transform to logit formula above.       x1.157362

所有这些数字彼此之间并没有太大差异。如果我们对它们求幂以获得比值比,它们的差异会更大。现在,我们可以重复此过程几次,以比较结果中的模式。我重复2500次:

    vlt.x      lt.x      mt.x      ht.x     vht.x     ols.x1.0252116 1.0020822 1.0049156 1.0101613 1.0267511 0.9983772

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

v代表非常,l / m / h代表低/中/高,t代表阈值,ols是回归结果。因此,例如,vlt.x是来自极低阈值模型的平均x系数。

所有方法的这些估计系数平均约为1,这就是我们编写的程序!每个方法的可变性如何?

boxplot(res)

我们看到,尽管平均值大致相同,但是当阈值极高时,估计的系数就更加可变。最小的可变系数是变换后的线性回归系数,因此当我们使用线性回归方法时,结果有些稳定。阈值越极端,我们获得的可变系数就越多。我们经常将数据二分法用于极端情况下的逻辑回归。

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

我们看到,尽管所有方法声称x的系数y平均为1,但阈值非常低时的估计系数与阈值非常高时的估计系数非常弱相关(.13)。这些差异仅反映阈值,并且可能在实际数据分析中产生误导。人们可能会相信,在不同的阈值处的估计值差异很大,而在不同的阈值下却代表不同的人口参数(真实系数)。与每种方法最相关的方法是线性回归方法。线性回归方法与中阈值结果最相关。它也是最稳定的。


从本质上讲,当将数据按极端阈值二等分时,我们是否应该相信这些发现?还是应该只使用变换后的线性回归系数?

在结果的不同分位数处,预测变量和结果之间的关系也可能不同--分位数回归情况探讨。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R语言ROC曲线评价分类器的好坏

    本文将使用一个小数据说明ROC曲线,其中n = 10个观测值,两个连续变量x_1和x_2,以及二元变量y∈{0,1}。

    拓端
  • Python用PyMC3实现贝叶斯线性回归模型

    在本文中,我们将在贝叶斯框架中引入回归建模,并使用PyMC3 MCMC库进行推理。

    拓端
  • R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析

    为了帮助客户使用POT模型,本指南包含有关使用此模型的实用示例。本文快速介绍了极值理论(EVT)、一些基本示例,最后则通过案例对河流的极值进行了具体的统计分析。

    拓端
  • Ubuntu 20.04 apt 更换国内源的实现方法

    UPD 2020.2.26 目前 Ubuntu 20.04 LTS 还未发布, 教程仅适用于 development branch (不过这种教程应该是通用的)

    砸漏
  • Python中fnmatch模块的使用详情

    fnamtch就是filenamematch, 在python中利用符合linuxshell风格的匹配模块来进行文件名的匹配筛选工作。

    砸漏
  • 前端-团队效率(三)Vue cli3 Dll 配置

    吴文周
  • Vue路由History模式分析

    Vue-router是Vue的核心组件,主要是作为Vue的路由管理器,Vue-router默认hash模式,通过引入Vue-router对象模块时配置mode属...

    WindrunnerMax
  • webpack中的mainself和构建目标

    3.webpack 的 runtime 和 manifest,管理所有模块的交互。

    刘亦枫
  • cookie和token

    大蟒传奇
  • Vue路由Hash模式分析

    Vue-router是Vue的核心组件,主要是作为Vue的路由管理器,Vue-router默认hash模式,即使用URL的Hash来模拟一个完整的URL,当UR...

    WindrunnerMax

扫码关注云+社区

领取腾讯云代金券