拟合直线
假设我们建立了一个模型,该模型的函数关系为
y=Ax+B
,并且我们收集到m个数据点用于估计
A
和
S=∑i=1m[yI−f(xi)]2=∑i=1m(yi−ai−b)2
得到最优解的必要条件是两个偏导数 ∂S/∂a 和 ∂S/∂b 等于零。于是沃恩能够得到方程
∂S∂a=−2∑i=1m(yi−ai−b)xi=0
∂S∂b=−2∑i=1m(yi−ai−b)=0
重写这些方程,并且带入 xi 和 yi 的值,使用 消去法,我们能够得到参数 a 和 b 的值,即:
b=∑x2i∑yi−∑xiyi∑yim∑x2i−(∑xi)2
由此我们得到了这个函数关系的的斜率和截距, a 和 b 的值可以使用计算机非常方便的计算出,我们称用于求
拟合幂曲线
现在利用最小二乘准则来对
最优化的必要条件依旧是求得偏导数 ∂S/∂a 等于零的点,我们可以给出方程。
dSda=−2∑i=1mxni[yi−axni]=0
对该方程进行求解,我们可以得到
a=∑xniyi∑x2ni
这里得记清楚了, n 是一个固定值
经变换的最小二乘拟合
在理论上最小二乘准则的应用非常简单,仅仅是计算出函数关系的平方和,再进行极小化,即求其导数为零的点就可以了。但是在实际应用中,存在着许多困难。
例如我们要研究
我们之前曾探讨过,对曲线进行拟合的时候,可以变换数据,将曲线转变为直线,这样可以非常方便的简化过程的计算。
对于我们需要拟合的函数关系
f(x)=AxN
,我们用
a
记
lny=lna+nlnx
经过变换后的方程构成了一条直线,所以应用我们上文所说的,对直线应用最小二乘准则得到的斜率和截距的解,我们能够得到:
n=5∑(lnxi)(lnyi)−(∑lnxi)(∑lnyi)5∑(lnxi)2−(∑lnxi)2
lna=∑(lnxi)2(lnyi)−(∑lnxi)∑xi5∑(lnxi)2−(∑lnxi)2
通过上式两个方程,我们就能够简单求得变换后的幂曲线简单的的未知量。
两种幂曲线拟合方法的比较
假设我们得到了一个模型,该模型的函数关系为 y=Ax2 ,我们获取到该模型的相关数据点
x | 0.5 | 1.0 | 1.5 | 2.0 | 2.5 |
---|---|---|---|---|---|
0.7 | 3.4 | 7.2 | 12.4 | 20.1 |
我们先使用对其进行数据拟合,将数据代入方程
a=∑xniyi∑x2ni
可以得到最小二乘近似模型 y=3.1869x2
接着我们采用变换数据的方式来对模型进行拟合,将函数两边取对数,得
lny=lnai+2lnx
将数据代入该方程,我们可以得到 y=3.1368x2
两个结果看起来差异并不大,但是因为这是一个指数型的函数,当 x 的值越大,差异会变的极其明显。我们可以尝试对数据进行预测,当
- 对一个方程进行数据变换,得到的结果可以用与数据拟合
- 变换后的方程和原方程得到的解并不是同一个。因为两个方程的 最小二乘拟合并不是针对同一个模型,两个方程的最优化问题是不同的,所以会出现这种差异。