首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python/Scipy Kolmogorov-Zurbenko过滤器?

Python/Scipy Kolmogorov-Zurbenko过滤器?
EN

Stack Overflow用户
提问于 2015-09-26 02:31:28
回答 1查看 1.4K关注 0票数 1

我正在寻找一个基于Python的Kolmogorov-Zurbenko过滤器,它接收时间序列输入,并根据窗口大小和迭代次数对其进行过滤,但没有找到任何似乎有效的东西。有谁比我更走运吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-07-27 15:31:59

我一直在调查同样的问题。在pandas中,实际的KZ过滤器非常简单:

代码语言:javascript
运行
复制
import pandas as pd
def kz(series, window, iterations):
    """KZ filter implementation
    series is a pandas series
    window is the filter window m in the units of the data (m = 2q+1)
    iterations is the number of times the moving average is evaluated
    """
    z = series.copy()
    for i in range(iterations):
        z = pd.rolling_mean(z, window=window, min_periods=1, center=True)
    return z

据我所知,不容易实现的是Kologorov Zurbenko滤波器(KZA)的自适应版本。这至少需要一种rolling_mean方法,该方法允许在中心的左右指定不同的窗口长度。https://cran.r-project.org/web/packages/kza/index.html上的C代码看起来相当简单和直接,但它需要循环,因此如果直接用Python语言实现会相当慢。

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

https://stackoverflow.com/questions/32788526

复制
相关文章

相似问题

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