机器学习40讲_17_16_建模非正态分布广义线性模型
你好,我是王天一。
今天我和你分享的主题是建模,非正态分布广义线性模型。
直观来看呢,上一篇文章中所介绍的逻辑回归,只是对普通线性回归的输出加以变换,从而呢满足问题的需要。
但是在这简单的现象背后,以逻辑回归为代表的这一类推广的线性模型,它具有更加深刻的数学内涵,因而呢也被称为广义线性模型。
线性模型呢它的意义在于说建立了自变量和因变量之间的关联。
那么当自变量变化的时候,因变量也会依照比例产生同等程度的变化。
可是现实世界呢充满着不完美的性质啊,它不是简单的数学模型。
如果说硬要将线性模型套用在实际问题中的话啊,那就很可能会闹出笑话。
比方说如果线性回归告诉你啊,说气温每下降一度啊,不管它是摄氏度还是华氏度,海滩上的游客就会减少一百人。
这样的一条规律呢可能会适用于科巴卡巴呢啊或者巴蒂亚这样的著名的海滩。
因为这些度假胜利呢,他的游客基数是数以万计。
可是对于一个最多只能够接待八十名游客的不知名小海带来说,如果说气温下降一度,是不是意味着游客的数目变成了负二十呢?难不成工作人员也被冻跑了吗?这和不能听相声实际上是一个道理。
那么笑一笑十年少这样的一句俗语啊,它其实也是一个线性模型。
但是如果说这个模型属实的话,可能哪怕只听一分钟相声啊,那我都要回到这个娘胎底去了。
物理学当中呢有个概念叫做半衰期。
不严格的说呢,它指的是放射性元素啊,它的原子核有一半的原子核发生衰变啊所需要的时间。
这个元素的半衰期呢和原子的总量无关。
这一百个原子里面啊有五十个发生衰变的时间啊,和你剩下的这五十个原子里啊有二十五个发生衰变的时间是一样。
那么显然呢,这就代表的另外一种的建模的方式和线性模型相比呢,以半衰期为代表的建模方式啊,它似乎更加符合真实世界的规律。
其实不光是这个半衰期啊,如果你对这个医学有所了解的话啊,这个药物在人体内代谢的这个动力学啊,药代动力学通常也是遵循着这样的一个规律。
那么因变量它变化的绝对尺度啊是非线性。
但是它的变化比率啊,就是变化的这个速度啊,或者说变化的导数会和自变量呈现出线性的关系,这是它的一个特点。
那么半衰期的这个思路呢,也可以自然而然的延伸到离散输出的问题当中,它不只限于这个连续的问题。
如果说气温每上升一度啊,那么我吧去海滩的概率啊就会翻一番。
那么假如说在当前的条件之下啊,我有百分之七十五的这个概率去海滩去这个度假。
那么温度上升一度是不是会将这个概率提高到百分之一百五十呢?那肯定不是啊,这个结果是不符合常理。
气温升高呢,它会让人去海滩的概率增大,把不去海滩的概率减小。
如果说我将这个去与不去的概率的比值啊给它定义为几率,那么气温的升高呢就会导致相对的几率上升,导致相对的几率翻一半,而不是绝对的概率翻一半。
这样的话呢,对前面这个模型的解释啊就更加合理,也更加具有说服力。
那么按照这种方式计算啊,气温上升一度会让百分之七十五的概率变成百分之八十五点七啊,也就是七分之六。
很显然,这样呢就能够说得通。
除了能否真实的表示自变量和音变量之间的关联之外呢,线性回归啊还有一个特点,他还将因变量的误差定义为正态分布。
这呢其实也是一个过于理想的假设,最典型的就是这个离散输出的问题。
当叶变量是离散输出的时候啊,使用正态分布,假设这个建模的效果肯定会大打折扣。
在一场足球比赛当中啊,某支球队啊进球数目超过八个的概率啊微乎其微啊,尤其是像世界杯啊,或者是各大顶级的联赛当中,大家实力都差不多,打出这么一个大屠杀,或者说学习的比分啊,基本上没有可能。
所以在预测一支球队的进球数的时候,我用正态分布去对零一二三四五六七这些离散数值上的因变量进行建模啊,就缺乏合理性。
这个时候呢,一个离散的波综分布才是更好的选择。
但不巧的是什么呢?正态分布是狭义线性模型的核心成分。
回忆一下前面的内容,它是连接最小均方误差和最大自然估计的一个纽带。
那么这个线性回归最优的参数呢,也是在正态的这个分布之下求解出来。
那么在求解的时候,狭义的间径模型建立在最小均方误差的意义之上。
它的解析解呢是由普通的最小二乘法来求出。
那么这个求解时候的一个基本前提就是因变量啊,也就是回归结果的误差,服从正态分布。
既然回归结果的误差服从正态分布啊,那么回归结果本身自然也是服从正态分布误差的正态分布啊,它意味着因变量,它既可以增加,也可以减少啊,围绕着这个均值波动,那么它增加或者减少的范围呢,虽然说不存在上限啊,往上可以到正无穷,往下可以到负无穷,但是却会以一个较大的概率啊出现在较小的区间之内。
可是说啊我们如果按照前文的方式啊去改造这个狭义线性模型的话,这时候噪声的正态的特性啊,就不能够保持了这种情况下简洁明晰的解析解啊,也就不再适用。
所以说呢,综合前面所说到的啊,狭义线性模型和这些局限要拓展线性模型的业务范围的话,新的数学工具是不可或缺的。
广义线性模型就是这样的数学工具。
在广义线性模型当中啊,因变量它可以满足任意形式的概率分布啊,我不非得局限到正态的这个形质之下。
那么它和自变量的线性组合之间的关系呢,则是由联系函数来定义。
那么前面介绍的逻辑回归其实就是广义线性模型的一个实例。
它的因变量是什么呢?是二进制的输出啊,只有零一两个矩值。
联接函数是什么呢?是对数几率函数。
那么从这个特例进行推广,在一般意义上,广义的线性模型啊,它就需要满足一些共性的条件。
首先呢广义线性模型它的基础是指数分布足,这是一个新概念模型的因变量外啊,它由这个指数分布族的自然参数啊伊塔所决定。
那么点击文稿,你可以看到因变量的概率密度函数。
虽然说这个模型呢它看起来比较复杂,但是只要选定合适的函数,BX,还有AX.那么常见的正态分布啊、指数分布啊,这些连续的分布以及二项分布和拨松分布,这些离散的分布都能够满足这个条件。
所以呢这些常用的分布也就都属于指数的分布组。
在因变量啊属于指数分布足啊,或者说满足指数分布足的分布。
这样的前提之下,广义线性模型它需要求解给定数据x的时候啊,一个充分的统计量TY的一个期望。
求解TY在x已知的时候,它的条件期望当TY等于y的时候,哎,就是这个TY呢实际上就是因变量本身。
这时候模型的任务就退化,成为求解因变量它的一个条件期望。
这个条件区望呢我们假设它等于缪。
那么求解的方法呢就是利用联系函数来定义代表自变量的数据和因变量的条件期望值之间的关系。
那么在这里面啊,线性的含义就体现在联系函数的反函数,把GX负一,也就是激活函数。
它的输入是数据的一个线性组合。
当然这个数据的线性组合呢,我们可以进一步的把它写成这个伊塔啊前面所提到的自然参数。
所以呢这个激活函数的输入,也就是自然参数伊塔,这就说明呢数据的线性组合啊,x贝塔就是联系函数啊,在输入为条件期望缪的时候的一个输出。
在正向的时候,我使用的是连续函数的反函数啊激活函数。
那么反过来,当你的连系函数啊输入为缪的时候啊,它的输出就等于数据的线性组合。
X bate总结下来呢指数分不足啊,联系函数还有线性关系。
它们共同构成了广义线性模型的三大要素。
自变量的线性组合啊,也就是指数分布足的自然参数啊,被送入到激活函数当中。
得到的结果就是给定数据的时候啊,因变量的一个条件期望。
那么点击文稿,你可以看到相应的一个数学推导啊,这个过程呢可能比较复杂啊,你可以花一些时间自己的来理解一下。
回头来看呢,广义线性模型它解决了前文狭义线性模型当中提到的两个问题。
这两个问题呢体现在广义线性模型的两种成分之上。
那么自变量和因变量之间的系统性关联,在广义线性模型当中啊体现为系统成分。
其实和狭义的线性模型一样啊,系统成分呢它仍然保留着对自变量的一个线性的性质,仍然是自变量的一个线性组合。
只不过呢这个组合的结果不再是直接的和因变量对应,而是要先做出一重变换,做出非线性的变换。
啊,通过这个非线性的映射,再得到最终的一个因变量。
那么页面量的误差呢,在广义线性模型当中,是以随机成分这个角色来出现这里面的随机成分,它不受正态分布的限制啊,可以被建模,称为任何属于指数分布足的概率分布。
那么使用了指数分布足之后,因变量的均值就能够决定误差的性质,这也让因变量它包含了更多的信息。
这不仅大大拓展了广义陷阱模型的应用范围,也保留了利用最大自然估计来计算最优参数的一个可行性。
那么说到现在呢,系统成分和随机成分啊,两者之间还是井水不犯河水的独立数量,那么把他们俩联系起来的任务就落在了联系函数的身上。
联性函数呢本身是将因变量的数学期望表示成自变量线性组合。
这样的一个函数。
在普通的线性模型当中啊,联性函数就是因变量本身。
而在逻辑回归这样一些比较简单的广义线性模型里联系函数。
它是将指数分布当中的自然参数表示成为自变量的线性组合。
这样的联系函数呢,我们把它叫做正则的联系函数。
正则联系函数的好处是什么呢?它可以保证待估计参数贝塔它的一个最小的完全统计量存在。
所有关于贝塔的信息都可以由一个和贝塔维度相同的函数所获得。
这样的话呢我们在估计这个杯的时候啊,也就有了这个理论基础,我们是能计算出它的最优值和普通的线性模型一样啊,广义线性模型呢也可以从贝叶斯的角度去认识贝叶斯学派。
他是将待估计的参数啊,同样的视为随机变量。
所以呢这里面我们可以假设参数贝塔啊,满足一个多维的正态分布啊,它的鲜验是正态,并且把它结合到原始的最大自然估计当中啊,之所以不使用均匀分布作为线暗分布的原因是什么呢?当这个训练数据线性可分的时候,这种无信息的检验会让似然估计无法计算出结果啊,相当于把简单的问题给复杂化。
那么引入这个正态的现验,可以简化模型选择的过程啊,自动的起到正则化的作用,但是它的计算呢也会更加复杂啊,就求出来解析解啊,需要通过这个数值方法来进行求解。
Sk learn库啊,我们之前所常用的一个库啊,只能够实现逻辑回归。
如果要构造通用意义上的广义陷阱模型的话啊,我们还是要借助这个侧重统计分析the sters models.那么在这里呢我就以泊松回归为例啊,来演示一下这个广义线性模型。
坡送分布呢它适用于描述单位时间或者单位空间内随机事件所发生的次数。
比如说在通信当中,电话交换机接到的呼叫的次数啊,或者是在排队等车的时候,汽车站台的这个候车的人数啊,以及某一段时间之内机器出现的故障数啊,还有自然灾害发生的次数等等。
这些技术的事件啊,都可以用泊松分布来建模。
那么在足球比赛当中呢,由于一支球队在每场比赛里的进球数是典型的技术性变量,所以呢通常使用泊松分布来进行建模啊,这个模型也是呃得到了理论的证明啊,基本上是符合实际。
这里呢我们以新科的英超冠军曼城啊作为数据的采集对象统计,曼城在一七一八赛季所有主场比赛中的进球的数目。
这里面我没有考虑客场因素,得到的呢就是包含着十九个样本的数据集。
那么这个数据集的因变量是符合泊松分布的进球数目啊,也就是每场比赛的进球数。
自变量呢是考虑了一系列和进攻相关的数据,包括射门的次数、射正的次数,哎,就是命中门框的射门次数,还有传球成功率啊,争顶成功率、过人次数以及控球比这么几个属性。
那么点击文稿呢,你可以看到用这些属性对进球数进行拨松回归的一个拟合的结果。
从结果以及结果相应的数值的分析当中可以看到。
首先伯存违规使用的联续函数是自然对数函数啊,求一个log.那么在统计学的显著性上,射正次数啊、传球成功率和控球比率这三个属性啊对于进球数有着明显的影响,它具有明确的统计学意义。
另外三个属性呢则基本没有贡献。
那么点击文稿呢,你还可以看到利用这三个强相关的属性重新来拟合伯送回归。
所得到的结果不难发现啊,基于强相关属性计算出来的线性系数呢基本没有变化。
由于波松回归啊,它使用的连线函数是对数函数,所以把它转化成线性回归的话啊,这个线性的组合分析出来的结果,实际上呢是因变量的期望值的一个对数。
所以要解释这个计算出来的参数呢,就得对它们做一个指数运算。
而且在多变量的情形之下啊,我们要对这个广义线性模型的结果来进行解释的话啊,其实它的解释性也不是很强啊,也不是那么有明确的这个物理意义或者说数学意义。
这里面我们对属性x一啊,也就是这个设正的次数啊,求一个对数等于一点一八,这可以粗略的解释成什么呢?当其他条件不变的时候啊,每多一角命中门框的射门都能让够进球数啊变成原来的一点一八倍。
我原来设一角的时候啊,进球数是一个啊,那么设两角的时候呢,就变成一点一八个可可以看这样的解释释际上并不不具具说服力啊,所以呢这这体现出来啊广广线线模模型扩展它的表达能力的时候啊,实际上付出的代价是可解释性的下降。
今天我和你分享的广义线性模型的概念与原理,它克服了狭义线性模型的一些限制,啊,拓展了线性模型的应用范围,包含着以下四个要点。
第一,广义线性模型从模型解释性,还有变量分布,特性上对普通线性模型做了推广。
第二,广义线性模型假定因变量服从指数分布族当中的概率分布,这呢代表了模型当中的随机成分。
第三,广义线性模型当中,自变量和页变量的关系啊依然由线性系数所决定,这代表了模型当中的系统成分。
第四,联系函数,建立系统成分和随机成分的关联,将指数分布的自然参数表示为自变量的线性组合。
最后要说明的一点是啊,广义线性模型和一般线性模型啊,虽然名字相似啊,尤其是它们英文的名字啊,看起来很像,但呢却是两个不同的概念啊,你可以了解一下它们之间的区别,并在这里呢分享你的见解。