转载

Logistic回归模型

Logistic回归模型

起源

大名鼎鼎的logistic函数起源于19世纪,起初是用于描述人口增长率和自动催化剂的化学反应过程。假设人口数量为时间t的函数W(t),人口增长率为常数β,该模型中人口将呈指数型增长,W(t)=Aexp(βt),虽然该模型符合美国等新兴国家的早年发展情况,但后来比利时统计学家 Belgian(天文学家转行) 发现——如果利用该模型不断外推预测人口数量,将会得到一个完全不合理的数值。于是他和学生 Verhulst 一起研究这问题,Verhulst 认为人口的增长不仅和现有人口相关,还和可用资源有关。因此他对上述的人口增长模型进行了修正,修正后的模型如下所示:

W(t)˙=βW(t)−ϕ(W(t))

设P(t)=W(t)Ω,其中Ω为人口饱和数,当函数 ϕ为二次函数时,Verhulst通过推导得到logistic函数:

P(t)=expα+βt1+exp(α+βt)

该模型最初发表的时候叫Verhulst方程。但在当时并没有引起大家的注意,直到1920年两位美国人口学家Pearl和Reed在研究美国人口问题时,再次提出这个方程,才开始流行,故现在文献中通常称之为Verhulst-Pearl阻碍方程。

二十世纪五六十年代开始,人们逐渐将该模型运用到统计学和流行病学领域中。此时先驱者英国著名统计学家Cox(就是Cox比例风险模型的Cox!)发表了一系列关于logistic 回归模型的文章,随后越来越多的学者开始研究logistic模型的理论性质及其应用。

模型介绍

Logistic 模型是广义线性模型的一种,该模型用于处理因变量为分类变量的回归问题,最常见的就是因变量为二分类的情况,比如常见的信用评分模型,该模型用于评估个人的信用违约概率。

我们为什么要使用logistic回归模型呢?首先当因变量为分类变量时,该变量不服从正态分布,因此我们无法直接使用普通线性回归模型;其次对于分类变量而言,其数值通常为固定数值,比如二分类变量的取值为0和1,但是普通线性回归模型的预测值可以是任何值,直接利用该模型进行拟合预测时会遇到问题。所以,当因变量为分类变量时,我们需要利用logistic回归模型来处理问题。

当因变量为二分类变量时,我们假设

Yi={1,eventhappen;0,nothappen}

对于线性模型而言,我们关心的是给定解释变量数值时因变量的条件期望值与解释变量之间的关系,

μ=E(Y|X=x)=P(Y=1|X=x)

因此我们需要寻找一个连接函数将解释变量x和条件期望值连接起来。

最简单的连接函数为恒等连接函数,此时模型可表示为:

p=P(Y=1|X=x)=μ=X′β

由于条件期望的取值在[0,1]之间,上述模型无法保证预测值落在[0,1]区间,而且自变量与因变量之间为一固定的线性关系,这与现实生活中的情况不同,所以我们不能直接取恒等连接函数。对于logistic回归模型而言,其连接函数为:

θ(p)=log(p1−p)

此模型中我们关注的是Y=1的概率值p,而log(p1−p)则表示该事件的对数胜算率。换句话说,逻辑斯蒂回归模型可以看成因变量Y=1的对数胜算率和解释变量X之间的普通线性回归模型。

至于为啥是这个形式呢?那是因为现实生活中遇到的问题,p=0,p=1附近的取值与解释变量之间的关系通常不敏感,比如信用评分领域中客户违约率和年收入之间就存在这样的关系,年收入高者与极高者违约的几率相差无几,年收入很低与极低者的违约几率也很相近,差异较大者出现在中间地带。因此我们需要借助连接函数θ(p)来进一步刻画因变量与自变量之间的关系,该连接函数需满足在p=0,p=1附近变化幅度大的特点,用数学公式表达即:

∂θ(p)∂p=1p+11−p

求解可得连接函数形式:

θ(p)=log(p1−p)

设第i个观测中事件发生的概率为:

p(xi;β)=P(Yi=1|X=xi;β)=1−P(Yi=0|X=xi;β)

那么我们可以得知因变量Y的条件分布为伯努利二项分布:

Y|X=xi∼Bernoulli(p(xi;β))

此时上述模型变成:

log{p(xi;β)1−p(xi;β)}=α+βTxi

推导可得Logistic回归模型的表达式:

p(xi;β)=exp(α+βTxi)1+exp(α+βTxi)

模型估计

在普通线性回归模型中,我们可以采用最小二乘估计法和极大似然估计法来估计模型中的未知参数。

最小二乘估计:又称最小平方法,它是一种数学优化技术。它通过最小化误差的平方和寻找与数据最匹配的模型参数。

极大似然估计:也称最大似然估计法,该方法主要利用了大概率的思想。即模型的估计参数应使得样本出现的概率最大。已知某个随机样本服从某种概率分布函数,它通过最大化似然函数来寻找模型的最佳参数。

L(β)=∏i=1Nf(yi,β)=∏i=1Np(xi;β)yi(1−p(xi;β))1−yi

l(β)=∑i=1N{yiβTxi−log(1+exp(βTxi))}

Method1:利用Newton-Raphson Algorithm(梯度下降法)求解:

∂l(β)∂β=XT(Y−P)

∂2l(β)∂β∂βT=−XTWX

其中W表示第k次迭代计算中由p(xi;βk)(1−p(xi;βk))元素组成的对角矩阵。

βk+1=βk+(XTWX)−1XT(Y−P)=(XTWX)

−1XTW(Xβk+W−1(Y−P))=(XTWX)−1XTWZ

即βk+1可以看成变量Z对X回归的加权最小二乘估计值。

Method2:利用Gauss-Seidel算法(坐标下降法)求解。

每次迭代计算时只优化一个参数值,其他参数保持不变。

计算时利用Newton-Raphson算法进行优化,此时我们只需要计算二阶导数的倒数。

变量选择方法(正则化方法)

奥卡姆剃刀(Occam’s razor)原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。

高维统计分析模型通常都是稀疏模型,即真正有效的变量只占一小部分,绝大多数变量都是噪声数据。因此当模型的参数过多时,不仅无法提高模型的解释力,反而会降低模型的解释力。

在这个背景下,统计学家提出了各种各样的变量选择方法来筛选模型中重要的解释变量,从而防止过拟合问题。其中正则化是最常用的一种方法,而正则化方法中最常见的就是L0, L1 和L2范数。

正则化方法的思想:处理最优化函数问题时,在目标函数中加入对参数的约束惩罚项,从而达到简化模型的目的。

而L0, L1和L2范数指的就是三种不同惩罚函数的形式,它们的通式形如

Lp=||β||p=(|β1|p+|β2|p+...+|βn|p)1p

因此L0范数是指向量中非0元素的个数;L1范数是向量中各个元素绝对值之和,它还有一个名字-LASSO;L2范数是向量中各元素平方和的平方根,在计量经济学里面,它又称为“岭回归”。

这三者的区别:

L0范数和L1范数都具有变量选择的功能,但L0范数很难优化求解(NP问题),而L1范数是L0范数的最优凸近似,因此L1范数更容易求解,L1范数被广泛应用到各种各样的模型中;L2范数只能压缩系数的大小却将其压缩到0,因此L2范数没有变量选择的功能。但是利用L2范数(岭回归方法)我们可以解决多重共线性问题并求出回归系数。

原文链接: http://fibears.top/2016/04/08/LRModel/

原文作者: Fibears

原文  http://datartisan.com/article/detail/103.html
正文到此结束
Loading...