gpt4 book ai didi

python - Python 时间序列的季节性趋势黄土法

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:24 25 4
gpt4 key购买 nike

有谁知道是否有基于 Python 的程序利用 STL(季节性-趋势-黄土)方法分解时间序列?

我看到了对包装程序的引用以调用 STL 函数在 R 中,但我发现从环境设置的角度来看(Python 和 R 在一起)不稳定且麻烦。此外,链接已有 4 年历史。

谁能指出一些更新的东西(例如 sklearnspicy 等)?

最佳答案

我还没有尝试过 STLDecompose,但我看了一眼,我相信它使用了通用的黄土平滑剂。这很难做对,而且往往效率低下。查看已失效的 STL-Java repo .

pyloess package为原始 R 版本使用的相同底层 Fortran 提供 python 包装器。您绝对不需要通过 R 的桥梁来获得相同的功能!这个包没有得到积极维护,我偶尔会在某些平台上构建它时遇到麻烦(因此这里是分支)。但是一旦建成,它确实可以工作,并且是您可能找到的最快的。我很想修改它以包含一些新功能,但就是不能让自己修改 Fortran(它是预处理的 RATFOR - 非常像 Fortran 的汇编语言,而且我在任何地方都找不到 RATFOR 预处理器).

我写了一个本地 Java 实现,stl-decomp-4j ,可以使用 pyjnius package 从 python 调用.这开始是原始 Fortran 的直接端口,重构为更现代的编程风格。然后,我将其扩展为允许二次黄土插值并支持季节性分量的分解后平滑,这些功能在原始论文中有所描述,但并未放入 Fortran/R 实现中。 (它们显然在 S-plus 实现中,但我们中很少有人可以访问它。)提高效率的关键是当点等距且逐点时黄土平滑会简化- 点平滑是通过简单地修改用于进行插值的权重来完成的。

STL-decomp-4j 示例包括一个 Jupyter notebook,演示如何从 python 调用此包。我可能应该将其形式化为 python 包,但还没有时间。非常愿意接受拉取请求。 ;-)

我很想看到这种方法直接移植到 python/numpy。我的“如果我有空闲时间”列表中的另一件事。

关于python - Python 时间序列的季节性趋势黄土法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51048895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com