【概率与统计】最小二乘法

最小平方法是十九世纪统计学的主题曲。 从许多方面来看, 它之于统计学就相当于十八世纪的微积分之于数学。
----乔治·斯蒂格勒的《The History of Statistics》

1.日用而不知

来看一个生活中的例子。比如说,有五把尺子:

用它们来分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子):

之所以出现不同的值可能因为:

  • 不同厂家的尺子的生产精度不同

  • 尺子材质不同,热胀冷缩不一样

  • 测量的时候心情起伏不定

  • ......

总之就是有误差,这种情况下,一般取平均值来作为线段的长度:

日常中就是这么使用的。可是作为很事'er的数学爱好者,自然要想下:

  • 这样做有道理吗?

  • 用调和平均数行不行?

  • 用中位数行不行?

  • 用几何平均数行不行?

2. 最小二乘法

换一种思路来思考刚才的问题。

首先,把测试得到的值画在笛卡尔坐标系中,分别记作yi:

其次,把要猜测的线段长度的真实值用平行于横轴的直线来表示(因为是猜测的,所以用虚线来画),记作y:

每个点都向y做垂线,垂线的长度就是|y-yi|,也可以理解为测量值和真实值之间的误差:

因为误差是长度,还要取绝对值,计算起来麻烦,就干脆用平方来代表误差:

总的误差的平方就是:

因为y是猜测的,所以可以不断变换:

自然,总的误差也是在不断变化的。

法国数学家,阿德里安-馬里·勒讓德(1752-1833,这个头像有点抽象)提出让总的误差的平方最小的y就是真值,这是基于,如果误差是随机的,应该围绕真值上下波动(关于这点可以看下“如何理解无偏估计?”)。

这就是最小二乘法,即:

这个猜想也蛮符合直觉的,来算一下。

这是一个二次函数,对其求导,导数为0的时候取得最小值:

正好是算术平均数。

原来算术平均数可以让误差最小啊,这下看来选用它显得讲道理了。

以下这种方法:

就是最小二乘法,所谓“二乘”就是平方的意思,台湾直接翻译为最小平方法。

3. 推广

算术平均数只是最小二乘法的特例,适用范围比较狭窄。而最小二乘法用途就广泛。

比如温度与冰淇淋的销量:

看上去像是某种线性关系:

可以假设这种线性关系为:

通过最小二乘法的思想:

上图的i,x,y分别为:

总误差的平方为:

这个时候误差取最小值。

对于a,b而言,上述方程组为线性方程组,用之前的数据解出来:

也就是这根直线:

其实,还可以假设:

在这个假设下,可以根据最小二乘法,算出a,b,c,得到下面这根红色的二次曲线:

同一组数据,选择不同的f(x), 通过最小二乘法可以得到不一样的拟合曲线(出处):

不同的数据,更可以选择不同的f(x), 通过最小二乘法可以得到不一样的拟合曲线:

f(x)也不能选择任意的函数,还是有一些讲究的,这里就不介绍了。

4. 最小二乘法与正态分布

我们对勒让德的猜测,即最小二乘法,仍然抱有怀疑,万一这个猜测是错误的怎么办?

数学王子高斯(1777-1855)也像我们一样心存怀疑。

高斯换了一个思考框架,通过概率统计那一套来思考。

让我们回到最初测量线段长度的问题。高斯想,通过测量得到了这些值:

每次的测量值xi都和线段长度的真值x之间存在一个误差:

这些误差最终会形成一个概率分布,只是现在不知道误差的概率分布是什么。假设概率密度函数为:

再假设一个联合概率密度函数,这样方便把所有的测量数据利用起来:

讲到这里,有些同学可能已经看出来了上面似然函数了(关于似然函数以及马上要讲到的极大似然估计,可以参考“如何理解极大似然估计法?”)。

因为L(x)是关于x的函数,并且也是一个概率密度函数(下面分布图形是随便画的):

根据极大似然估计的思想,概率最大的最应该出现(既然都出现了,而我又不是“天选之才”,那么自然不会是发生了小概率事件),也就是应该取到下面这点:

当下面这个式子成立时,取得最大值:

然后高斯想,最小二乘法给出的答案是:

好,现在可以来解这个微分方程了。最终得到:

这是什么?这就是正态分布啊。

并且这还是一个充要条件:

也就是说,如果误差的分布是正态分布,那么最小二乘法得到的就是最有可能的值。

那么误差的分布是正态分布吗?

我们相信,误差是由于随机的、无数的、独立的、多个因素造成的,比如之前提到的:

  • 不同厂家的尺子的生产精度不同

  • 尺子材质不同,热胀冷缩不一样

  • 测量的时候心情起伏不定

  • ......

那么根据中心极限定理(参考“为什么正态分布如此常见?”),误差的分布就应该是正态分布。

因为高斯的努力,才真正奠定了最小二乘法的重要地位。

例子

最小二乘法也被称作最小平方法,最常用的是普通最小二乘法(Ordinary Least Square),它是一种数学中的优化方法,试图找到一个或一组估计值,使得实际值与估计值的尽可能相似,距离最小,目的是通过已有的数据来预测未知数据。一般通过一条多元一次的直线方程,在二维坐标中即二元一次方程,例如在二维坐标中,有非常多的点分散在其中,试图绘制一条直线,使得这些分散的点到直线上的距离最小。这里的距离最小并非点到直线的垂直距离最短,而是点到直接的y轴距离最短,即通过该点并与y轴平行的直线,点到该y轴平行线与直线交点的距离最短,如下图所示的双向箭头。

最小二乘法的核心思想是通过最下化误差的平方和,试图找到最可能的函数方程 。例如在二维坐标系中存在五个数据点(10,20)、(11,23)、(12,25)、(13,27)、(14,26),希望找出一条该五个点距离最短的直线,根据二元一次方程:y=ax+b

因此,将五个点分别带入该二元方程得到如下:

20=10a+b

23=11a+b

25=12a+b

27=13a+b

26=14a+b

由于最小二乘法是尽可能使得等号两边的方差值最小,因此 :

因此求最小值即可通过对S(a,b)求偏导数获得,并使得一阶倒数的值为0,则:

最小二乘法虽然看似是一个直线方程的问题,但是在实际应用中却应用非常广泛,因为它得到的方程可以视为一个函数模型,该函数模型可以对后续的工作带来极大的便利。例如在某种疾病是在两种条件下发生的,但是需要当这两种条件满足一定关系时才会促发疾病,因此医生就可以通过患病样本获得患病情况下的两种条件值,标记到一个二维坐标中,通过最小二乘法,可以将患病的两种条件通过函数表达出来,从而当有另外一个新疑似患者就医时,则可以根据二元一次方程确定是否可能患有该疾病。

上述过程均是通过线性问题的求解方式进行阐述,但是在更多的时候,需要解决的问题不是一个线性问题,它需要通过多项式拟合的方式进行处理,但是原理和求解方式均一致。虽然最小二乘法易于实现,在各行各业中都被广泛使用,但是它的计算量也比较大,当样本数据不断增加后,计算量会明显增加,在阶数更高时计算量则更为复杂。为解决更多问题,后来也基于最小二乘法衍生出了移动最小二乘法、加权最小二乘法以及偏最小二乘法等。

参考

https://zhuanlan.zhihu.com/p/126133083?ivk_sa=1024320u

https://matongxue.blog.csdn.net/article/details/81127117

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值