24小时热门版块排行榜    

查看: 3015  |  回复: 14
【奖励】 本帖被评价5次,作者dnp增加金币 3.75
当前主题已经存档。

dnp

荣誉版主 (知名作家)


[资源] 数据平滑方法简介(一)

我和lhdcsu分别发了一些帖子,并介绍了化学计量学里面最基础的两门学科:线性代数以及统计学,前者为我们的体系建立了一个模型,并提供了非常丰富而又灵活的解决方法,后者为我们提供了评价我们这个体系的方法以及如何最好地解决这个体系的思路。在化学中,数学方法解决了化学家非常多的问题,然而仍然有非常多的体系用目前的化学计量学方法无法解决,因而必须发展新的方法以解决化学中所存在的黑箱子已经非常迫切了。
       数据平滑方法是色谱,波谱解析中必不可少的一个预处理步骤。因为对于我们仪器中所产生的数据,噪声存在是不可避免的,而如何有效的去除我们数据中存在的噪声以提高色谱或者波谱的信噪比,一直以来都是化学家研究的重大难题之一,并到现在已经提出了非常多的方法,从最简单的移动窗口平均法到移动窗口拟和多项式平滑,再到小波变换,傅利叶变换,以及各种各样的回归平滑方法,如分量回归平滑等。虽然平滑必不可少,然而选择一个好的平滑方法却非常重要,因为一个参数选择不好的话就可能使你的数据处理结果因为失真太严重而没有说服力,或者会达不到平滑的效果(尤其是在有异常点或者异常峰存在的时候)。
       由于方法太多,因而无法穷尽所有的平滑方法,而且有很多方法我也是不知道的,所以在这里发表了一下我所知道的一些平滑方法,以为大家讨论之资,也请大家能够提出一些看法或者新的方法来互相讨论。这个帖子中我想讨论的是移动窗口多项式最小二乘拟和平滑方法,粗糙惩罚方法,以及kernel平滑方法。
       移动窗口拟和多项式平滑方法(也称为Savitzky-Golay平滑)最初是由Savitzky & Golay在1964年提出来,后来经过Steinier (1973)纠正,并由Gorry给出了更一般的计算公式。我试了一下,由Gorry给出的计算公式中,用正交多项式对SG平滑的边界点进行计算,我觉得不是很好,因此只用了Steinier给出的纠正算法来平滑,在matlab里面也有一个命令 y = sgolayfilt(x,k,f),x是平滑数据,k是平滑多项式窗口宽度,f是多项式次数。
        然而,移动窗口多项式是采用的最小二乘拟和,而最小二乘拟和有一个缺陷就是在求逆的时候如果矩阵奇异的话,求逆就会得到非常大的误差。同时,如果你的数据存在异常点(outlier)的话,用最小二乘所得到的模型就会有崩溃的危险,因而在这种情况下需要用一个比较稳健的方法来进行平滑,最简单的就是移动窗口中位数平滑方法,在程序附件程序中已经给出,在图outlier中curve3就是经过中位数平滑后的结果,虽然有点失真,但蓝框框中的奇异点却被平滑。而且,上面的移动窗口平滑,对于最初的几个点和最后的几个点都无法估计,就像我在前面说的,Gorry给出了一般的SG平滑公式,边界点由正交多项式拟和,这个有时候得到的误差却很大。因此,粗糙惩罚就由统计中引入了化学计量学中,其最初由Silverman提出,他是在最小二乘判别后面加上一项惩罚项,这样既兼顾到了拟和的作用(这个是最小二乘的优势,不能丢),同时又对数据进行了惩罚,越粗糙的数据惩罚越大,即使其对整个平滑过程的作用就越小,从而相对加大了好点的作用。
         kernel方法在各个领域应用得非常广泛,其平滑方法更是在信息领域作用非凡。其也是一种移动窗口平滑方法,利用加权方法提取周围点的信息,而中心点的权重最大,这样就对窗口内的各个点进行拟和(本质上和移动窗口多项式平滑方法相同)。因此,kernel平滑方法就是利用不同的权重函数对数据进行平滑,当初最流行的是Nadaraya-Waston估计器,即权函数,后来由Gasser & Muller进行了改进,我的程序就是用改进的平滑方法。
        matlab程序和算法文件都在附件的压缩文件(smooth.rar)中,程序都是我自己编的,请大家指正一下。特别是经过这么段时间的观察,论坛里面高手多多,请多多指教。
         上传图片:两个图分别为有奇异点(蓝框框中,人为设置)(outlier.jpg)和无奇异点(normal.jpg)的色谱图,图中
curve 1:模拟的色谱图加高斯噪声;
curve 2: 经过SG平滑,平滑窗口大小为7,多项式次数为3;
curve 3: 经过中位数平滑,窗口大小为9(请注意蓝框框中的奇异峰位置);
curve 4: 用粗糙惩罚进行平滑(注意边界点);
curve 5: 经过平方kernel平滑。

最后祝大家新年快乐!

[ Last edited by 佳怡 on 2009-4-23 at 21:35 ]
回复此楼

» 收录本帖的淘帖专辑推荐

matlab

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)


呵呵,到现在才发一个主题,实在很抱歉,请大家多多批评指正。
2楼2007-12-30 17:23:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

奔鲨

铁虫 (著名写手)


呵呵,支持一下
3楼2007-12-30 20:05:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wakan

木虫 (正式写手)


加油,为大家奉献更多好东西。
4楼2007-12-30 21:03:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wingcat

荣誉版主 (知名作家)


顶一下,欢迎光临。
5楼2007-12-30 21:36:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)


我来顶上去,和新帖子一起。
6楼2008-01-13 22:34:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dengjianglong

银虫 (初入文坛)


继续加油

顶一下哈,继续上传好东东哦
7楼2008-01-14 09:40:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ning0025

新虫 (初入文坛)


似乎效果并不很好的样子
8楼2008-09-23 16:45:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lanlinghu01

木虫 (正式写手)


★ 一星级,一般

顶一下哈,继续上传好东东哦
10楼2008-09-27 08:42:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wdl011

铜虫 (小有名气)


★★★★★ 五星级,优秀推荐

前几天我也研究了一段时间的数据平滑方法,还没有来的及把这些方法做成程序,楼主已经做好了,支持
11楼2008-09-27 08:56:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
感谢楼主的介绍,本人也曾为平滑头痛过,楼主提到的SG方法边界问题就是其中一个。我参考了下Origin,呵呵Origin真够牛,直接把边界给忽略了。

关于楼主的curve 2 SG 平滑,我个人觉得你将窗口宽度变大点,拟合次数改为2或者1,是可以得到curve 5的效果的,因为你点应该比较多。

另外,楼主的边界变化不是很剧烈,如果边界变化很剧烈如何处理好呢。这个发一个CHI900的文件,他用SG平滑的,但不知他是如何处理边界的,知道的请告诉我,先谢了。(平滑条件,SG 方法,15 点, 注意ZoomIn 部分)

最后,献上我这里的一篇文章,继续关注此贴,期待12楼的 wdl011 发布你的程序  
A Perfect Smoother  
Paul H. C. Eilers*
Anal. Chem. 2003, 75, 3631-3636
12楼2008-10-04 11:11:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
上帖子附件没传上,继续
Psz03.txt--上贴所述CHI900文件数据
13楼2008-10-04 11:15:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2008-09-23 16:55   回复  
 
相关版块跳转 我要订阅楼主 dnp 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +7 yangfz 2026-03-17 7/350 2026-03-17 23:57 by 星空星月
[考研] 303求调剂 +3 睿08 2026-03-17 5/250 2026-03-17 22:01 by 睿08
[考研] 070300化学319求调剂 +4 锦鲤0909 2026-03-17 4/200 2026-03-17 18:21 by 重科小霸王
[考研] 材料工程专硕调剂 +5 204818@lcx 2026-03-17 5/250 2026-03-17 17:27 by Little-xue
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考研] 302求调剂 +9 负心者当诛 2026-03-11 9/450 2026-03-17 17:13 by ruiyingmiao
[考研] 308求调剂 +4 是Lupa啊 2026-03-16 4/200 2026-03-17 17:12 by ruiyingmiao
[考研] 材料专硕326求调剂 +6 墨煜姒莘 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[考研] 289求调剂 +6 步川酷紫123 2026-03-11 6/300 2026-03-17 10:23 by Sammy2
[考研] 304求调剂 +3 曼殊2266 2026-03-14 3/150 2026-03-16 16:39 by houyaoxu
[考研] 0703化学调剂,求各位老师收留 +8 秋有木北 2026-03-14 8/400 2026-03-16 15:21 by 哦哦123
[考研] 机械专硕调剂 +3 笨笨兔子 2026-03-12 3/150 2026-03-15 20:02 by 栗子粥?
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 材料与化工求调剂一志愿 985 总分 295 +8 dream…… 2026-03-12 8/400 2026-03-13 22:17 by 星空星月
[考研] 290求调剂 +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[考研] 材料与化工085600调剂求老师收留 +9 jiaanl 2026-03-11 9/450 2026-03-13 20:22 by JourneyLucky
[考研] 工科278分求调剂 +5 周慢热啊 2026-03-12 7/350 2026-03-13 15:49 by JourneyLucky
[考研] 277求调剂 +4 anchor17 2026-03-12 4/200 2026-03-13 11:15 by 白夜悠长
[考研] 化工学硕306求调剂 +9 42838695 2026-03-12 9/450 2026-03-13 10:16 by houyaoxu
信息提示
请填处理意见