平滑二维数据

机器算法验证 r 时间序列 多元分析 参考 平滑
2022-03-30 23:30:16

数据由在不同时间记录的光谱(光强度对频率)组成。这些点是在 x(时间)、y(频率)的规则网格上获取的。为了分析特定频率下的时间演化(快速上升,然后是指数衰减),我想消除数据中存在的一些噪声。对于固定频率,这种噪声可能可以建模为具有高斯分布的随机噪声。然而,在固定时间,数据显示出另一种噪声,具有较大的杂散尖峰和快速振荡(+ 随机高斯噪声)。据我想象,沿两个轴的噪声应该是不相关的,因为它具有不同的物理起源。

什么是平滑数据的合理程序?目标不是扭曲数据,而是消除“明显”的嘈杂伪影。(并且可以调整/量化过度平滑吗?)我不知道沿着一个方向独立于另一个方向进行平滑是否有意义,或者是否最好在 2D 中进行平滑。

我读过有关 2D 内核密度估计、2D 多项式/样条插值等的内容,但我不熟悉行话或基础统计理论。

我使用 R,我看到许多看起来相关的包(MASS (kde2)、字段 (smooth.2d) 等),但我找不到太多关于在此处应用哪种技术的建议。

如果您有具体的参考资料可以指点我,我很高兴了解更多信息(我听说 MASS 会是一本好书,但对于非统计学家来说可能过于技术化)。

编辑:这是代表数据的虚拟频谱图,沿时间和波长维度切片。

图像2d

这里的实际目标是评估每个波长(或箱,如果噪音太大)的指数衰减率。

4个回答

您需要指定一个将信号与噪声分开的模型。

在您假设为高斯的测量级别存在噪声分量。其他组件,依赖于测量:

  • “对于固定频率,这种噪声可能可以建模为具有高斯分布的随机”。需要澄清——给定频率,所有时间点的噪声分量是否共有?所有频率的标准偏差是否相同?等等。

  • “然而,在固定时间,数据显示出另一种噪声,具有大的杂散尖峰和快速振荡”您如何将其与信号分开,因为假设您对整个频率的强度变化感兴趣。有趣的变化与无趣的变化有什么不同吗?如果是,如何?

杂散振荡或非高斯噪声通常不是大问题,如果您对其特性有一个现实的想法。它可以通过转换数据(然后使用高斯模型)或显式使用非高斯误差分布来建模。建模与测量相关的噪声更具挑战性。

根据您的噪声和数据模型的情况,您可能能够使用通用工具(如 mgcv 包中的 GAM)对数据进行建模,或者您可能需要更灵活的工具,这很容易导致完全自定义的贝叶斯设置. 这些模型有一些工具,但如果你不是统计学家,学习使用它们需要一段时间。

我想要么是特定于光谱分析的解决方案,要么是 mgcv 包是你最好的选择。

光谱的时间序列向我表明了动力学实验,并且有大量关于此的化学计量学文献。

你对光谱了解多少?它们是什么类型的光谱?你能合理地期望你只有两个物种,即产物和产物吗?

你能合理地假设双线性,即测量光谱X在给定时间是组分浓度的线性组合C乘以纯组分光谱S

X(nspc×nwl)=C(nspc×ncomp)S(ncomp×nwl)

你说你想估计指数衰减(浓度)。这与双线性一起向我暗示了多元曲线分辨率(MCR)。这是一种技术,允许您在模型拟合期间使用您拥有的信息(例如,某些物质的纯成分光谱,或对浓度行为的假设,如指数衰减)。

据我所知,根据一些模型(例如动力学模型)对浓度进行平滑处理是很常见的,但对光谱进行平滑处理则要少得多。但是,该算法允许这样做。我在夏天问安娜他们是否施加了平滑度限制,但她告诉我他们没有(优秀的光谱学家讨厌平滑而不是测量好的光谱;-))。通常,它也不需要,因为聚合来自所有光谱的信息已经可以很好地估计纯成分光谱。

我最近做了两次平滑“成分光谱”(实际上是主成分)(Dochow et al. : Raman-on-chip device and detection fiber with fiber Bragg grating for analysis of solution andparticles, LabChip, 2013 and Dochow el al.:通过拉曼光谱结合光阱识别肿瘤细胞的石英微流控芯片,AnalBioanalChem,已接受)但在这些情况下,我的光谱知识告诉我,我可以这样做。我经常对我的拉曼光谱 ( hyperSpec::spc.loess) 应用下采样和平滑插值。

如何知道什么是过度平滑?我认为唯一可能的答案是“关于光谱学和实验类型的专家知识”。


编辑:我重读了这个问题,你说你想估计每个波长的衰减。然而,这是真的还是你想用重叠的光谱来估计不同物种的衰变?

数据由在 > 不同时间记录的光谱(光强度对频率)组成。这些点是在 x(时间)、y(频率)的规则网格上获取的。

对我来说,这听起来很像功能数据分析 (FDA) 的案例,尽管我不知道你的问题背后的物理原理,我可能完全错了。如果您可以认为数据背后的过程本质上是平滑和连续的,您可能希望使用双变量基函数扩展来捕获表格中的测量值intensity=f(time,frequency), 和f是基函数(例如 b 样条)和系数的总和。一组有限的基函数直接降低了粗糙度,因此消除了很大一部分白噪声。

我已经阅读了有关 2D 内核密度估计、2D 多项式/样条插值等的内容。

...

我使用 R,我看到许多看起来相关的包(MASS (kde2)、字段 (smooth.2d) 等),但我找不到太多关于在此处应用哪种技术的建议。

你提到了样条插值,但没有提到fda 包,它很好地实现了我上面提到的基函数扩展。时间、频率和强度的一组同时测量(排列为三维阵列)可以作为一个双变量函数数据对象捕获,请参阅。例如函数“Data2fd”。此外,软件包中提供了几个平滑程序,这些程序都旨在消除固有平滑过程测量中的白噪声或“粗糙度”。

维基百科文章将 FDA 中的白噪声问题表述如下:

数据可能非常准确,以至于可以忽略误差,可能会受到大量测量误差的影响,甚至与它们定义的曲线有复杂的间接关系。... 气象站的每日降水记录如此多变,需要仔细和复杂的分析才能提取平均降水曲线之类的东西。

FDA 为这些案例提供了工具。这不是转化为你的情况吗?

...但我不熟悉行话或基本的统计理论...

...但是我找不到太多关于在这里应用哪种技术的建议...

关于 fda:我不是,但 Ramsay 和 Silverman 关于 FDA 的书(2005 年)使基础知识非常容易获得,Ramsay Hooker 和 Graves(2009 年)直接将书中的见解转化为 R 代码。这两卷都应该作为电子书在大学图书馆提供,用于统计、生物科学、气候学或心理学。谷歌还将提供更多我无法在这里发布的链接。

抱歉,我无法为您的问题提供更直接的解决方案。然而,一旦我弄清楚它的用途,FDA 确实帮助了我很多。

作为一个简单的物理学家,而不是统计专家,我会采取一种简单的方法。这两个维度具有不同的性质。用一种算法平滑时间,用另一种算法平滑波长是有意义的。

我将使用的实际算法:对于波长,Savitzky-Golay 具有更高的阶数,6 可能是 8。

随着时间的推移,如果这个例子是典型的,那么突然的上升和或多或少的指数下降使它变得棘手。我有实验数据和嘈杂的图像,就像那样。如果简单直接的方法没有足够的帮助,请尝试使用高斯平滑器,但抑制其在跳跃附近的影响,如边缘检测器检测到的那样。平滑和加宽边缘检测器的输出,将其标准化为从 0.0 到 1.0,并使用它在原始图像和高斯平滑图像之间逐个像素地进行选择。