最小二乘法及应用实例
文章目录
- 最小二乘法问题
- **实例1:线性模型**
- **方法一:极值法**
- **方法二:代数方法**
- 补充:向量到子空间的距离
- **方法三:统计回归模型**
- **上机实例2:y=a+blnx+csinx模型**
- **上机实例3:Logistic模型**
- 代码
- 参考文献
最小二乘法问题
by AlphaDog
引言:最小二乘法是一种数学优化技术。它通过最小化误差平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小 。
最小二乘法还可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
实例1:线性模型
在经济学中,个人的收入与消费之间存在着密切的关系。收入越多,消费水平也越高;收入较少,消费水平也较低。从一个社会整体来看,个人的平均收入u与平均消费v之间大致呈线性关系,若u表示收入,v表示支出,则u,v适合
u=a+bvu=a+bv u=a+bv
其中a,b是两个常数。现要根据一组统计数字,求出a,b
表1 收入支出表
年 | 1 | 2 | 3 |
---|---|---|---|
u | 1.6 | 1.7 | 2.0 |
v | 1.2 | 1.4 | 1.8 |
将u,v的值代入上式得到一个非齐次线性方程组
{a+1.2b=1.6,a+1.4b=1.7,a+1.8b=2.0\begin{cases}a+1.2b=1.6,\\a+1.4b=1.7,\\a+1.8b=2.0\end{cases} ⎩⎪⎨⎪⎧a+1.2b=1.6,a+1.4b=1.7,a+1.8b=2.0
从第一、第二个方程解出a=1,b=0.5,代入第三个方程:
1+1.8×0.5=1.9≠2.01+1.8\times0.5=1.9\ne 2.0 1+1.8×0.5=1.9=2.0
这说明上述线性方程组无解。现要求a和b尽可能符合实际情形,即使得平方偏差
[(a+1.2b)−1.6]2+[(a+1.4b)−1.7]2+[(a+1.8b)−2.0]2[(a+1.2b)-1.6]^2+[(a+1.4b)-1.7]^2+[(a+1.8b)-2.0]^2 [(a+1.2b)−1.6]2+[(a+1.4b)−1.7]2+[(a+1.8b)−2.0]2
取最小值。这就是最小二乘问题。
下面我们分别用三种方法(极值法
、代数法
、回归法
)讨论:
方法一:极值法
设通过观测或实验得到一列点(xi,yi)(i=1,2,⋯,n)(x_{i},y_{i})(i=1,2,\cdots,n)(xi,yi)(i=1,2,⋯,n),它们大体上在一条直线上,即大体上可用直线方程来反映变量x与y之间的对应关系(见图1)。现要确定一直线使得与这nnn个点的偏差平方和最小(最小二乘方)。
图1
解:设所求直线方程为y=ax+by=ax+by=ax+b,所观测的n个点为(xi,yi)(i=1,2,⋯,n)(x_{i},y_{i})(i=1,2,\cdots,n)(xi,yi)(i=1,2,⋯,n)。现要确定a,b使得
f(a,b)=∑i=1n(axi+b−yi)2f(a,b)=\displaystyle\sum_{i=1}^{n}(ax_{i}+b-y_{i})^{2} f(a,b)=i=1∑n(axi+b−yi)2
最小。为此,根据二元函数取极值的必要条件,令
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \begin{cases}\…
整理得
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \begin{cases}\…
运用Cramer法则,即得f(a,b)f(a,b)f(a,b)的稳定点
aˉ=n∑i=1nxiyi−∑i=1nxi∑i=1nyin∑i=1nxi2−(∑i=1nxi)2,bˉ=∑i=1nxi2∑i=1nyi−∑i=1nxiyi∑i=1nxin∑i=1nxi2−(∑i=1nxi)2\bar{a}=\frac{n\displaystyle \sum_{i=1}^{n}x_{i}y_{i}-\sum_{i=1}^{n}x_{i}\sum_{i=1}^{n}y_{i}}{n\displaystyle \sum_{i=1}^{n}x_{i}^{2}-(\sum_{i=1}^{n}x_{i})^{2}}, \bar{b}=\frac{\displaystyle \sum_{i=1}^{n}x_{i}^{2}\sum_{i=1}^{n}y_{i}-\sum_{i=1}^{n}x_{i}y_{i}\sum_{i=1}^{n}x_{i}}{n\displaystyle \sum_{i=1}^{n}x_{i}^{2}-(\sum_{i=1}^{n}x_{i})^{2}} aˉ=ni=1∑nxi2−(i=1∑nxi)2ni=1∑nxiyi−i=1∑nxii=1∑nyi,bˉ=ni=1∑nxi2−(i=1∑nxi)2i=1∑nxi2i=1∑nyi−i=1∑nxiyii=1∑nxi
当x1,x2,⋯,xnx_{1},x_{2},\cdots,x_{n}x1,x2,⋯,xn不全相等时,由Cauchy不等式可得n∑i=1nxi2−(∑i=1nxi)2>0n\displaystyle\sum_{i=1}^{n}x_{i}^{2}-(\sum_{i=1}^{n}x_{i})^{2}>0ni=1∑nxi2−(i=1∑nxi)2>0。
为确定点(aˉ,bˉ)(\bar{a},\bar{b} )(aˉ,bˉ)是极小值点,计算Hessian矩阵
H=(faafabfbafbb)H=\begin{pmatrix} f_{aa}&f_{ab}\\ f_{ba}&f_{bb} \end{pmatrix} H=(faafbafabfbb)
又因为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \begin{cases} …
所以Hessian矩阵为正定矩阵,故f(a,b)f(a,b)f(a,b)在点(aˉ,bˉ)(\bar{a},\bar{b})(aˉ,bˉ)取得极小值,也为最小值。
根据式(8)算出实例1的a=0.68,b=0.77a=0.68,b=0.77a=0.68,b=0.77,即
u=0.77+0.68vu=0.77+0.68v u=0.77+0.68v
方法二:代数方法
**例1:**设n阶矩阵A=(aij)m×nA=(a_{ij})_{m\times n}A=(aij)m×n,n元二次型
f(x1,x2,⋯,xn)=∑i=1m(ai1x1+ai2x2+⋯+ainxn)2f(x_{1},x_{2},\cdots,x_{n})=\displaystyle\sum_{i=1}^{m}(a_{i1}x_{1}+a_{i2}x_{2}+\cdots+a_{in}x_{n})^{2} f(x1,x2,⋯,xn)=i=1∑m(ai1x1+ai2x2+⋯+ainxn)2
证:1)该二次型对应的对称方阵为A’A;
2)r(A)=r(A’A).
易证。f(x1,x2,⋯,xn)=(AX)′AX=X′A′AXf(x_{1},x_{2},\cdots,x_{n})=(AX)'AX=X'A'AXf(x1,x2,⋯,xn)=(AX)′AX=X′A′AX
最小二乘法问题:线性方程组
{a11x1+a12x2+⋯+a1nxn=b1,a21x1+a22x2+⋯+a2nxn=b2,⋱am1x1+am2x2+⋯+amnxn=bm\begin{cases} a_{11}x_{1}+a_{12}x_{2}+\cdots+a_{1n}x_{n}=b_{1},\\ a_{21}x_{1}+a_{22}x_{2}+\cdots+a_{2n}x_{n}=b_{2},\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ddots\\ a_{m1}x_{1}+a_{m2}x_{2}+\cdots+a_{mn}x_{n}=b_{m} \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧a11x1+a12x2+⋯+a1nxn=b1,a21x1+a22x2+⋯+a2nxn=b2, ⋱am1x1+am2x2+⋯+amnxn=bm
可能无解,即任意一组数x1,x2,⋯,xnx_{1},x_{2},\cdots,x_{n}x1,x2,⋯,xn都可能使
∑i=1m(ai1x1+ai2x2+⋯+ainxn−bi)2\displaystyle\sum_{i=1}^{m}(a_{i1}x_{1}+a_{i2}x_{2}+\cdots+a_{in}x_{n}-b_{i})^{2} i=1∑m(ai1x1+ai2x2+⋯+ainxn−bi)2
不等于0。设法找到X0=(x10,x20,⋯,xn0)T\boldsymbol X_{0}=(x_{1}^{0},x_{2}^{0},\cdots,x_{n}^{0})^{T}X0=(x10,x20,⋯,xn0)T使(14)最小,这样的解称为最小二乘解。原方程组(13)可写为AX=βAX=\betaAX=β(可能无解),其中
A=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮am1am2⋯amn],β=[b1b2⋮bm],X=[x1x2⋮xn],Y=AXA=\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ a_{m1}&a_{m2}&\cdots&a_{mn} \end{bmatrix}, \boldsymbol{\beta}=\begin{bmatrix} b_{1}\\ b_{2}\\\vdots\\ b_{m} \end{bmatrix},\boldsymbol{X}=\begin{bmatrix} x_{1}\\ x_{2}\\ \vdots\\ x_{n} \end{bmatrix}, \boldsymbol{Y}=A\boldsymbol{X} A=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn⎦⎥⎥⎥⎤,β=⎣⎢⎢⎢⎡b1b2⋮bm⎦⎥⎥⎥⎤,X=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤,Y=AX
最小二乘法就是找X0\boldsymbol X_{0}X0使得Y\boldsymbol{Y}Y与β\boldsymbol{\beta}β的距离最短。由例1,式(14)即为使
∥Y−β∥2\Vert\boldsymbol{Y}-\boldsymbol{\beta} \Vert ^{2} ∥Y−β∥2
为最小。将A的列向量分块,即A=(α1,α2,⋯,αn)A=(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})A=(α1,α2,⋯,αn),其中
α1=[a11a21⋮am1],α2=[a12a22⋮am2],⋯,αn=[a1na2n⋮amn]\boldsymbol\alpha_{1}=\begin{bmatrix} a_{11}\\ a_{21}\\ \vdots\\ a_{m1} \end{bmatrix}, \boldsymbol\alpha_{2}=\begin{bmatrix} a_{12}\\ a_{22}\\ \vdots\\ a_{m2} \end{bmatrix},\cdots, \boldsymbol\alpha_{n}=\begin{bmatrix} a_{1n}\\ a_{2n}\\ \vdots\\ a_{mn} \end{bmatrix} α1=⎣⎢⎢⎢⎡a11a21⋮am1⎦⎥⎥⎥⎤,α2=⎣⎢⎢⎢⎡a12a22⋮am2⎦⎥⎥⎥⎤,⋯,αn=⎣⎢⎢⎢⎡a1na2n⋮amn⎦⎥⎥⎥⎤
也就是:在欧式空间V中有一向量β\boldsymbol \betaβ,由向量组α1,α2,⋯,αn\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n}α1,α2,⋯,αn生成的子空间记为W=L(α1,α2,⋯,αn)≠VW =L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})\ne VW=L(α1,α2,⋯,αn)=V。即
Y=x1α1+x2α2+⋯+xnαnY=x_{1}\boldsymbol\alpha_{1}+x_{2}\boldsymbol\alpha_{2}+\cdots+x_{n}\boldsymbol\alpha_{n} Y=x1α1+x2α2+⋯+xnαn
则Y\boldsymbol YY就是W=L(α1,α2,⋯,αn)W = L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})W=L(α1,α2,⋯,αn)中的向量。最小二乘问题可以叙述为:
找X0\boldsymbol X_{0}X0使的(16)最小,就是在W=L(α1,α2,⋯,αn)W = L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})W=L(α1,α2,⋯,αn)中找一向量Y\boldsymbol{Y}Y,使得β\boldsymbol{\beta }β到Y\boldsymbol{Y}Y的距离比到子空间W=L(α1,α2,⋯,αn)W=L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})W=L(α1,α2,⋯,αn)中其他向量的距离都短。称Y\boldsymbol{Y}Y是β\boldsymbol{\beta}β在W=L(α1,α2,⋯,αn)W = L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})W=L(α1,α2,⋯,αn)中的正交投影向量,长度∥β−Y∥2\Vert\boldsymbol{\beta}-\boldsymbol{Y} \Vert ^{2}∥β−Y∥2称为β\boldsymbol{\beta}β到W的距离。
补充:向量到子空间的距离
定义1:设V是实数域R上的一个线性空间,在V上定义了一个二元实函数,称为内积,记作(α,β)(\boldsymbol\alpha,\boldsymbol\beta)(α,β),具有性质:
- (α,β)=(β,α)(\boldsymbol\alpha,\boldsymbol\beta)=(\boldsymbol\beta,\boldsymbol\alpha)(α,β)=(β,α);
- (kα,β)=k(α,β)(k\boldsymbol\alpha,\boldsymbol\beta)=k(\boldsymbol\alpha,\boldsymbol\beta)(kα,β)=k(α,β);
- (α+β,γ)=(α,γ)+(β,γ)(\boldsymbol\alpha+\boldsymbol\beta,\boldsymbol\gamma)=(\boldsymbol\alpha,\boldsymbol\gamma)+(\boldsymbol\beta,\boldsymbol\gamma)(α+β,γ)=(α,γ)+(β,γ);
- (α,α)≥0(\boldsymbol\alpha,\boldsymbol\alpha)\geq0(α,α)≥0,当且仅当α=0\boldsymbol\alpha=0α=0时(α,α)=0(\boldsymbol\alpha,\boldsymbol\alpha)=0(α,α)=0。
这样的内积空间V称为欧氏空间.
引理1:Cauchy-Bunjakovski不等式。对任意的向量α\boldsymbol\alphaα,β\boldsymbol\betaβ有
∣(α,β)∣≤∥α∥∥β∥|(\boldsymbol\alpha,\boldsymbol\beta) |\leq\Vert\boldsymbol\alpha\Vert\Vert\boldsymbol\beta\Vert ∣(α,β)∣≤∥α∥∥β∥
当且仅当α\boldsymbol\alphaα,β\boldsymbol\betaβ线性下相关时,等号成立.
Gram-Schmidt正交化即可,设γ=α−(α,β)∥β∥2β\boldsymbol\gamma=\boldsymbol\alpha-\frac{(\boldsymbol\alpha,\boldsymbol\beta)}{\Vert\boldsymbol\beta\Vert^{2}}\boldsymbol\betaγ=α−∥β∥2(α,β)β.
定义2:长度∥α−β∥\Vert\boldsymbol\alpha-\boldsymbol\beta\Vert∥α−β∥称为向量α\boldsymbol\alphaα和β\boldsymbol\betaβ的距离。距离的三条基本性质:
- ∥α−β∥=∥β−α∥\Vert\boldsymbol\alpha-\boldsymbol\beta\Vert=\Vert\boldsymbol\beta-\boldsymbol\alpha\Vert∥α−β∥=∥β−α∥;
- ∥α−β∥≥0\Vert\boldsymbol\alpha-\boldsymbol\beta\Vert\geq0∥α−β∥≥0,当且仅当α=β\boldsymbol\alpha=\boldsymbol\betaα=β等号成立;
- ∥α−β∥≤∥α−γ∥+∥γ−β∥\Vert\boldsymbol\alpha-\boldsymbol\beta\Vert\leq\Vert\boldsymbol\alpha-\boldsymbol\gamma\Vert+\Vert\boldsymbol\gamma-\boldsymbol\beta\Vert∥α−β∥≤∥α−γ∥+∥γ−β∥,即三角不等式.
由引理1即可.
定义3:如果向量α\boldsymbol\alphaα,β\boldsymbol\betaβ的内积为零,即
(α,β)=0(\boldsymbol\alpha,\boldsymbol\beta)=0 (α,β)=0
称α\boldsymbol\alphaα,β\boldsymbol\betaβ相互正交或垂直,记为α⊥β\boldsymbol\alpha\perp \boldsymbol\betaα⊥β.
**定义4:**设W是V的一个子空间,W由向量组α1,α2,⋯,αn\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n}α1,α2,⋯,αn生成的子空间,即W=L(α1,α2,⋯,αn)W =L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})W=L(α1,α2,⋯,αn),向量α∈V\boldsymbol\alpha\in Vα∈V垂直于子空间W,就是指α\boldsymbol\alphaα垂直于W中任一向量.
**引理2:**若向量α\boldsymbol\alphaα和β\boldsymbol\betaβ正交,则∥α+β∥2=∥α∥2+∥β∥2\Vert\boldsymbol\alpha+\boldsymbol\beta\Vert^{2}=\Vert\boldsymbol\alpha\Vert^{2}+\Vert\boldsymbol\beta\Vert^{2}∥α+β∥2=∥α∥2+∥β∥2.
**引理3:**向量α\boldsymbol\alphaα垂直于W的充要条件是α\boldsymbol\alphaα垂直于每个αi(i=1,2,⋯,n)\boldsymbol\alpha_{i}(i=1,2,\cdots,n)αi(i=1,2,⋯,n).
定理1:设W是有限维内积空间V的子空间,β∈V\boldsymbol\beta\in Vβ∈V,则在W中存在唯一的向量γ\boldsymbol\gammaγ,使得β\boldsymbol\betaβ到W中各向量的距离以垂线段最短,即∥β−γ∥\Vert\boldsymbol\beta-\boldsymbol\gamma\Vert∥β−γ∥最小且(β−γ)⊥W(\boldsymbol\beta-\boldsymbol\gamma)\perp W(β−γ)⊥W,此时$ \boldsymbol\gamma为为为\boldsymbol\beta$在W的正交投影向量.
证:对于存在性,只需证,对W中任一向量δ\boldsymbol\deltaδ,有
∥β−γ∥≤∥β−δ∥\Vert\boldsymbol\beta-\boldsymbol\gamma\Vert\leq\Vert\boldsymbol\beta-\boldsymbol\delta\Vert ∥β−γ∥≤∥β−δ∥
由β−δ=(β−γ)+(γ−δ)\boldsymbol\beta-\boldsymbol\delta=(\boldsymbol\beta-\boldsymbol\gamma)+(\boldsymbol\gamma-\boldsymbol\delta)β−δ=(β−γ)+(γ−δ),因为W子空间,γ∈W\boldsymbol\gamma\in Wγ∈W,δ∈W\boldsymbol\delta\in Wδ∈W,故(β−γ)⊥(γ−δ)(\boldsymbol\beta-\boldsymbol\gamma)\perp (\boldsymbol\gamma-\boldsymbol\delta)(β−γ)⊥(γ−δ),由引理2,
∥β−γ∥2+∥γ−δ∥2=∥β−δ∥2\Vert\boldsymbol\beta-\boldsymbol\gamma\Vert^{2}+\Vert\boldsymbol\gamma-\boldsymbol\delta\Vert^{2}=\Vert\boldsymbol\beta-\boldsymbol\delta\Vert^{2} ∥β−γ∥2+∥γ−δ∥2=∥β−δ∥2
故
∥β−γ∥≤∥β−δ∥\Vert\boldsymbol\beta-\boldsymbol\gamma\Vert\leq\Vert\boldsymbol\beta-\boldsymbol\delta\Vert ∥β−γ∥≤∥β−δ∥
这就证明了存在性,即向量到子空间的距离以垂线段最短。下证唯一性
设γ1\boldsymbol\gamma_{1}γ1和γ2\boldsymbol\gamma_{2}γ2都是W中满足上述要求的向量,则
∥β−γ1∥≤∥β−γ2∥,∥β−γ2∥≤∥β−γ1∥\Vert\boldsymbol\beta-\boldsymbol\gamma_{1} \Vert\leq\Vert\boldsymbol\beta-\boldsymbol\gamma_{2}\Vert,\Vert\boldsymbol\beta-\boldsymbol\gamma_{2} \Vert\leq\Vert\boldsymbol\beta-\boldsymbol\gamma_{1}\Vert ∥β−γ1∥≤∥β−γ2∥,∥β−γ2∥≤∥β−γ1∥
得∥β−γ1∥=∥β−γ2∥\Vert\boldsymbol\beta-\boldsymbol\gamma_{1} \Vert=\Vert\boldsymbol\beta-\boldsymbol\gamma_{2}\Vert∥β−γ1∥=∥β−γ2∥。又γ1−γ2∈W\boldsymbol\gamma_{1}-\boldsymbol\gamma_{2}\in Wγ1−γ2∈W,据引理2
∥β−γ1∥2=∥β−γ2∥2+∥γ1−γ2∥2\Vert\boldsymbol\beta-\boldsymbol\gamma_{1}\Vert^{2}=\Vert\boldsymbol\beta-\boldsymbol\gamma_{2}\Vert^{2}+\Vert\boldsymbol\gamma_{1}-\boldsymbol\gamma_{2}\Vert^{2} ∥β−γ1∥2=∥β−γ2∥2+∥γ1−γ2∥2
即∥γ1−γ2∥=0\Vert\boldsymbol\gamma_{1}-\boldsymbol\gamma_{2}\Vert=0∥γ1−γ2∥=0,根据内积的性质4,γ1=γ2\boldsymbol\gamma_{1}=\boldsymbol\gamma_{2}γ1=γ2,唯一性得证。
设Y=AX=x1α1+x2α2+⋯+xnαn\boldsymbol{Y}=A\boldsymbol{X}=x_{1}\boldsymbol\alpha_{1}+x_{2}\boldsymbol\alpha_{2}+\cdots+x_{n}\boldsymbol\alpha_{n}Y=AX=x1α1+x2α2+⋯+xnαn为所求向量,则
C=β−Y=β−AX\boldsymbol C=\boldsymbol \beta-\boldsymbol Y=\boldsymbol \beta- A\boldsymbol X C=β−Y=β−AX
必须垂直于子空间W=L(α1,α2,⋯,αn)W=L(\boldsymbol\alpha_{1},\boldsymbol\alpha_{2},\cdots,\boldsymbol\alpha_{n})W=L(α1,α2,⋯,αn),由引理3
(C,α1)=(C,α2)=⋯=(C,αn)=0(\boldsymbol{C},\boldsymbol\alpha_{1})=(\boldsymbol{C},\boldsymbol\alpha_{2})=\cdots=(\boldsymbol{C},\boldsymbol\alpha_{n})=0 (C,α1)=(C,α2)=⋯=(C,αn)=0
即
α1′C=0,α2′C=0,⋯,αn′C=0\boldsymbol\alpha_{1}^{'}\boldsymbol{C}=0,\boldsymbol\alpha_{2}^{'}\boldsymbol{C}=0,\cdots,\boldsymbol\alpha_{n}^{'}\boldsymbol{C}=0 α1′C=0,α2′C=0,⋯,αn′C=0
上述等式即为
A′(β−AX)=0或A′AX=A′βA'(\boldsymbol{\beta}-A\boldsymbol{X})=0或A'A\boldsymbol X=A'\boldsymbol \beta A′(β−AX)=0或A′AX=A′β
在实际问题中,矩阵Am×nA_{m\times n}Am×n的秩通常为n,即r(A)=nr(A)=nr(A)=n,A为列满秩阵,也就是说,A的列向量组线性无关。由例1得r(A′A)=r(A)=nr(A'A)=r(A)=nr(A′A)=r(A)=n,故A’A为非异n×n方阵.
故正则方程A′AXn×1=A′βA'AX_{n\times1}=A'\betaA′AXn×1=A′β一定有解,解为
X=L−1A′β=(A′A)−1A′β\boldsymbol{X}=L^{-1}A'\beta=(A'A)^{-1}A'\beta X=L−1A′β=(A′A)−1A′β
因为
r(A′A)≤r(A′A,A′β)=r(A′(A,β))≤r(A′)=r(A′A)r(A'A)\leq r(A'A,A'\beta)=r\big(A'(A,\beta)\big)\leq r(A')=r(A'A) r(A′A)≤r(A′A,A′β)=r(A′(A,β))≤r(A′)=r(A′A)
即r(A′A)=r(A′A,A′β)r(A'A)= r(A'A,A'\beta)r(A′A)=r(A′A,A′β),故正则方程A′AX=A′βA'AX=A'\betaA′AX=A′β有解,解为L−1A′βL^{-1}A'\betaL−1A′β,其中L=A′AL=A'AL=A′A 。
求出上实例1的最小二乘解,这时:
A=[11.211.411.8],A′=[1111.21.41.8],β=[1.61.72.0]A=\begin{bmatrix} 1&1.2\\ 1&1.4\\ 1&1.8 \end{bmatrix},A'=\begin{bmatrix} 1&1&1\\ 1.2&1.4&1.8 \end{bmatrix},\beta=\begin{bmatrix} 1.6\\ 1.7\\ 2.0 \end{bmatrix} A=⎣⎡1111.21.41.8⎦⎤,A′=[11.211.411.8],β=⎣⎡1.61.72.0⎦⎤
A为秩为2的列满秩阵,计算得最小二乘解(近似解)为
X=(ab)=(A′A)−1A′β=(0.770.68)X=\begin{pmatrix} a\\ b \end{pmatrix}=(A'A)^{-1}A'\beta=\begin{pmatrix} 0.77 \\ 0.68 \end{pmatrix} X=(ab)=(A′A)−1A′β=(0.770.68)
故
u=0.77+0.68vu=0.77+0.68v u=0.77+0.68v
方法三:统计回归模型
同上,含有n-1个自变量的线性回归模型的一般形式为
Y=β1+β2X1+⋯+βnXn−1+eY=\beta_{1}+\beta_{2}X_{1}+\cdots+\beta_{n}X_{n-1}+e Y=β1+β2X1+⋯+βnXn−1+e
若进行了m次观察,会得到m组数据,即
yi=β1+β2xi,1+⋯+βnxi,n−1+ei,(i=1,2,⋯,m)y_{i}=\beta_{1}+\beta_{2}x_{i,1}+\cdots+\beta_{n}x_{i,n-1}+e_{i},(i=1,2,\cdots,m) yi=β1+β2xi,1+⋯+βnxi,n−1+ei,(i=1,2,⋯,m)
不妨记
X=[1x11⋯x1,n−11x21⋯x2,n−1⋮⋮⋱⋮1xm1⋯xm,n−1],β=[β1β2⋮βn],y=[y1y2⋮yn],e=[e1e2⋮en]X=\begin{bmatrix} 1&x_{11}&\cdots&x_{1,n-1}\\ 1&x_{21}&\cdots&x_{2,n-1}\\ \vdots&\vdots&\ddots&\vdots\\ 1&x_{m1}&\cdots&x_{m,n-1} \end{bmatrix}, \boldsymbol{\beta}=\begin{bmatrix} \beta_{1}\\ \beta_{2}\\\vdots\\ \beta_{n} \end{bmatrix},\boldsymbol{y}=\begin{bmatrix} y_{1}\\ y_{2}\\ \vdots\\ y_{n} \end{bmatrix}, \boldsymbol{e}=\begin{bmatrix} e_{1}\\ e_{2}\\ \vdots\\ e_{n} \end{bmatrix} X=⎣⎢⎢⎢⎡11⋮1x11x21⋮xm1⋯⋯⋱⋯x1,n−1x2,n−1⋮xm,n−1⎦⎥⎥⎥⎤,β=⎣⎢⎢⎢⎡β1β2⋮βn⎦⎥⎥⎥⎤,y=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤,e=⎣⎢⎢⎢⎡e1e2⋮en⎦⎥⎥⎥⎤
把上述线性回归模型记作
y=Xβ+e,E(e)=0,Cov(e)=σ2In×n\boldsymbol{y}=X\boldsymbol\beta+\boldsymbol e,E(e)=0,Cov(e)=\sigma^{2}I_{n\times n} y=Xβ+e,E(e)=0,Cov(e)=σ2In×n
即要求误差向量e=y−Xβ\boldsymbol{e}=\boldsymbol{y}-X\boldsymbol{\beta}e=y−Xβ最小,即模长的平方
Q(β)=∥y−Xβ∥2=(y−Xβ)′(y−Xβ)Q(\beta)=\Vert\boldsymbol{y}-X\boldsymbol{\beta} \Vert^{2}=(\boldsymbol{y}-X\boldsymbol{\beta})'(\boldsymbol{y}-X\boldsymbol{\beta}) Q(β)=∥y−Xβ∥2=(y−Xβ)′(y−Xβ)
达到最小即可。求β^\hat{\boldsymbol\beta}β^为满足上述Q(β)Q(\beta)Q(β)最小即可,式(39)展开
Q(β)=y′y−2y′Xβ+β′X′XβQ(\boldsymbol\beta)=\boldsymbol{y'}\boldsymbol{y}-2\boldsymbol{y'}X\boldsymbol{\beta}+\boldsymbol\beta'X'X\boldsymbol\beta Q(β)=y′y−2y′Xβ+β′X′Xβ
利用矩阵微商公式
∂y′Xβ∂β=X′y,∂β′X′Xβ∂β=2X′Xβ\frac{\partial \boldsymbol{y'}X\boldsymbol{\beta}}{\partial \boldsymbol{\beta}}=X'\boldsymbol{y},\frac{\partial \boldsymbol\beta'X'X\boldsymbol\beta}{\partial \boldsymbol \beta}=2X'X\boldsymbol\beta ∂β∂y′Xβ=X′y,∂β∂β′X′Xβ=2X′Xβ
可得
∂Q(β)∂β=−2X′β+2X′Xβ\frac{\partial Q(\boldsymbol\beta)}{\partial\boldsymbol\beta}=-2X'\boldsymbol\beta+2X'X\boldsymbol\beta ∂β∂Q(β)=−2X′β+2X′Xβ
令式(42)等于0,同样可得正则方程
X′Xβ=X′yX'X\boldsymbol\beta=X'\boldsymbol y X′Xβ=X′y
其中X为列满秩阵,则最小二乘解为
β^=L−1X′y=(X′X)−1X′y\hat{\boldsymbol{\beta}}=L^{-1}X'\boldsymbol{y}=(X'X)^{-1}X'\boldsymbol y β^=L−1X′y=(X′X)−1X′y
上机实例2:y=a+blnx+csinx模型
有一组观测数据
图2
即为
Y=Xβ+ϵY=X\beta+\epsilon Y=Xβ+ϵ
其中,
Y=[y1y2⋮yn],X=[1lnx1sinx11lnx2sinx2⋮1lnxnsinxn],β=[abc],ϵ=[ϵ1ϵ2⋮ϵn]Y=\begin{bmatrix} y_{1}\\ y_{2}\\\vdots\\ y_{n} \end{bmatrix},X=\begin{bmatrix} 1&\ln x_{1}&\sin x_{1}\\ 1&\ln x_{2}&\sin x_{2}\\ &\vdots&\\ 1&\ln x_{n}&\sin x_{n} \end{bmatrix}, \boldsymbol{\beta}=\begin{bmatrix} a\\ b\\ c \end{bmatrix}, \boldsymbol{\epsilon}=\begin{bmatrix} \epsilon_{1}\\ \epsilon_{2}\\ \vdots\\ \epsilon_{n} \end{bmatrix} Y=⎣⎢⎢⎢⎡y1y2⋮yn⎦⎥⎥⎥⎤,X=⎣⎢⎢⎢⎡111lnx1lnx2⋮lnxnsinx1sinx2sinxn⎦⎥⎥⎥⎤,β=⎣⎡abc⎦⎤,ϵ=⎣⎢⎢⎢⎡ϵ1ϵ2⋮ϵn⎦⎥⎥⎥⎤
容易最小二乘解为
β^=L−1X′y=(abc)\hat{\boldsymbol{\beta}}=L^{-1}X'\boldsymbol{y}=\begin{pmatrix} a\\ b\\ c \end{pmatrix} β^=L−1X′y=⎝⎛abc⎠⎞
clear
clc
a=2;b=-2;c=2;
x=1:100;x=x';
y=a+b*log(x)+c*sin(x);
y1=y+5*(2*rand(1,size(y,2))-1);%设置y的偏移量,生成数据量
x1=ones(length(x),1);x2=log(x);x3=sin(x);
X=[x1,x2,x3];Y=y1;
belta=(inv(X'*X))*X'*Y;
a=belta(1);b=belta(2);c=belta(3);
disp("a=");disp(a);disp("b=");disp(b);disp("c=");disp(c);
y2=a+b*log(x)+c*sin(x);
plot(x,y1,'k.');hold on;plot(x,y2,'r');
set(gca,'ygrid','on');legend("数据点","拟合曲线");
上机实例3:Logistic模型
Logistic模型的一般形式为
y=a1+b⋅e−cxy=\frac{a}{1+b\cdot\mathrm{e}^{-cx}} y=1+b⋅e−cxa
两边取对数,整理得
1⋅lnb−x⋅c=ln(ay−1)1\cdot \ln b-x\cdot c=\ln(\frac{a}{y}-1) 1⋅lnb−x⋅c=ln(ya−1)
利用最小二乘法求得一组初值
可先取a的初值,使得a>max{yi}a>\max \left\{ y_{i}\right\}a>max{yi}
利用最小二乘法,整理得
[ln(ay1−1)ln(ay2−1)⋮ln(ayn−1)]=[1−x11−x2⋮⋮1−xn]⋅[lnbc]\begin{bmatrix} \ln(\frac{a}{y_{1}}-1)\\ \ln(\frac{a}{y_{2}}-1)\\ \vdots\\ \ln(\frac{a}{y_{n}}-1) \end{bmatrix}= \begin{bmatrix} 1&-x_{1}\\ 1&-x_{2}\\ \vdots&\vdots\\ 1&-x_{n} \end{bmatrix}\cdot \begin{bmatrix} \ln b\\ c \end{bmatrix} ⎣⎢⎢⎢⎡ln(y1a−1)ln(y2a−1)⋮ln(yna−1)⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡11⋮1−x1−x2⋮−xn⎦⎥⎥⎥⎤⋅[lnbc]
即得a,b,ca,b,ca,b,c的一组初值,而后利用L-M非线性拟合方法即得。
图3
clear
clc
y=[41,62,291,440,571,830,1287,3043,5587,7286,8543,9992,10791,11541,11932];
x=1:length(y);a=max(y)+100;
x1=ones(length(x),1);x2=-x';
X=[x1,x2];Y=log(a./y-1)';
belta=(inv(X'*X))*X'*Y;
b=exp(belta(1));c=belta(2);c0=[a,b,c];%求得初值
fun=inline('c(1)./(1+c(2).*exp(-c(3).*x))','c','x');
beta=nlinfit(x,y,fun,c0);disp("各参数的值(c(1) c(2) c(3)):");disp(beta);
y2=beta(1)./(1+beta(2).*exp(-beta(3).*x));
plot(x,y,'k.');hold on;plot(x,y2);
set(gca,'ygrid','on');legend("数据点","拟合曲线");
代码
参考文献
[1]姚慕生,吴泉水,谢启鸿.高等代数学(第三版)[M].2014.
[2]高等代数学(第四版)[M].北大出版社
[3]最小二乘估计及证明CSDN
elta(1));c=belta(2);c0=[a,b,c];%求得初值
fun=inline(‘c(1)./(1+c(2).*exp(-c(3).*x))’,‘c’,‘x’);
beta=nlinfit(x,y,fun,c0);disp(“各参数的值(c(1) c(2) c(3)):”);disp(beta);
y2=beta(1)./(1+beta(2).*exp(-beta(3).*x));
plot(x,y,‘k.’);hold on;plot(x,y2);
set(gca,‘ygrid’,‘on’);legend(“数据点”,“拟合曲线”);
### 代码### 参考文献[[1]姚慕生,吴泉水,谢启鸿.高等代数学(第三版)[M].2014.]()[[2]高等代数学(第四版)[M].北大出版社]()[[3]最小二乘估计及证明CSDN](https://blog.csdn.net/qq_31073871/article/details/81067301)[[4]王媛. 线性回归模型的二阶最小二乘估计[D].北京交通大学,2016.]()
最小二乘法及应用实例相关推荐
- matlab 最小二乘法拟合_实例分析,如何用最小二乘法做线性回归?
最小二乘法是一种通过数值对曲线函数拟合的一种统计学方法,这里的最小是拟合误差达到最小.我们可以根据拟合后的函数可以做一些预测或预报.它在数字信号处理.机器学习等领域广泛的应用.本文W君将和大家一起学习 ...
- 灰度拉伸python,Python OpenCV实例:图像灰度拉伸
Python OpenCV实例:图像灰度拉伸 Python OpenCV实例:图像灰度拉伸 为什么80%的码农都做不了架构师?>>> #coding:utf-8 ''' 灰度拉伸 定 ...
- python效果实例,Python实例:毛玻璃效果
Python实例:毛玻璃效果 Python实例:毛玻璃效果 为什么80%的码农都做不了架构师?>>> #coding:utf-8 ''' 毛玻璃效果 ''' import cv2 i ...
- python爬虫可以爬哪些山_从python爬虫,到更爱这个世界
16年的10月份正式接触编程,现在回想,似乎就在昨天.从最基本的数据类型开始,到能够写一个简单的爬虫.掉过的坑,只有经历过才知道,什么叫"从入门到秃顶''. 每一个励志要转行编程,利用工作间 ...
- 数学建模,8月学习感想
数学建模概览 Matlab入门 常用的操作指令 数据类型 建模流程 分析问题 建立模型&求解模型 数据建模技术 优化技术 连续模型求解 评价模型求解 机理建模方法 撰写论文 前情提示 正文部分 ...
- 《 线性代数及其应用 (原书第4版)》—— 导读
前 言 学生和教师对本书前三版本的反响十分令人满意. 第4版在第3版的基础上为课程教学和软件技术应用提供了更多支持. 像以前一样,本书给出最新的线性代数基本介绍和一些有趣应用,使得已完成大学第二学期数 ...
- 【阿旭机器学习实战】【6】普通线性线性回归原理及糖尿病进展预测实战
[阿旭机器学习实战]系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流. 本文对机器学习中的线性回归模型原理进行了简单介绍,并且通过实战案例糖尿病进展预测,介绍了其基本使用 ...
- 前端开发基础知识汇总
一.HTML 1.前言与常用标签 浏览器 内核 备注 IE Trident IE.猎豹安全.360极速浏览器.百度浏览器 firefox Gecko 可惜这几年已经没落了,打开速度慢.升级频繁.猪一样 ...
- Spring Cloud微服务系统架构的一些简单介绍和使用
Spring Cloud 目录 特征 云原生应用程序 Spring Cloud上下文:应用程序上下文服务 引导应用程序上下文 应用程序上下文层次结构 改变Bootstrap的位置Properties ...
最新文章
- C 一个数组删除一项 并且移位
- 【强化学习】Actor-Critic
- wxWidgets:wxAuiNotebook类用法
- python list删除元素_python中List添加、删除元素的几种方法
- 【NOI2016】循环之美【莫比乌斯反演】【整除分块】【杜教筛】【类杜教筛】
- down.php无法打开,php下载文件 图片不能打开,该怎么解决
- sudo apt-get nmap 报错锁占用
- php carbon 连续日期,日期及时间处理包 Carbon 在 Laravel 中的简单使用
- Qt文档阅读笔记-QtWebApp官方解析与实例(使用QtWebApp搭建HTTP服务器)
- 如何得到发送邮件服务器地址(SMTP地址)
- 01-linux下Postgresql的安装
- tipask二次开发总结_二次开发自我总结
- 1101 害死人不偿命的猜想 PAT
- Go语言第一深坑 - interface 与 nil 的比较 (转)
- 2015年 不可不知的五大热点话题
- nginx代理php不能跳转页面,nginx 解决首页跳转问题详解
- zabbix 3.2 mysql_zabbix3.2的server和zabbix-agent2.2怎么监控MySQL的办法
- pid温度控制c语言程序,51单片机PID温度控制程序
- 色彩颜色对照表(一)(16进制、RGB、CMYK、HSV、中英文名)
- DY-SV17F运用集—语音IC
热门文章
- android studio 实例代码,android studio学习之一(示例代码)
- JAVA练习题38:正则表达式基本练习
- HTML中表格table边框border(1px还嫌粗)的解决方案:
- 干货!!不同程序员岗位对不同电脑性能的要求(编程开发选电脑)
- linux和手机通讯,在Linux的系统下使用红外进行手机通讯
- 12--CSS导航栏(知识点复习)
- 关于tomcat启动报错Error deploying web application directory [C:\......]出现的其中一种问题解决:
- 使用lanyu的激活码,报错1653219,解决办法
- 其他——dhtmlxGantt甘特图API精华总结
- Solidworks二次开发平台 --- RyS.SwWorks [2015-09-18更新]