简单应用最小二乘准则

拟合直线

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

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

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

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

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

b=x2iyixiyiyimx2i(xi)2

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

拟合幂曲线

现在利用最小二乘准则来对 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 ,我们用 a A的估计,用 n N的估计,对方程的两边取对数,得:

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.73.47.212.420.1

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

a=xniyix2ni

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

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

  • 对一个方程进行数据变换,得到的结果可以用与数据拟合
  • 变换后的方程和原方程得到的解并不是同一个。因为两个方程的 最小二乘拟合并不是针对同一个模型,两个方程的最优化问题是不同的,所以会出现这种差异。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值