用黄土(STL)时间序列分解实现季节趋势的Python算法
stldecompose的Python项目详细描述
这是一个相对简单的python实现,它使用黄土平滑进行季节和趋势分解。通常被称为“stl分解”,克利夫兰1990年的论文是典型的参考。
这个实现是seasonal_decompose方法in statsmodels实现的变体(并从中获得灵感)。在这个实现中,趋势组件是通过用可配置的Loess regression替换seasonal_decompose中使用的卷积方法来计算的。它还将现有的^ {TT3}$从^ {TT4}$扩展到允许基于所计算的分解进行预测。
用法
stldecompose包相对较轻。它使用pandas.Dataframe作为输入和输出,只公开了几个主要方法-decompose()和forecast()-以及一些内置的预测函数。
有关详细信息和用法示例,请参见the included IPython notebook。
安装
建议使用python 3虚拟环境。
首选的安装方法是通过pip:
(env) $ pip install stldecompose
如果您喜欢Bleeding Edge版本,也可以从Github repo安装:
(env) $ git clone git@github.com:jrmontag/STLDecompose.git (env) $ cd STLDecompose; pip install .
更多资源
- statsmodelsTime Series analysis包装
- 亨德曼的OTexts reference on STL decomposition
- 克利夫兰等人1990年[pdf]