statsmodels.tsa.holtwinters.ExponentialSmoothing¶
-
class statsmodels.tsa.holtwinters.ExponentialSmoothing(endog, trend=
None, damped_trend=False, seasonal=None, *, seasonal_periods=None, initialization_method='estimated', initial_level=None, initial_trend=None, initial_seasonal=None, use_boxcox=False, bounds=None, dates=None, freq=None, missing='none')[source]¶ 霍尔特-温特指数平滑法
- Parameters:¶
- endogarray_like
要建模的时间序列。
- trend{“add”, “mul”, “additive”, “multiplicative”,
None},optional 趋势分量的类型。
- damped_trendbool,
optional 趋势成分是否应该被抑制。
- seasonal{“add”, “mul”, “additive”, “multiplicative”,
None},optional 季节性成分的类型。
- seasonal_periods
int,optional 一个完整季节性周期中的周期数,例如,季度数据为4,每日数据且具有每周周期为7。
- initialization_method
str,optional 初始化递归的方法。以下之一:
无
‘估计的’
‘启发式’
‘传统启发式’
‘已知’
None 默认使用 pre-0.12 的行为,其中初始值作为
fit的一部分传递。如果传递了其他任何值,则在构建模型时也必须设置初始值。如果使用“known”初始化,则必须传递 initial_level,以及如果适用的话,还必须传递 initial_trend 和 initial_seasonal。默认值为“estimated”。“legacy-heuristic” 使用 statsmodels 0.11 及更早版本中使用的相同值。- initial_level
float,optional 初始水平组件。如果估计方法是“已知”,则需要此项。如果通过“估计”或“启发式”设置此值,则使用此值。这允许设置一个或多个初始值,同时将其他值的设置推迟到启发式方法或估计未设置的参数。
- initial_trend
float,optional 初始趋势成分。如果估计方法为“已知”,则此项为必填项。如果通过“估计”或“启发式”方法设置,则使用此值。这允许设置一个或多个初始值,同时将其他值交由启发式方法处理或估计未设置的参数。
- initial_seasonalarray_like,
optional 初始的季节性成分。一个长度为seasonal或长度为seasonal - 1的数组(在这种情况下,最后一个初始值会被计算以使平均效果为零)。仅在初始化方式为‘已知’时使用。如果估计方法为“已知”,则必须提供。如果通过“估计”或“启发式”设置,则使用此值。这允许设置一个或多个初始值,同时对其他值使用启发式方法或估计未设置的参数。
- use_boxcox{
True,False, ‘log’,float},optional 是否应该首先对数据应用Box-Cox变换?如果为‘log’,则应用对数变换。如果为浮点数,则使用该值作为lambda。
- bounds
dict[str,tuple[float,float]],optional 一个包含模型中参数边界的字典,不包括估计的初始值。字典的键是变量名称,例如,smoothing_level 或 initial_slope。初始季节性变量标记为 initial_seasonal.
,其中 j=0,…,m-1,m 是一个完整季节中的周期数。使用 None 表示非绑定约束,例如,(0, None) 将参数约束为非负数。 - datesarray_like
ofdatetime,optional 一个类似数组的对象,包含日期时间对象。如果为endog提供了Pandas对象,则假定它具有DateIndex。
- freq
str,optional 时间序列的频率。Pandas偏移量或‘B’、‘D’、‘W’、‘M’、‘A’或‘Q’。如果给出日期,这是可选的。
- missing
str 可用的选项是‘none’、‘drop’和‘raise’。如果选择‘none’,则不进行nan检查。如果选择‘drop’,则会删除任何包含nan的观测值。如果选择‘raise’,则会引发错误。默认值是‘none’。
- Attributes:¶
endog_names内生变量的名称。
exog_names外生变量的名称。
注释
这是一个完整的霍尔特-温特指数平滑实现,根据[1]。这包括所有不稳定方法以及稳定方法。该库的实现尽可能覆盖R库的功能,同时仍然保持Pythonic风格。
请参阅笔记本 指数平滑 以获取概述。
参考文献
[1]Hyndman, Rob J., 和 George Athanasopoulos. 预测:原理与实践. OTexts, 2014.
方法
fit([smoothing_level, smoothing_trend, ...])拟合模型
fix_params(values)暂时固定参数以进行估计。
from_formula(公式, 数据[, 子集, 删除列])从公式和数据框创建模型。
hessian(params)模型的海森矩阵。
information(参数)模型的费舍尔信息矩阵。
initial_values([initial_level, ...])计算在指数平滑递归中使用的初始值。
初始化(可能重新初始化)一个模型实例。
loglike(params)模型的对数似然值。
predict(params[, start, end])样本内和样本外预测。
score(params)模型的得分向量。
属性
内生变量的名称。
外生变量的名称。