0

我怎样才能摆脱离散数据集中的火花数据,但以“更顺畅”的方式?

举个例子

在此处输入图像描述

有两个火花,在 20000,但下一个在 600 也被认为是火花。

我已经设法将非常高的值归零,通过

a = 2
b = 5
beta_dist = RealDistribution('beta', [a, b])
f(x) = x / 19968
normalized_insertions = [f(i) for i in insertions]

insertions_pairs = [(i, beta_dist.distribution_function(i)) for i in normalized_insertions]
plot_b = beta_dist.plot()

show(list_plot(insertions_pairs)+plot_b)

不知道如何处理较低的。最大值应该达到 100,也许 beta 分布的参数需要更多的调整?

目前,它看起来像这样: 在此处输入图像描述

如果可能,请使用鼠尾草作为解释的参考。

4

2 回答 2

2

您可以使用中值过滤器,也许是 3 或 5 个点。这将删除上面数据中的孤立异常值。

于 2012-09-15T05:51:52.410 回答
1

你也许应该看看卡尔曼滤波器。这将确定您的数据的偏差并平滑高斯均值。因此,20k 的数字几乎没有任何影响,而 600 的数字会产生更大的影响,它们仍然会被数据的一致性所取代。如果你喜欢数学:
http
://www.cs.berkeley.edu/~pabbeel/cs287-fa11/slides/Smoother_KalmanSmoother--DRAFT.pdf否则可能:http:
//interactive-matter.eu/blog/2009/12 /18/filtering-sensor-data-with-a-kalman-filter/

于 2012-10-22T10:37:08.930 回答