jiyang1971的个人博客分享 http://blog.sciencenet.cn/u/jiyang1971

博文

计算方法之锦鲤吉祥 精选

已有 5715 次阅读 2018-10-29 21:37 |个人分类:大众物理学|系统分类:科普集锦


 

 

重剑无锋,大巧不工。

 

 

计算方法讲了好几次,但一直没有提到最关键的一个问题:数据是从哪里来的?是从天上掉下来的吗?不是。是自己头脑里固有的吗?不是。你用到的所有数据,只能从测量中来。

 

测量就涉及误差。无论采用多么精密的仪器,你想测量的物理量还是会受到你无法控制的外界因素的影响,其数值就会有起伏,也就是噪声。信噪比(信号与噪声的比值)是衡量某个测量系统的重要参数。

处理这种起伏的方法,经常用的有取平均值或者采用中位数,更精致一点的,还可以对它们进行加权平均(比如说用个高斯窗口什么的)。这些方法假设自己对这些起伏没有任何了解,只能相信“The lord is subtle, but not malicious.”也就是说,除了随机涨落以外,没有任何系统误差。

如果你知道待测量大致的幅度、起伏的大小,也知道测量仪器的精度,就可以用这些知识来改进测量的结果,比如说,卡尔曼滤波和锁相法。知识就是力量。

 

这些方法要么是时间换精度,要么是用知识求效率,总之,数据不是白来的,数值也不是完全精确的。既然如此,做数据拟合的时候,就没有必要像以前介绍的插值法那样(计算方法之推己及人),要求拟合曲线一定经过每一个数据点。不要那么执着于一城一地的得失,对某些点的微小偏离(称为“残差”),是为了实现对全体点的最大忠诚。这就是最小二乘法的原理。

假设你得到的数据是$(x_i,y_i)$,猜测的拟合曲线是$y=f(x)$。如何表示拟合曲线对全体点的最大忠诚呢?可以用最大的残差$\max _i|y_i-f(x_i)|$,也可以用全体残差之和$\sum _i |y_i-f(x_i)|$,但是都不如用残差的平方和$\sum _i (y_i-f(x_i))^2$

用个例子来说明吧。假设你想用$y=f(x)=a+bx+cx^2$来拟合一组数据$(x_i,y_i)$,残差的平方和就是

$\delta (a,b,c)=\sum _i (y_i-f(x_i))^2=\sum _i (y_i-(a+bx_i+cx^2_i))^2$

这个函数依赖于三个拟合参数$a,b,c$,最佳拟合就是让它对这三个参数的导数都等于零,也就是说

$\frac{\partial \delta (a,b,c)}{\partial a}=0$

$\frac{\partial \delta (a,b,c)}{\partial b}=0$

$\frac{\partial \delta (a,b,c)}{\partial c}=0$

这是三个未知数的三个独立方程,而且,因为我们选择的是残差的平方和,这三个方程都是线性方程,太幸福了!很容易就可以得到三个参数的最佳值,也就得到了最佳拟合曲线。

这个方法还可以进一步改进:采用更高次数的代数多项式,采用三角函数乃至指数函数的广义多项式,采用加权系数来区别对待不同位置的数据(“看人下菜碟”)。然而,关键都在于尽可能好地测量数据、尽可能好地猜测拟合函数的形式、尽可能大度地做出妥协,才能得到最佳的结果。

 

当然,如果测量系统的信噪比太低,你根本就看不到信号,所有这些方法可能都没有效果。这时候,不要慌,也不要怕,你可以构建一些适当的模型,用大型计算机做出一堆模板,然后,然后去套那些看似摸不着头绪的数据。只要你运气好,还是有可能套中的。

你也许说,这种方法不就是指望着“瞎猫碰个死耗子”吗?不不不,你说错了,这种方法可不是“守株待兔”,而是有一个光鲜亮丽的称号——锦鲤吉祥!

 

 

 

 



http://blog.sciencenet.cn/blog-1319915-1143490.html

上一篇:博文一千篇
下一篇:计算方法之祖冲之的精度

14 曾泳春 刘艳红 武夷山 黄永义 孙杨 王安良 孙冰 黄裕权 李学宽 史晓雷 徐传胜 沈律 吕喆 王春艳

该博文允许注册用户评论 请点击登录 评论 (8 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-2-19 02:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部