1 日用而不知
来看一个生活中的例子。比如说,有五把尺子:
用它们来分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子):
之所以出现不同的值可能因为:
不同厂家的尺子的生产精度不同
尺子材质不同,热胀冷缩不一样
测量的时候心情起伏不定
…
总之就是有误差,这种情况下,一般取平均值来作为线段的长度:
日常中就是这么使用的。可是作为很事’er的数学爱好者,自然要想下:
这样做有道理吗?
用调和平均数行不行?
用中位数行不行?
用几何平均数行不行?
2 最小二乘法
换一种思路来思考刚才的问题。
首先,把测试得到的值画在笛卡尔坐标系中,分别记作yi:
其次,把要猜测的线段长度的真实值用平行于横轴的直线来表示(因为是猜测的,所以用虚线来画),记作y:
每个点都向y做垂线,垂线的长度就是|y-yi| ,也可以理解为测量值和真实值之间的误差:
因为误差是长度,还要取绝对值,计算起来麻烦,就干脆用平方来代表误差:
误差的平方和就是:
因为y 是猜测的,所以可以不断变换:
自然,误差的平方和在不断变化的
法国数学家,阿德里安-马里·勒让德提出让总的误差的平方最小的y就是真值,这是基于,如果误差是随机的,应该围绕真值上下波动(关于这点可以看下“如何理解无偏估计?”)。
勒让德的想法变成代数式就是:
这个猜想也蛮符合直觉的,来算一下。
这是一个二次函数,对其求导,导数为0的时候取得最小值:
进而:
正好是算术平均数。
原来算术平均数可以让误差最小啊,这下看来选用它显得讲道理了。
以下这种方法:
就是最小二乘法,所谓“二乘”就是平方的意思,台湾直接翻译为最小平方法。
3 推广
算术平均数只是最小二乘法的特例,适用范围比较狭窄。而最小二乘法用途就广泛。
比如温度与冰淇淋的销量:
看上去像是某种线性关系:
可以假设这种线性关系为:
通过最小二乘法的思想:
上图i,x,y分别为:
总误差的平方为:
不同的a,b 会导致不同的S,根据多元微积分的知识,当:
这个时候S^2取最小值。
对于a,b而言,上述方程组为线性方程组,用之前的数据解出来:
也就是这根直线:
其实,还可以假设:
在这个假设下,可以根据最小二乘法,算出a,b,c,得到下面这根红色的二次曲线:
同一组数据,选择不同的f(x) ,通过最小二乘法可以得到不一样的拟合曲线(出处):
不同的数据,更可以选择不同的f(x),通过最小二乘法可以得到不一样的拟合曲线:
f(x)也不能选择任意的函数,还是有一些讲究的,这里就不介绍了。