Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中平滑统计正确的信号?_Python_Smoothing - Fatal编程技术网

如何在Python中平滑统计正确的信号?

如何在Python中平滑统计正确的信号?,python,smoothing,Python,Smoothing,我无意中发现了平滑数据的问题,但没有假装测量数据的准确性过高 当我搜索简单的解决方案时,我发现了很多过滤方法,它们保持数据的形状不变(即数据点的数量没有减少);在我看来,这意味着要么数据正在进行某种拟合()(这意味着它不是真正的原始数据),要么只是统计上不正确(如原点中的“相邻平均值”),即在每个数据点的数据点窗口上进行平均,因为它是在假装,准确度比实际要高。我经历过这样的情况,这种平滑使信号伪影显得很重要,而事实并非如此 我创建了一个示例,在这个示例中,由于在不减少数据点数量的情况下进行平均

我无意中发现了平滑数据的问题,但没有假装测量数据的准确性过高

当我搜索简单的解决方案时,我发现了很多过滤方法,它们保持数据的形状不变(即数据点的数量没有减少);在我看来,这意味着要么数据正在进行某种拟合()(这意味着它不是真正的原始数据),要么只是统计上不正确(如原点中的“相邻平均值”),即在每个数据点的数据点窗口上进行平均,因为它是在假装,准确度比实际要高。我经历过这样的情况,这种平滑使信号伪影显得很重要,而事实并非如此

我创建了一个示例,在这个示例中,由于在不减少数据点数量的情况下进行平均,实际特征出现错误。特别是右边的主峰看起来非常宽,如果你知道真实的数据,但是大量的数据点使它看起来非常整洁和平滑。此外,噪声级几乎完全平滑,但现在一些较小的特征似乎在中心上升并显示为重要数据,但正如您在原始数据中看到的,它们不是


我现在正在寻找简单/有效的方法,以减少不在数据上强加假设(如选择的拟合函数等)的统计正确的噪声,并了解不同实现的优缺点。

一种方法,起源于图像处理,是撇渣包中的缩尺\本地\平均值

import matplotlib.pyplot as plt    
from skimage.transform import downscale_local_mean
data=np.genfromtxt(r'example_smoothing_data.txt',delimiter=";")

smoothed=downscale_local_mean(data, (8, 1))

plt.figure()
plt.plot(data[:,0],data[:,1],'b-',label='Original data')
plt.plot(smoothed[:,0],smoothed[:,1],'r-',label='Smoothed data')
plt.legend()
plt.show()


从图中可以清楚地看到,数据点的数量减少了,这基本上只是测量过程中的另一个积分窗口;x方向精度的降低基本上是为y方向精度的提高付出的。

作为旁注:平滑不可避免地会丢失重要信息;直方图/百分位线之类的东西保存得更多。小波去噪,也许@9000:谢谢你的快速回复。你能更具体一点直方图吗?我过去常常想到与单个事件相关的直方图,这些直方图是随机发生的(可能具有类似峰值的概率分布,但对于单个事件是随机的)。这个数据集是一个光谱:当然,每个数据点都是由单个事件堆积而成的,但在x轴的维度(类似波长)中,我不明白为什么直方图会是逻辑表示(尽管我可以选择它作为不同的“绘图样式”)。@Lepakk:这正是通常解决的问题,例如,在各种监测系统中。我不知道如何直接绘制分位数(例如Seaborn不支持这一点),但可以单独绘制。