'baseline fitting using Numpy poly1d”翻译为'使用Numpy poly1d进行基线拟合”。具体步骤如下:
import numpy as np import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100) y = np.sin(x) + 0.5 * np.random.randn(100)
y[::10] += 3 * (0.5 - np.random.rand(10))
因为数据包含足够的噪声,在这种情况下,对于基线估计,一次多项式是一个好的选择。以下是代码:
z = np.polyfit(x, y, 1) p = np.poly1d(z)
用Matplotlib可视化数据及其基线拟合结果:
plt.plot(x, y) plt.plot(x, p(x), c='r')
为了偏移,我们可以通过子划分x轴的方法,对每个子集求解最小二乘拟合来使用这段代码。