一元线性回归用最小二乘法的推导过程
在数据的统计分析中,数据之间即变量x与Y之间的相关性研究非常重要,通过在直角坐标系中做散点图的方式我们会发现很多统计数据近似一条直线,它们之间或者正相关或者负相关。虽然这些数据是离散的,不是连续的,我们无法得到一个确定的描述这种相关性的函数方程,但既然在直角坐标系中数据分布接近一条直线,那么我们就可以通过画直线的方式得到一个近似的描述这种关系的直线方程。当然,从前面的描述中不难看出,所有数据都分布在一条直线附近,因此这样的直线可以画出很多条,而我们希望找出其中的一条,能够最好地反映变量之间的关系。换言之,我们要找出一条直线,使这条直线“最贴近”已知的数据点,设此直线方程为:① y ^ = a + b x \hat{y} = a + bx y^=a+bx
这里的 y ^ \hat{y} y^是为了区分Y的实际值y(这里的实际值就是统计数据的真实值,我们称之为观察值),当x取值 x i x_i xi(i=1,2,3……n)时,Y的观察值为 y i y_i yi,近似值为 y ^ \hat{y} y^(或者说对应的纵坐标是 y ^ = a + b x \hat{y} = a + bx y^=a+bx)。
其中①式叫做Y对x的回归直线方程,b叫做回归系数。要想确定回归直线方程①,我们只需确定a与回归系数b即可。
设x,Y的一组观察值为:
(
x
i
,
y
i
)
(x_i, y_i)
(xi,yi) i = 1,2,3……n
其回归直线方程为:
y
^
=
a
+
b
x
\hat{y} = a + bx
y^=a+bx
当x取值(i=1,2,3……n)时,Y的观察值为,差刻画了实际观察值与回归直线上相应点纵坐标之间的偏离程度,见下图:
实际上我们希望这n个离差构成的总离差越小越好,只有如此才能使直线最贴近已知点。换句话说,我们求回归直线方程的过程其实就是求离差最小值的过程。
一个很自然的想法是把各个离差加起来作为总离差。可是,由于离差有正有负,直接相加会互相抵消,如此就无法反映这些数据的贴近程度,即这个总离差不能用n个离差之和来表示,见下图:
∑
i
=
1
n
(
y
i
−
y
i
^
)
\sum_{i=1}^n (y_i-\hat{y_i})
i=1∑n(yi−yi^)
一般做法是我们用离差的平方和,即:
Q
=
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
=
∑
i
=
1
n
(
y
i
−
a
−
b
x
i
)
2
Q =\sum_{i=1}^n (y_i-\hat{y_i})^2 =\sum_{i=1}^n (y_i-a-bx_i)^2
Q=i=1∑n(yi−yi^)2=i=1∑n(yi−a−bxi)2
作为总离差 ,并使之达到最小。这样回归直线就是所有直线中Q取最小值的那一条。由于平方又叫二乘方,所以这种使“离差平方和为最小”的方法,叫做最小二乘法。
求偏导
Q
=
∑
i
=
1
n
(
y
i
−
y
i
^
)
2
=
∑
i
=
1
n
(
y
i
−
a
−
b
x
i
)
2
∂
Q
∂
a
=
2
∑
i
=
1
n
[
y
i
−
(
a
+
b
x
i
)
]
∗
(
−
1
)
=
2
∑
i
=
1
n
[
a
+
b
x
i
−
y
i
]
=
0
∂
Q
∂
b
=
2
∑
i
=
1
n
[
y
i
−
(
a
+
b
x
i
)
]
∗
(
−
x
i
)
=
2
∑
i
=
1
n
x
i
[
a
+
b
x
i
−
y
i
]
=
0
\begin{aligned} Q &=\sum_{i=1}^n (y_i-\hat{y_i})^2 =\sum_{i=1}^n (y_i-a-bx_i)^2 \\ \frac{\partial Q }{\partial a} & = 2\sum_{i=1}^n[y_i-(a+bx_i)] *(-1) =2\sum_{i=1}^n[a+bx_i-y_i] =0\\ \frac{\partial Q }{\partial b} &= 2\sum_{i=1}^n[y_i-(a+bx_i)] *(-x_i) =2\sum_{i=1}^nx_i[a+bx_i-y_i] =0 \end{aligned}
Q∂a∂Q∂b∂Q=i=1∑n(yi−yi^)2=i=1∑n(yi−a−bxi)2=2i=1∑n[yi−(a+bxi)]∗(−1)=2i=1∑n[a+bxi−yi]=0=2i=1∑n[yi−(a+bxi)]∗(−xi)=2i=1∑nxi[a+bxi−yi]=0
由第一个偏导式化简的到
∑ i = 1 n [ a + b x i − y i ] = 0 ∑ i = 1 n ( a + b x i − y i ) n = 0 a + b x ‾ − y ‾ = 0 a = y ‾ − b x ‾ \begin{aligned} & \sum_{i=1}^n[a+bx_i-y_i] =0 \\ & \frac{\sum_{i=1}^n(a+bx_i-y_i)}{n} = 0 \\ & a+b\overline{x}-\overline{y} = 0 \\ & a = \overline{y} - b \overline{x} \end{aligned} i=1∑n[a+bxi−yi]=0n∑i=1n(a+bxi−yi)=0a+bx−y=0a=y−bx
有第二个偏导式化简的到
∑
i
=
1
n
x
i
(
a
+
b
x
i
−
y
i
)
=
0
∑
i
=
1
n
x
i
(
y
‾
−
b
x
‾
+
b
x
i
−
y
i
)
=
0
∑
i
=
1
n
(
x
i
y
‾
−
b
(
x
i
x
‾
+
x
i
2
)
−
x
i
y
i
)
=
0
∑
i
=
1
n
(
x
i
y
‾
−
x
i
y
i
)
=
∑
i
=
1
n
b
(
x
i
x
‾
−
x
i
2
)
b
∑
i
=
1
n
(
x
i
x
‾
−
x
i
2
)
=
∑
i
=
1
n
(
x
i
y
‾
−
x
i
y
i
)
b
=
∑
i
=
1
n
(
x
i
y
‾
−
x
i
y
i
)
∑
i
=
1
n
(
x
i
x
‾
−
x
i
2
)
b
=
∑
i
=
1
n
(
x
i
y
i
−
x
i
y
‾
)
∑
i
=
1
n
(
x
i
2
−
x
i
x
‾
)
b
=
∑
i
=
1
n
x
i
y
i
−
y
‾
∑
i
=
1
n
x
i
∑
i
=
1
n
x
i
2
−
x
‾
∑
i
=
1
n
x
i
b
=
∑
i
=
1
n
x
i
y
i
−
n
x
‾
y
‾
∑
i
=
1
n
x
i
2
−
n
x
‾
2
\begin{aligned} &\sum_{i=1}^nx_i(a+bx_i-y_i)=0 \\ & \sum_{i=1}^nx_i(\overline{y} - b \overline{x}+bx_i-y_i) =0 \\ & \sum_{i=1}^n(x_i\overline{y} - b (x_i\overline{x}+x_i^2)-x_iy_i) =0 \\ & \sum_{i=1}^n(x_i\overline{y} -x_iy_i) =\sum_{i=1}^nb (x_i\overline{x}-x_i^2) \\ & b \sum_{i=1}^n (x_i\overline{x}-x_i^2)=\sum_{i=1}^n( x_i\overline{y} -x_iy_i ) \\ & b = \frac{\sum_{i=1}^n (x_i \overline{y}-x_i y_i) } {\sum_{i=1}^n (x_i\overline{x}-x_i^2 )} \\ & b = \frac{\sum_{i=1}^n (x_i y_i - x_i \overline{y}) } {\sum_{i=1}^n (x_i^2 - x_i\overline{x} ) } \\ & b = \frac{\sum_{i=1}^n x_i y_i - \overline{y} \sum_{i=1}^n x_i } {\sum_{i=1}^n x_i^2 - \overline{x} \sum_{i=1}^nx_i } \\ & b = \frac{\sum_{i=1}^nx_iy_i-n\overline{x} \overline{y}}{\sum_{i=1}^nx_i^2-n\overline{x}^2} \end{aligned}
i=1∑nxi(a+bxi−yi)=0i=1∑nxi(y−bx+bxi−yi)=0i=1∑n(xiy−b(xix+xi2)−xiyi)=0i=1∑n(xiy−xiyi)=i=1∑nb(xix−xi2)bi=1∑n(xix−xi2)=i=1∑n(xiy−xiyi)b=∑i=1n(xix−xi2)∑i=1n(xiy−xiyi)b=∑i=1n(xi2−xix)∑i=1n(xiyi−xiy)b=∑i=1nxi2−x∑i=1nxi∑i=1nxiyi−y∑i=1nxib=∑i=1nxi2−nx2∑i=1nxiyi−nxy
由以上两个偏导式化简可得:
(
3
)
{
b
=
∑
i
=
1
n
x
i
y
i
−
n
x
‾
y
‾
∑
i
=
1
n
x
i
2
−
n
x
‾
2
a
=
y
‾
−
b
^
x
‾
(3)\begin{cases} b =\frac{\sum_{i=1}^nx_iy_i-n\overline{x} \overline{y}}{\sum_{i=1}^nx_i^2-n\overline{x}^2} \\ a =\overline{y}-\hat{b}\overline{x} \end{cases}
(3){b=∑i=1nxi2−nx2∑i=1nxiyi−nxya=y−b^x
其中 x ‾ , y ‾ \overline{x} , \overline{y} x,y为 x i x_i xi和 y i y_i yi的均值,
我们先给出推导过程中用到的两个关键变形公式的推导过程。首先是第一个公式:
接着是第二个公式:
把上面这两个公式(1)(2)代入下面的公式(3)式得:
{
b
=
∑
i
=
1
n
x
i
y
i
−
n
x
‾
y
‾
∑
i
=
1
n
x
i
2
−
n
x
‾
2
=
∑
i
=
1
n
(
x
i
−
x
‾
)
(
y
i
−
y
‾
)
∑
i
=
1
n
(
x
i
−
x
‾
)
2
=
S
x
y
S
x
x
a
=
y
‾
−
b
^
x
‾
\begin{cases} b =\frac{\sum_{i=1}^nx_iy_i-n\overline{x}\overline{y}}{\sum_{i=1}^nx_i^2-n\overline{x}^2}=\frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2}= \frac{S_{xy}}{S_{xx}} \\ a =\overline{y}-\hat{b}\overline{x} \end{cases}
{b=∑i=1nxi2−nx2∑i=1nxiyi−nxy=∑i=1n(xi−x)2∑i=1n(xi−x)(yi−y)=SxxSxya=y−b^x
其中 x ‾ , y ‾ \overline{x} , \overline{y} x,y为 x i x_i xi和 y i y_i yi的均值, S x y = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) S_{xy} =\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y}) Sxy=∑i=1n(xi−x)(yi−y), S x x = ∑ i = 1 n ( x i − x ‾ ) 2 S_{xx} =\sum_{i=1}^n(x_i-\overline{x})^2 Sxx=∑i=1n(xi−x)2 。
a、b的上方加“︿”表示是由观察值按最小二乘法求得的估计值,a、b求出后,回归直线方程也就建立起来了。
参考资料
【1】https://blog.csdn.net/R18830287035/article/details/88384396
【2】 https://blog.csdn.net/marsjohn/article/details/54911788
【3】https://www.cnblogs.com/KID-yln/p/12840184.html