作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试用 Python 来做 R 上的 STL 函数。
R命令是
fit <- stl(elecequip, s.window=5)
plot(fit)
我如何在 Python 中执行此操作?我调查了 statmodels.tsa 有一些时间序列分析功能,但我可以在文档中特别找到“黄土时间序列的季节性分解”。类似地,在 Python.org 上有一个名为 timeseries 0.5.0 的库,但是它没有文档,而且它的主页看起来很低。我知道 rpy2 有一个使用包装器的选项,但我不知道如何使用包装器。
谢谢。
最佳答案
我一直遇到类似的问题,正在努力寻找前进的最佳途径。
Here is a github repo for an STL decomposition based on the Loess procedure .它基于可用于 this paper 的原始 Fortran 代码.它实际上只是原始 Fortran 代码的 python 包装器,因此您知道它可能运行良好并且没有错误。
如果您想要更以 Python 为中心的东西并且愿意使用稍微简单一些的分解例程,StatsModels 有一个:
尝试将您的数据移动到 Pandas 中DataFrame 然后调用 StatsModels tsa.seasonal_decompose
。查看following example :
import statsmodels.api as sm
dta = sm.datasets.co2.load_pandas().data
# deal with missing values. see issue
dta.co2.interpolate(inplace=True)
res = sm.tsa.seasonal_decompose(dta.co2)
resplot = res.plot()
然后您可以从以下位置恢复分解的各个组件:
res.resid
res.seasonal
res.trend
希望对您有所帮助!
关于python - Loess 用 Python 进行时间序列的季节性分解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26470570/
我是一名优秀的程序员,十分优秀!