首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从数据中删除基线

从数据中删除基线
EN

Stack Overflow用户
提问于 2016-11-17 18:56:41
回答 1查看 3.5K关注 0票数 0

我想删除基线,并最终使用python找到一些噪声数据的峰值(拉曼散射测量,如果有人有这方面的经验)。

按照PeakUtils库(a.html)的指南,作者将数据拟合成一个多项式,然后在此基础上找到一个基线并减去它。

我的问题是:为什么要将多项式拟合到数据中,为什么不直接从数据中删除基线呢?参数0.002,-0.08,5传递给聚四氟乙烯有什么意义?我需要微调这些作为我自己的数据吗?有人能解释一下这是怎么回事吗?

代码语言:javascript
复制
y2 = y + numpy.polyval([0.002,-0.08,5], x)
pyplot.figure(figsize=(10,6))
pyplot.plot(x, y2)
pyplot.title("Data with baseline")

base = peakutils.baseline(y2, 2)
pyplot.figure(figsize=(10,6))
pyplot.plot(x, y2-base)
pyplot.title("Data with baseline removed")

我的数据与见过的这里 (下面)的形状相同,只是这显然已经移除了背景。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-19 10:28:01

在PeakUtils指南中,[0.002, -0.08, 5]传递给polyval表示y=0.002*x^2-0.08*x+ 5,这是为了创建看起来像抛物线的示例数据(“U形的右侧”基线)。它可以是平坦的,直线的,或任何其他通过传递一个较短或更长的多项式系数列表。示例数据称为y2,它是上一个示例数据y的总和,是一个人工添加的带有polyval的基线。

然后将peakutils.baseline应用于结果y2,指定一个参数2,该参数可能是拟合的程度(同样,抛物线,因为它看起来是抛物线,但您可能不得不尝试其他人进行比较)。peakutils.baseline将拟合抛物线(即计算其系数),然后返回与每个y2点对应的抛物线上的点。最后,y2-base是对基线进行校正的数据。

你的数据看上去是平的,所以不需要对基线进行修正(除了垂直偏移)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40662902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档