线性最小二乘法相关公式的详细推导请转到人教版数学选修三
终于到最后一章了不是吗?很快就可以逃离高中数学的苦海了。
圆锥曲线和导数都通关了,统计那不得直接秒!
等等,这 b ^ \hat b b ^ 的公式是啥来着,残差是谁减去谁来着……
还有尾杀是吧,数学书你不讲武德(吐血)
以上纯属虚构。非常好卡方独立性检验,使我的卡西欧旋转
最小二乘法是最为常用的带误差数据拟合法,除开数学卷子,它也可能出没于如下地点:
物理卷子(例如“实验——探究弹簧伸长量和所挂重物质量的关系”中的作图题)
Excel表格
这篇文章
某些抽卡游戏的玩家自制概率图
可见在数据统计领域,最小二乘法是不可获缺的分析数据的方法;在应试教育领域,它也是高考的一个重要考点。今天就由易到难介绍一番最小二乘法的计算方法。
线性最小二乘法# 学完了高中数学,我们就应该知道这样一些用于计算线性回归的公式:
{ b ^ = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 = ∑ x i y i − n x ‾ y ‾ ∑ x i 2 − n x ‾ 2 a ^ = y ‾ − b ^ x ‾ \begin{cases}
\hat b=\frac{\sum\limits_{i=1}^{n}(x_i-\overline x)(y_i-\overline y)}{\sum\limits_{i=1}^{n}(x_i-\overline x)^2}=\frac{\sum x_iy_i-n\overline x\overline y}{\sum x_i^2-n\overline x^2}
\\\hat a=\overline y-\hat b\overline x
\end{cases} ⎩ ⎨ ⎧ b ^ = i = 1 ∑ n ( x i − x ) 2 i = 1 ∑ n ( x i − x ) ( y i − y ) = ∑ x i 2 − n x 2 ∑ x i y i − n x y a ^ = y − b ^ x 在线性拟合过程中,我们希望拟合直线能够尽可能接近所给的点。而“点与直线的竖直距离”自然就是刻画上述“点与直线接近程度”的首选方案,然而计算距离需要加入绝对值,使得计算不方便,因此以竖直距离平方代替,也就是“二乘”的由来(指平方)。看以下例题:
Example 1. Science of Prescience Pt.I
你向太卜司符玄请教了穷观阵的运作原理。
简而言之,穷观阵会对给定输入物品进行某种运算,根据计算结果,可以推演出周遭事物从古至今的变化历程,从而实现窥探历史、预测将来的神奇功能。当然,由于要保证仙舟的平稳运作,穷观阵的推算模块也必须尽可能减小一切形式的估算误差——即对给定的数据,求得某个直线,使得这条直线能最好的适应这些散点,并请根据推演结果预测数据 x = 5 x=5 x = 5 的结果。
易知 x ‾ = 1 + 2 + 3 + 0.5 4 = 13 8 , y ‾ = 3 + 7 + 10.5 4 = 41 8 \overline x=\frac{1+2+3+0.5}{4}=\frac{13}{8},\overline y=\frac{3+7+10.5}{4}=\frac{41}{8} x = 4 1 + 2 + 3 + 0.5 = 8 13 , y = 4 3 + 7 + 10.5 = 8 41 。
问题很简单,代入上文公式中可以求得 b ^ = ( 3 + 14 + 31.5 + 0 ) − 4 × 1.625 × 4.1 ( 1 + 4 + 9 + 0.25 ) − 4 × 1.625 2 = 1748 275 \hat b=\frac{(3+14+31.5+0)-4\times1.625\times4.1}{(1+4+9+0.25)-4\times1.625^2}=\frac{1748}{275} b ^ = ( 1 + 4 + 9 + 0.25 ) − 4 × 1.62 5 2 ( 3 + 14 + 31.5 + 0 ) − 4 × 1.625 × 4.1 = 275 1748 ,从而得到 a ^ = 41 8 − 1748 275 × 13 8 = − 11449 2200 \hat a=\frac{41}{8}-\frac{1748}{275}\times\frac{13}{8}=-\frac{11449}{2200} a ^ = 8 41 − 275 1748 × 8 13 = − 2200 11449 。因此经验回归方程就是 y ^ = 1748 275 x ^ − 11449 2200 \hat y=\frac{1748}{275}\hat x-\frac{11449}{2200} y ^ = 275 1748 x ^ − 2200 11449 。特别地,点 ( x ‾ , y ‾ ) = ( 13 8 , 41 8 ) (\overline x,\overline y)=(\frac{13}{8},\frac{41}{8}) ( x , y ) = ( 8 13 , 8 41 ) 一定在这条拟合直线上,称作“样本中心”。根据经验回归方程,可得当 x = 5 x=5 x = 5 时, y ^ = 58471 2200 ≈ 26.578 \hat y=\frac{58471}{2200}\approx26.578 y ^ = 2200 58471 ≈ 26.578 。
当然拟合也存在误差,接下来就要设计函数关系,使我们可以对拟合效果进行定量分析。
1.残差分析
实质上是比较估计值和实际值之间的差距,是很简单的一种误差分析方法。定义为“观察值减估计值得到的差”,假如例一中接着给出点 ( 5 , 25 ) (5,25) ( 5 , 25 ) ,那么残差就是 25 − 26.578 = − 1.578 {25-26.578=-1.578} 25 − 26.578 = − 1.578 。可以发现差别不是很大。
2. 线性相关系数
稍难一些,计算量也比较大。样本线性相关系数定义为 r = ∑ ( x i − x ‾ ) ( y i − y ‾ ) ∑ ( x i − x ‾ ) 2 ∑ ( y i − y ‾ ) 2 = ∑ x i y i − n x ‾ y ‾ ∑ x i 2 − n x ‾ 2 ∑ y i 2 − y ‾ 2 r=\frac{\sum(x_i-\overline x)(y_i-\overline y)}{\sqrt{\sum(x_i-\overline x)^2}\sqrt{\sum(y_i-\overline y)^2}}=\frac{\sum x_iy_i-n\overline x\overline y}{\sqrt{\sum x_i^2-n\overline x^2}\sqrt{\sum y_i^2-\overline y^2}} r = ∑ ( x i − x ) 2 ∑ ( y i − y ) 2 ∑ ( x i − x ) ( y i − y ) = ∑ x i 2 − n x 2 ∑ y i 2 − y 2 ∑ x i y i − n x y 。也就是样本的协方差除以根号下 x , y x,y x , y 方差的积。与上边残差分析相比,它能通过 r r r 的符号判断 x , y x,y x , y 究竟是呈现正相关还是负相关,并且 ∣ r ∣ |r| ∣ r ∣ 越接近 1 {1} 1 ,变量之间的线性相关度就越高(拟合效果更好)。例一条件下计算得 r ≈ 0.995 r\approx0.995 r ≈ 0.995 ,可知 x , y x,y x , y 呈正相关关系,且线性相关关系度高,可以用一条直线近似拟合出来。
那么至此我们就完成了一个典型的线性回归方程的例题,接下来看更复杂的情况。
一般形式的最小二乘法# 首先引入一个例题,作为例一的加强版:
Example 2. Science of Prescience Pt.II
我们都知道,命运是捉摸不定的,在起起落落间交替……
你请求太卜大人帮你预测一下近些日子的运势,尽管符玄早已看破你的小心思,但她还是决定给你一次机会。
人生有诸多起伏,符玄从中摘取了一段,并随机挑出了一些散点,拿到你的面前。你发现这些散点近似组成了一个二次函数,符玄也肯定了这点。你的任务是写出一段二次解析式,使得该函数与给出的散点之间的误差最小,并计算当 x = 5 x=5 x = 5 时 y y y 的值。
编号 x y 1 3 4 2 1.5 8.5 3 -0.5 0.5 4 2 8
在二次最小二乘法问题中,b ^ , c ^ \hat b,\hat c b ^ , c ^ 的求解将变得极为复杂。因此我们引入一个新方法来计算拟合曲线。
假设二次函数为 f ( x ) = a x 2 + b x + c f(x)=ax^2+bx+c f ( x ) = a x 2 + b x + c ,令矩阵 β = [ a b c ] \beta=\begin{bmatrix}a&b&c\end{bmatrix} β = [ a b c ] ;矩阵 X = [ 1 x 1 x 1 2 1 x 2 x 2 2 1 x 3 x 3 2 1 x 4 x 4 2 ] X=\begin{bmatrix}1&x_1&x_1^2\\1&x_2&x_2^2\\1&x_3&x_3^2\\1&x_4&x_4^2\end{bmatrix} X = 1 1 1 1 x 1 x 2 x 3 x 4 x 1 2 x 2 2 x 3 2 x 4 2 ;矩阵 A = [ y 1 y 2 y 3 y 4 ] A=\begin{bmatrix}y_1&y_2&y_3&y_4\end{bmatrix} A = [ y 1 y 2 y 3 y 4 ] 。那么有 X X T β = X A XX^T\beta=XA X X T β = X A ,也就是 β = ( X X T ) − 1 X A \beta=(XX^T)^{-1}XA β = ( X X T ) − 1 X A ,根据这个公式就可以直接求出二次函数的系数了。类似地,若需要拟合更高次数的函数,只需更改 X X X 矩阵的形式即可(并按需填充 A A A 矩阵的值)。需要注意的是,n n n 次拟合要求至少给出 n n n 个点的明确坐标,否则这个方法无效。
总结一下,矩阵二乘法的公式是类似于 x 2 β = x y x^2\beta=xy x 2 β = x y 的形式。因为高考只涉及线性回归方程的计算,而在某些情况下,矩阵法计算最小二乘会更加容易和好算(尤其是 x ‾ \overline x x 或 y ‾ \overline y y 出现了小数点的情况下),同时它的公式也比一般的最小二乘公式简便。适合秒选择题(不过一般高考会给出 b ^ \hat b b ^ 的计算公式,最终还是按需取用)