简单应用最小二乘准则

来源:互联网 发布:记账软件破解版 编辑:程序博客网 时间:2024/06/17 23:53

拟合直线

假设我们建立了一个模型,该模型的函数关系为 y=Ax+B ,并且我们收集到m个数据点用于估计AB 。我们用y=ax+b 记作 y=Ax+B 的最小二乘估计。这时候运用最小二乘准则,则需要极小化他们的平方和,即:

S=i=1m[yIf(xi)]2=i=1m(yiaib)2

得到最优解的必要条件是两个偏导数 S/aS/b 等于零。于是沃恩能够得到方程
Sa=2i=1m(yiaib)xi=0

Sb=2i=1m(yiaib)=0

重写这些方程,并且带入xiyi 的值,使用消去法,我们能够得到参数 ab的值,即:
a=mxiyixiyimx2i(xi)2

b=x2iyixiyiyimx2i(xi)2

由此我们得到了这个函数关系的的斜率和截距, ab的值可以使用计算机非常方便的计算出,我们称用于求 ab的方程为 正规方程

拟合幂曲线

现在利用最小二乘准则来对 y=Axn形式的幂曲线进行数据拟合, n在此是一个常量。同样的,我们需要极小化其最小平方和,即:

S=i=1m[yIf(xi)]2=i=1m[yiaxni]2

最优化的必要条件依旧是求得偏导数 S/a等于零的点,我们可以给出方程。
dSda=2i=1mxni[yiaxni]=0

对该方程进行求解,我们可以得到
a=xniyix2ni

这里得记清楚了,n 是一个固定值

经变换的最小二乘拟合

在理论上最小二乘准则的应用非常简单,仅仅是计算出函数关系的平方和,再进行极小化,即求其导数为零的点就可以了。但是在实际应用中,存在着许多困难。
例如我们要研究 f(x)=AeBx的最小二乘拟合,我们会发现,对这个非线性方程组进行求解,是一个及其困难的工作。此外还有许许多多的模型,在求解过程中会产生非常复杂的求解过程。基于这些原因,我们需要进行变换,以求得近似的最小二乘模型。
我们之前曾探讨过,对曲线进行拟合的时候,可以变换数据,将曲线转变为直线,这样可以非常方便的简化过程的计算。
对于我们需要拟合的函数关系 f(x)=AxN,我们用aA的估计,用nN的估计,对方程的两边取对数,得:

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 y 0.7 3.4 7.2 12.4 20.1

我们先使用对其进行数据拟合,将数据代入方程

a=xniyix2ni

可以得到最小二乘近似模型 y=3.1869x2
接着我们采用变换数据的方式来对模型进行拟合,将函数两边取对数,得
lny=lnai+2lnx

将数据代入该方程,我们可以得到y=3.1368x2
两个结果看起来差异并不大,但是因为这是一个指数型的函数,当 x的值越大,差异会变的极其明显。我们可以尝试对数据进行预测,当x=2.25 时,两个方程分别得到 16.133715.8801 。两个预测值有了显著的差异。因此我们可以得到两个事实

  • 对一个方程进行数据变换,得到的结果可以用与数据拟合
  • 变换后的方程和原方程得到的解并不是同一个。因为两个方程的 最小二乘拟合并不是针对同一个模型,两个方程的最优化问题是不同的,所以会出现这种差异。
原创粉丝点击