序号 | 内容 |
---|---|
1 | 【数理知识】自由度 degree of freedom 及自由度的计算方法 |
2 | 【数理知识】刚体 rigid body 及刚体的运动 |
3 | 【数理知识】刚体基本运动,平动,转动 |
4 | 【数理知识】向量数乘,内积,外积,matlab代码实现 |
5 | 【数理知识】协方差,随机变量的的协方差,随机变量分别是单个数字和向量时的协方差 |
6 | 【数理知识】旋转矩阵的推导过程,基于向量的旋转来实现,同时解决欧式变换的非线性局限 |
友情提醒:请先服用文章【数理知识】最小二乘法,从线性回归出发,数值举例并用最小二乘法求解回归模型,再来服用本文。
之前的文章【数理知识】最小二乘法,从线性回归出发,数值举例并用最小二乘法求解回归模型中,从回归分析的角度出发,分析了线性回归的模型,举了具体的数值例子,并使用最小二乘法求解了模型的最佳参数。
在之前的回归分析中,举例时使用的是:
但是都是单响应变量,同时也不方便进行矩阵化描述。
在实际的应用中,更多使用的是多解释变量多响应变量的回归模型,同时也会使用矩阵化操作,这样既能节省计算机的资源,还能加速计算的效率。
因此本文将从多解释变量多响应变量出发,重点介绍如何矩阵化,以及矩阵化后的求导运算和操作。
在上述(单解释变量,单响应变量)和的基础上,推广到更一般的线性情况。
这种多解释变量多响应变量的回归模型,可以用公式表征为
y 1 = β 0 + β 1 x 11 + β 2 x 12 + ⋯ + β p x 1 p y 2 = β 0 + β 1 x 21 + β 2 x 22 + ⋯ + β p x 3 p y 3 = β 0 + β 1 x 31 + β 2 x 32 + ⋯ + β p x 3 p ⋮ y m = β 0 + β 1 x m 1 + β 2 x m 2 + ⋯ + β p x m p \begin{aligned} y_1 &= \beta_{0} + \beta_{1} x_{11} + \beta_{2} x_{12} + \cdots + \beta_{p} x_{1p} \\ y_2 &= \beta_{0} + \beta_{1} x_{21} + \beta_{2} x_{22} + \cdots + \beta_{p} x_{3p} \\ y_3 &= \beta_{0} + \beta_{1} x_{31} + \beta_{2} x_{32} + \cdots + \beta_{p} x_{3p} \\ \vdots \\ y_m &= \beta_{0} + \beta_{1} x_{m1} + \beta_{2} x_{m2} + \cdots + \beta_{p} x_{mp} \end{aligned} y1y2y3⋮ym=β0+β1x11+β2x12+⋯+βpx1p=β0+β1x21+β2x22+⋯+βpx3p=β0+β1x31+β2x32+⋯+βpx3p=β0+β1xm1+β2xm2+⋯+βpxmp
可以看到这种回归模型共有
m m m 个响应变量 y 1 , ⋯ , y m y_1, \cdots, y_m y1,⋯,ym,
m ∗ p m * p m∗p 个解释变量 x 11 , ⋯ , x m p x_{11}, \cdots, x_{mp} x11,⋯,xmp,
1 1 1 个参数 β 0 \beta_{0} β0,
p p p 个参数 β 1 , ⋯ , β p \beta_{1}, \cdots, \beta_{p} β1,⋯,βp。
接下来进行矩阵化,令
Y = [ y 1 y 2 ⋮ y m ] m × 1 , X = [ x 11 x 12 ⋯ x 1 p x 21 x 22 ⋯ x 2 p ⋮ ⋮ ⋱ ⋮ x m 1 x m 2 ⋯ x m p ] m × p , β = [ β 1 β 2 ⋮ β p ] p × 1 Y = \left[\begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{matrix}\right]_{m \times 1}, \quad X = \left[\begin{matrix} x_{11} & x_{12} & \cdots & x_{1p} \\ x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \cdots & x_{mp} \\ \end{matrix}\right]_{m \times p}, \quad \beta = \left[\begin{matrix} \beta_{1} \\ \beta_{2} \\ \vdots \\ \beta_{p} \end{matrix}\right]_{p \times 1} Y= y1y2⋮ym m×1,X= x11x21⋮xm1x12x22⋮xm2⋯⋯⋱⋯x1px2p⋮xmp m×p,β= β1β2⋮βp p×1
Y = X β + β 0 \begin{aligned} Y = X \beta + \beta_0 \end{aligned} Y=Xβ+β0
这种形式虽然看着简单清晰,但是多一项 β 0 \beta_0 β0,我们换种形式将 β 0 \beta_0 β0 融进 β \beta β 中去。令
Y = [ y 1 y 2 ⋮ y m ] m × 1 , X = [ 1 x 11 x 12 ⋯ x 1 p 1 x 21 x 22 ⋯ x 2 p ⋮ ⋮ ⋮ ⋱ ⋮ 1 x m 1 x m 2 ⋯ x m p ] m × ( p + 1 ) , β = [ β 0 β 1 β 2 ⋮ β p ] ( p + 1 ) × 1 Y = \left[\begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_m \end{matrix}\right]_{m \times 1}, \quad X = \left[\begin{matrix} 1 & x_{11} & x_{12} & \cdots & x_{1p} \\ 1 & x_{21} & x_{22} & \cdots & x_{2p} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{m1} & x_{m2} & \cdots & x_{mp} \\ \end{matrix}\right]_{m \times (p+1)}, \quad \beta = \left[\begin{matrix} \beta_{0} \\ \beta_{1} \\ \beta_{2} \\ \vdots \\ \beta_{p} \end{matrix}\right]_{(p+1) \times 1} Y= y1y2⋮ym m×1,X= 11⋮1x11x21⋮xm1x12x22⋮xm2⋯⋯⋱⋯x1px2p⋮xmp m×(p+1),β= β0β1β2⋮βp (p+1)×1
然后就变成了
Y = X β \begin{aligned} Y = X \beta \end{aligned} Y=Xβ
接下来的重点就是找寻一个最好的 θ \theta θ 使得 X β − Y X\beta - Y Xβ−Y 最小,即
min β ∥ X β − Y ∥ 2 2 \min_{\beta} \| X \beta - Y \|_2^2 βmin∥Xβ−Y∥22
其中 X , Y X, Y X,Y 是已知的,未知的是 β \beta β。
使用最小二乘法求解最佳参数 β \beta β 时,我们经常看到一个结论公式,即最佳的 β \beta β 为
β = ( X T X ) − 1 X T Y \beta = (X^\text{T} X)^{-1} X^\text{T} Y β=(XTX)−1XTY
但总是不知道其求解过程。因此接下来将讨论如何得到的此结论。
令 J ( β ) = ∥ X β − Y ∥ 2 2 J(\beta) = \| X \beta - Y \|_2^2 J(β)=∥Xβ−Y∥22,这是残差平方和的另一种表示方式。我们可以通过展开这个方程来找到其对应的矩阵形式为
J ( β ) = ( X β − Y ) T ( X β − Y ) J(\beta) = (X \beta - Y)^\text{T} (X \beta - Y) J(β)=(Xβ−Y)T(Xβ−Y)
接下来计算 J ( β ) J(\beta) J(β) 对 β \beta β 的偏导数,并令其等于零而求得 β \beta β 的值。展开上述方程有
J ( β ) = ( X β − Y ) T ( X β − Y ) = ( β T X T − Y T ) ( X β − Y ) = β T X T X β − β T X T Y − Y T X β + Y T Y \begin{aligned} J(\beta) &= (X \beta - Y)^\text{T} (X \beta - Y) \\ &= (\beta^\text{T} X^\text{T} - Y^\text{T}) (X \beta - Y) \\ &= \beta^\text{T} X^\text{T} X \beta - \beta^\text{T} X^\text{T} Y - Y^\text{T} X \beta + Y^\text{T} Y \end{aligned} J(β)=(Xβ−Y)T(Xβ−Y)=(βTXT−YT)(Xβ−Y)=βTXTXβ−βTXTY−YTXβ+YTY
求偏导有
∂ J ( β ) ∂ β = ∂ ∂ β ( β T X T X β − β T X T Y − Y T X β + Y T Y ) \begin{aligned} \frac{\partial J(\beta)}{\partial \beta} &= \frac{\partial}{\partial \beta} (\beta^\text{T} X^\text{T} X \beta - \beta^\text{T} X^\text{T} Y - Y^\text{T} X \beta + Y^\text{T} Y) \end{aligned} ∂β∂J(β)=∂β∂(βTXTXβ−βTXTY−YTXβ+YTY)
这个式子想要求出来必须借助矩阵微积分的规则:对于未知量 X X X 和常数矩阵 A A A,有
根据上述规则分别有
故偏导为
∂ J ( β ) ∂ β = 2 X T X β − 2 X T Y \frac{\partial J(\beta)}{\partial \beta} = 2 X^\text{T} X \beta - 2 X^\text{T} Y ∂β∂J(β)=2XTXβ−2XTY
令其为零有
2 X T X β − 2 X T Y = 0 X T X β − X T Y = 0 X T X β = X T Y β = ( X T X ) − 1 X T Y \begin{aligned} 2 X^\text{T} X \beta - 2 X^\text{T} Y &= 0 \\ X^\text{T} X \beta - X^\text{T} Y &= 0 \\ X^\text{T} X \beta &= X^\text{T} Y \\ \beta &= (X^\text{T} X)^{-1} X^\text{T} Y \end{aligned} 2XTXβ−2XTYXTXβ−XTYXTXββ=0=0=XTY=(XTX)−1XTY
至此,也就得到了最小二乘法的最佳参数的求解公式。