最小二乘法
最小二乘思想
在现实生活中存在着大量的数量之间的相关关系,比如人的身高和体重,钻石的价格和体积、克拉数,房价和房屋位置、面积、朝向等等。我们可以借助统计学中的回归模型,通过一些可以观测到的值(观测变量、自变量)来预测另外一些不容易观测到的值(响应变量、自变量)。如一元线性模型\(y=ax+b\)、二次函数模型\(y=ax^2+bx+c\)等等。
假设所建立的回归模型的一般形式为:$y=f(x\mid \theta )+\varepsilon \(,其中Y称为响应变量、因变量,x称为解释变量或自变量。
\)f(x\mid \theta )+\varepsilon\(是一个由参数\)\theta\(决定的回归函数,\)\varepsilon$是一个不可观测的随机误差,而最小二乘法是目前最常用的,使误差达到最小的一种数学优化技术。
最小二乘的思想就是要使得观测点和估计点的距离的平方和达到最小。这里的“二乘”指的是用平方来度量观测点与估计点的远近(在古汉语中“平方”称为“二乘”),“最小”指的是参数的估计值要保证各个观测点与估计点的距离的平方和达到最小。
一元线性模型
对于最简单的一元线性模型:\(y=f(x\mid \theta )+\varepsilon\),若\((x_1,y_1),(x_2,y_2),...,(x_n,y_n)\)为收集到的观测数据,则应该用\(\hat{x_i}\)估计\(x_i\),用\(\hat{y_i}=f(\hat{x_i}\mid \theta )+\varepsilon\)估计\(y_i\),这样点\((\hat{x_i},\hat{y_i})\)就是点\((x_i,y_i)\)的估计,它们之间距离的平方就是:\((x_i-\hat{x_i})^2+(y_i-\hat{y_i})^2\)
进而最小二乘估计量就是
达到最小值的参数。
特别当各个\(x_i\)和相应的估计值相等,即\(\hat{x_i}=x_i\)时,最小二乘估计量就是使得
达到最小值的参数。
在实际应用中,人们常忽略“各个\(x_i\)和相应的估计值相等”的条件,而把(2)式的最小值点称为参数\(\theta\)的最小二乘估计量,其原因有二:其一是不知道最小二乘方法的原理;或是找不到估计量\(\hat{x_i}\)的合理数学表达式,也就无法通过(1)式求最小二乘估计量,只好用(2)式的最小值点作为参数的估计。
由于我们这是一元线性模型,则\(f(\hat{x_i}\mid\theta)=ax_i+b\),此时目标函数变成了
我们通过使\(Q(\theta)\)最小得到这条直线,这样一个求极值问题我们可以通过求\(Q(\theta)\)对两个待估参数\(\hat{a}、\hat{b}\)的偏导得到:
最后解得:
拟合多项式曲线
设待拟合的曲线是:
假设有\(n\)个观测点,由上面的理论可知各点到这条曲线的距离和为:
求使得\(Q(\theta)\)最小的\(a_0、a_1、...、a_k\)值,对每一个\(a\)值求偏导:
\(
\frac{\partial Q(\theta)}{\partial a_0}=-2\sum_{i=1}^{n}[y_i-(a_0+a_1x_i+a_2x_i^2+...+a_kx_i^k)]
\)
\(
\frac{\partial Q(\theta)}{\partial a_1}=-2x_i\sum_{i=1}^{n}[y_i-(a_0+a_1x_i+a_2x_i^2+...+a_kx_i^k)]
\)
\(
\frac{\partial Q(\theta)}{\partial a_2}=-2x_i^2\sum_{i=1}^{n}[y_i-(a_0+a_1x_i+a_2x_i^2+...+a_kx_i^k)]
\)
\(...\)
\(
\frac{\partial Q(\theta)}{\partial a_k}=-2x_i^k\sum_{i=1}^{n}[y_i-(a_0+a_1x_i+a_2x_i^2+...+a_kx_i^k)]
\)
令上面的偏导值都为0,化简得:
\(
na_0+\sum_{i=1}^{n}x_ia_1+\sum_{i=1}^{n}x_i^2a_2+...+\sum_{i=1}^{n}x_i^ka_k=\sum_{i=1}^{n}y_i
\)
\(
\sum_{i=1}^{n}x_ia_0+\sum_{i=1}^{n}x_i^2a_1+\sum_{i=1}^{n}x_i^3a_2+...+\sum_{i=1}^{n}x_i^{k+1}a_k=\sum_{i=1}^{n}x_iy_i
\)
\(...\)
\(
\sum_{i=1}^{n}x_i^{k}a_0+\sum_{i=1}^{n}x_i^{k+1}a_1+\sum_{i=1}^{n}x_i^{k+2}a_2+...+\sum_{i=1}^{n}x_i^{2k+1}a_k=\sum_{i=1}^{n}x_i^ky_i
\)
将这组等式表示成矩阵形式:
\(\begin{pmatrix}
n & \sum_{i=1}^{n}x_i& ... & \sum_{i=1}^{n}x_i^k\\
\sum_{i=1}^{n}x_i & \sum_{i=1}^{n}x_i^2 & ... & \sum_{i=1}^{n}x_i^{k+1}\\
\sum_{i=1}^{n}x_i^2 & \sum_{i=1}^{n}x_i^3 & ... & \sum_{i=1}^{n}x_i^{k+2}\\
... & ... & & ...\\
\sum_{i=1}^{n}x_i^{k} & \sum_{i=1}^{n}x_i^{k+1} & ... & \sum_{i=1}^{n}x_i^{2k}\\
\end{pmatrix}\)\(\begin{pmatrix}
a_0\\
a_1\\
a_2\\
...\\
a_k
\end{pmatrix}\)=\(\begin{pmatrix}
\sum_{i=1}^{n}y_i\\
\sum_{i=1}^{n}x_iy_i\\
\sum_{i=1}^{n}x_i^2y_i\\
...\\
\sum_{i=1}^{n}x_i^ky_i
\end{pmatrix}\)
也就是\(XA=Y\),解此矩阵方程求出A,即可得到最佳的拟合曲线。
公式格式出问题时请参考这里:文章备份