分享

逻辑回归or线性回归,傻傻分不清楚

 生信修炼手册 2019-12-24

线性回归作为一种常用的关联分析工具,其功能强大,解释度高,但是其缺点也是很明显的。其只适用于处理连续型的变量,无法处理离散型的变量,比如对于case/control的实验设计,患病与否的临床信息,线性回归就无能无力了,此时我们就需要另外一种方法-逻辑回归。

线性回归是属于回归分析的一种,从名称上来,逻辑回归好像也属于回归分析,其实不然。在机器学习领域有两大类问题,回归和分类,回归指的是针对因变量为连续型变量的分析,而分类则是针对离散型因变量的分析。从这一点来看,逻辑回归其实是属于分类问题。

那么为何其名称中又包含了回归这个单词呢,是因为其核心思想和回归分析是一样的,通过构建回归方程来解决问题。以最基本的一个自变量,二分类因变量为例,其数据分布如下

因变量对应的y轴对应两条水平线,而x轴可以有很灵活的变量范围,可以想象,对于这样的数据,用任意直线来拟合效果都很差,绝大部分的点都会落不到直线附近。因此,数学家提出了一个独特的拟合函数,称之为sigmod函数,其分布类似S型曲线,示意如下

sigmod函数可以将任意实数映射到0到1之间,具有非常强的鲁棒性,映射出来的值正好可以作为一个概率值,通过设定阈值范围,来确定对应的状态。

为了更好的理解逻辑回归和线性回归之间的关系,我们来看下对应的回归方程,图示如下

上图中逻辑回归公式对应的形式就是sigmod函数,其中的e为自然常数,进一步转换如下



从最终的形式可以看出,逻辑回归就是用ln(p/1-p)来替换了线性回归中的因变量y, 所以说逻辑回归是在线性回归的基础上发展而来的一项技术,同时等式右边都是一个线性关系,二者同属于广义线性回归模型的一种。

在R语言中通过广义线性回归的函数glm可以实现逻辑回归,代码如下

x为连续型的自变量,y为二分类的因变量,binomial代表二项分布。逻辑回归的方程通过最大似然法进行求解,coefficients就是对应的回归参数,AIC值是一个衡量拟合效果的统计量,计算公式如下


其中的K代表回归参数的个数, L代表似然函数的最大值,回归参数的求解通过最大似然法进行,最终得到的模型中对应的似然值最大,AIC值最小。通过summary可以查看自变量和因变量关联性的p值等信息,示意如下

线性回归中的R2为预测数据的方差除以实际数据的方差,在逻辑回归中,因变量无法有效计算方差,所以逻辑回归的R2是一个的R2,称之为pseudo R-Squareds, 有多种算法来计算该值,不同算法的出发点也不同,详细链接如下

https://stats.idre./other/mult-pkg/faq/general/faq-what-are-pseudo-r-squareds/

以McFadden’s Pseudo-R2 为例,公式如下

用1减去空假设的似然值与当前模型似然值的比例即可,而输出结果中的residual.deviance和null.deviance和似然之间的关系如下

所以可以根据这两个值来计算R2, 代码如下

R2在线性回归中作为拟合优度的指标,而在逻辑回归中,我们已经有了AIC值这个指标了,所以R2显得没有那么重要。对于逻辑回归而言,有一个比较关注的指标就是log odd ratio。

在费舍尔精确检验和卡方检验中,对于2X2的两个分类变量的关联性,用odd ratio值来衡量其关联性的强弱,在二分类因变量的逻辑回归中,对于同样为二分类的自变量,也会有odd ratio值里衡量其和因变量的关联性。

在逻辑回归中,对于二分类的自变量,其odd ratio值如下


Y为因变量,X为对应的二分类自变量,beta代表回归方程中x的回归系数,Z代表其他变量, 将上述公式进行log转换,可以看出x对应的log odd ratio值其实就是其回归系数。

在逻辑回归中,二分类自变量和因变量的关联性,用该自变量对应的回归系数,也就是log odd ratio来表征,其实这个概念也可以拓展到连续型的自变量上,只不过解释会稍有不同。

对于连续型的自变量而言,其log odd ratio值也是其回归系数,只不过因为其值是连续的,log odd ratio值反应的是该自变量每增加一个单位,因变量概率变化的幅度。

通过回归系数或者说log odd ratio, 可以寻找影响因变量的危险因素。

·end·

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多