use*_*295 11 python r time-series
我正在尝试用Python做我在ST上的STL函数.
R命令是
fit <- stl(elecequip, s.window=5)
plot(fit)
Run Code Online (Sandbox Code Playgroud)
我如何在Python中执行此操作?我调查过statmodels.tsa有一些时间序列分析函数,但我可以在文档中专门找到"黄土时间序列的季节性分解".类似地,在Python.org上有一个名为timeseries 0.5.0的库,但是它没有文档,它的主站点向下看.我知道rpy2有一个使用包装器的选项,但我不知道如何使用包装器.
谢谢.
AN6*_*6U5 13
我一直有类似的问题,并试图找到最好的前进道路.
这是一个基于黄土程序的STL分解的github repo.它是基于原来的Fortran代码,这是可用本文.它实际上只是一个围绕原始Fortran代码的python包装器,所以你知道它可能运行良好并且没有错误.
如果你想要更多以Python为中心的东西,并且愿意采用稍微简单的分解程序,那么StatsModels有一个:
尝试将数据移动到Pandas DataFrame中,然后调用StatsModels tsa.seasonal_decompose.请参阅以下示例:
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()
Run Code Online (Sandbox Code Playgroud)

然后,您可以从以下位置恢复分解的各个组件:
res.resid
res.seasonal
res.trend
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!