当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cuml.ExponentialSmoothing用法及代码示例


用法:

class cuml.ExponentialSmoothing(endog, *, seasonal='additive', seasonal_periods=2, start_periods=2, ts_num=1, eps=0.00224, handle=None, verbose=False, output_type=None)

实施HoltWinters时间序列分析模型,用于预测时间序列中的未来条目以及提供 index 平滑,其中权重分配给历史数据,影响呈 index 下降。这是通过分析数据的三个组成部分来完成的:水平、趋势和季节性。

参数

endogarray-like(设备或主机)

可接受的格式:cuDF DataFrame cuDF 系列、NumPy ndarray、Numba 设备 ndarray、cuda 数组接口兼容数组,如 CuPy 注意:cuDF DataFrame 类型假定数据在列中,而所有其他数据类型假定数据在行中.要操作的内生数据集。

seasonal‘additive’, ‘add’, ‘multiplicative’, ‘mul’(默认 = ‘additive’)

季节性趋势是应该加法还是乘法计算。

seasonal_periodsint(默认值=2)

数据的季节性(重复频率)。对于每月数据,这应该是 12,对于每周数据,这应该是 7。

start_periodsint(默认值=2)

用于季节性种子值的季节数

ts_numint(默认值=1)

在 endog 参数中传递的不同时间序列的数量。

epsnp.number > 0(默认=2.24e-3)

梯度下降应该达到的准确度。请注意,更改此值可能会影响预测结果。

handlecuml.Handle

指定 cuml.handle 保存用于此模型中计算的内部 CUDA 状态。最重要的是,这指定了将用于模型计算的 CUDA 流,因此用户可以通过在多个流中创建句柄在不同的流中同时运行不同的模型。如果为 None,则创建一个新的。

verboseint 或布尔值,默认=False

设置日志记录级别。它必须是 cuml.common.logger.level_* 之一。有关详细信息,请参阅详细级别。

output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默认=无

用于控制估计器的结果和属性的输出类型的变量。如果为 None,它将继承在模块级别设置的输出类型 cuml.global_settings.output_type 。有关详细信息,请参阅输出数据类型配置。

注意

Known Limitations:statsmodels.holtwinters.ExponentialSmoothing 模型相比,此版本的ExponentialSmoothing 目前仅提供有限数量的函数。值得注意的是,它缺少:

此外,请注意,此模型中可能存在浮点不稳定问题。 endog 中的小值可能会导致错误的结果。有关详细信息,请参阅https://github.com/rapidsai/cuml/issues/888

Known Differences: 此版本的ExponentialSmoothing 在其他一些小方面与 statsmodel 不同:

  • 不能通过趋势分量或阻尼趋势分量
  • 此版本可以采用附加参数 epsstart_periodsts_numhandle
  • 分数返回 SSE 而不是梯度 logL https://github.com/rapidsai/cuml/issues/876
  • 此版本提供get_level()、get_trend()、get_season()

例子

from cuml import ExponentialSmoothing
import cudf
import numpy as np
data = cudf.Series([1, 2, 3, 4, 5, 6,
                    7, 8, 9, 10, 11, 12,
                    2, 3, 4, 5, 6, 7,
                    8, 9, 10, 11, 12, 13,
                    3, 4, 5, 6, 7, 8, 9,
                    10, 11, 12, 13, 14],
                    dtype=np.float64)
cu_hw = ExponentialSmoothing(data, seasonal_periods=12)
cu_hw.fit()
cu_pred = cu_hw.forecast(4)
print('Forecasted points:', cu_pred)

输出:

Forecasted points :
0    4.000143766093652
1    5.000000163513641
2    6.000000000174092
3    7.000000000000178

属性

SSE
forecasted_points
level
season
trend

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cuml.ExponentialSmoothing。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。