statsmodels.tsa.forecasting.theta.ThetaModel¶
-
class statsmodels.tsa.forecasting.theta.ThetaModel(endog, *, period=
None, deseasonalize=True, use_test=True, method='auto', difference=False)[source]¶ Assimakopoulos 和 Nikolopoulos (2000) 的 Theta 预测模型
- Parameters:¶
- endogarray_like, 1d
要预测的数据。
- period
int,defaultNone 用于季节性测试和调整的数据周期。如果为None,则从y的索引中确定周期(如果可用)。
- deseasonalizebool,
defaultTrue 一个标志,指示是否对数据进行去季节性处理。如果为True且use_test为True,则仅在拒绝无季节性成分的零假设时对数据进行去季节性处理。
- use_testbool,
defaultTrue 一个标志,指示是否测试周期自相关性。如果此测试在10%的显著性水平下拒绝原假设,则使用分解方法。设置为False以跳过测试。
- method{“auto”, “additive”, “multiplicative”},
default“auto” 用于季节性分解的模型。“auto”表示如果y为非负且所有估计的季节性成分均为正,则使用乘法分解。如果这些条件中的任何一个为假,则使用加法分解。
- differencebool,
defaultFalse 一个标志,指示在测试季节性之前对数据进行差分处理。
- Attributes:¶
deseasonalize是否对数据进行去季节性处理
difference季节性测试中数据是否进行了差分
method用于对数据进行去季节性处理的方法
period季节性的周期
use_test是否对数据进行季节性测试
另请参阅
注释
Theta 模型通过两个 Theta 线的加权组合来预测未来。此类支持具有两个 theta 的模型的组合:0 和用户指定的选择(默认值为 2)。然后进行预测。
\[\hat{X}_{T+h|T} = \frac{\theta-1}{\theta} b_0 \left[h - 1 + \frac{1}{\alpha} - \frac{(1-\alpha)^T}{\alpha} \right] + \tilde{X}_{T+h|T}\]其中 \(\tilde{X}_{T+h|T}\) 是使用参数 \(\alpha\) 对内生变量进行简单指数平滑预测的结果。\(b_0\) 是使用项 0, 1, …, T-1 拟合到 X 的时间趋势线的斜率。
模型按步骤进行估计:
测试季节性
如果检测到季节性,则进行去季节化处理
通过将SES模型拟合到数据来估计\(\alpha\),并通过OLS估计\(b_0\)。
预测序列
如果数据已经去季节性化,请重新季节性化。
季节性检验检查季节周期上的自相关是否不同于零。然后使用乘法趋势的季节分解来去除季节性。如果季节性估计为非正值,则改为使用加法趋势。默认的去季节化方法可以通过选项进行更改。
参考文献
[1]Assimakopoulos, V., & Nikolopoulos, K. (2000). The theta 模型:一种分解预测方法。国际预测杂志, 16(4), 521-530.
[2]Hyndman, R. J., & Billah, B. (2003). 揭开Theta方法的面纱。 国际预测杂志, 19(2), 287-290.
[3]Fioruci, J. A., Pellegrini, T. R., Louzada, F., & Petropoulos, F. (2015). 优化的theta方法。arXiv预印本arXiv:1503.03529。
方法
fit([use_mle, disp])估计模型参数。
属性
是否对数据进行去季节性处理
季节性测试中数据是否进行了差分
用于对数据进行去季节性处理的方法
季节性的周期
是否对数据进行季节性测试