【问题标题】:smoothing data and forecast next data point平滑数据并预测下一个数据点
【发布时间】:2020-03-22 03:39:36
【问题描述】:

我正在处理大约有 3000 个数据点的大致振荡的时间序列数据。我想完成两件事: 1)平滑数据以去除锯齿状边缘 2)根据分布图中的位置预测下一个具有权重的数据点

我已经包含了数据分布图和蓝色数据的示例图,黑色数据点。黄线表示具有 4/len(df) 的 frac 的 Lowess 平滑数据点,因此局部回归的窗口与其他数据保持一致。问题是预测下一个数据点是可怕的。由于滞后,简单/指数移动平均线不是一种选择。我已经在信号下使用了几个 scipy 模块并进行了优化,例如curve_fit,但除了预测下一个数据点之外,还没有发现任何接近匹配 statsmodel lowess 准确性的东西。如果可能的话,我会尽量远离机器学习。

我的搜索一直指向使用带有贝叶斯优化的高斯过程,但这有点超出我作为我自己的自定义函数实现的能力。

如果我在构建自己的自定义函数时遇到困难,我们将不胜感激任何链接或反馈如何继续。

c_list = [2.8, 2.1, 4.0, 4.7, 4.7, 3.0, 0.2, -0.4, -3.2, 1.0, 4.0, -3.7, -3.7, -4.3, -2.7, 0.2, 3.4, 4.3, 4.2, 3.8, -0.3, 2.4, -0.2, -0.2, -2.6, -3.3, -4.3, -3.6, 0.5, 0.3, 0.9, 3.3, 3.3, 3.6, 3.9, 4.1, -0.3, -0.9, -2.9, -0.9, 1.9, 2.8, 4.4, 3.9, 3.3, -2.6, -3.1, -3.2, -0.2, 3.2]

c_series = pd.Series(c_list)
x = c_series.index.values
y = c_series.values
window = 4/len(c_series)

l = lowess(y, x, window)

c_series.plot()
plt.scatter(x, y, s=9)
plt.plot(l[:,1])

【问题讨论】:

    标签: python forecasting smoothing


    【解决方案1】:

    但机器学习可能是一个很好的解决方案。它可以满足您的所有需求,并且可以轻松解决任何问题……至少您可能会得到听 buuuuuuzword 人的印象:)

    仅使用值的分布可能行不通。但是您可以尝试结合使用值分布和梯度分布来进行有根据的猜测。

    这可能是描述该方法的文献

    https://rstudio-pubs-static.s3.amazonaws.com/161075_05ce98dc51c844e0833c06835c9ce4c3.html

    https://arxiv.org/pdf/1905.08850

    【讨论】:

    • 我会查看链接。谢谢乔
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    • 2020-08-18
    • 1970-01-01
    • 2020-10-27
    • 2015-05-05
    • 1970-01-01
    • 2012-12-04
    相关资源
    最近更新 更多