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

2019-12-19 11:41:57 浏览数 (1)

线性回归作为一种常用的关联分析工具,其功能强大,解释度高,但是其缺点也是很明显的。其只适用于处理连续型的变量,无法处理离散型的变量,比如对于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.ucla.edu/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, 可以寻找影响因变量的危险因素。

0 人点赞