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_periodsint, optional

一个完整季节性周期中的周期数,例如,季度数据为4,每日数据且具有每周周期为7。

initialization_methodstr, optional

初始化递归的方法。以下之一:

  • ‘估计的’

  • ‘启发式’

  • ‘传统启发式’

  • ‘已知’

None 默认使用 pre-0.12 的行为,其中初始值作为 fit 的一部分传递。如果传递了其他任何值,则在构建模型时也必须设置初始值。如果使用“known”初始化,则必须传递 initial_level,以及如果适用的话,还必须传递 initial_trendinitial_seasonal。默认值为“estimated”。“legacy-heuristic” 使用 statsmodels 0.11 及更早版本中使用的相同值。

initial_levelfloat, optional

初始水平组件。如果估计方法是“已知”,则需要此项。如果通过“估计”或“启发式”设置此值,则使用此值。这允许设置一个或多个初始值,同时将其他值的设置推迟到启发式方法或估计未设置的参数。

initial_trendfloat, optional

初始趋势成分。如果估计方法为“已知”,则此项为必填项。如果通过“估计”或“启发式”方法设置,则使用此值。这允许设置一个或多个初始值,同时将其他值交由启发式方法处理或估计未设置的参数。

initial_seasonalarray_like, optional

初始的季节性成分。一个长度为seasonal或长度为seasonal - 1的数组(在这种情况下,最后一个初始值会被计算以使平均效果为零)。仅在初始化方式为‘已知’时使用。如果估计方法为“已知”,则必须提供。如果通过“估计”或“启发式”设置,则使用此值。这允许设置一个或多个初始值,同时对其他值使用启发式方法或估计未设置的参数。

use_boxcox{True, False, ‘log’, float}, optional

是否应该首先对数据应用Box-Cox变换?如果为‘log’,则应用对数变换。如果为浮点数,则使用该值作为lambda。

boundsdict[str, tuple[float, float]], optional

一个包含模型中参数边界的字典,不包括估计的初始值。字典的键是变量名称,例如,smoothing_level 或 initial_slope。初始季节性变量标记为 initial_seasonal.,其中 j=0,…,m-1,m 是一个完整季节中的周期数。使用 None 表示非绑定约束,例如,(0, None) 将参数约束为非负数。

datesarray_like of datetime, optional

一个类似数组的对象,包含日期时间对象。如果为endog提供了Pandas对象,则假定它具有DateIndex。

freqstr, optional

时间序列的频率。Pandas偏移量或‘B’、‘D’、‘W’、‘M’、‘A’或‘Q’。如果给出日期,这是可选的。

missingstr

可用的选项是‘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, ...])

计算在指数平滑递归中使用的初始值。

initialize()

初始化(可能重新初始化)一个模型实例。

loglike(params)

模型的对数似然值。

predict(params[, start, end])

样本内和样本外预测。

score(params)

模型的得分向量。

属性

endog_names

内生变量的名称。

exog_names

外生变量的名称。


Last update: Oct 16, 2024