1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 时间序列预测之一:指数平滑法(二)R语言——代码实现

时间序列预测之一:指数平滑法(二)R语言——代码实现

时间:2023-04-22 04:09:16

相关推荐

时间序列预测之一:指数平滑法(二)R语言——代码实现

参考:/fengzzi/p/10044426.html

指数模型是用来预测时序未来值的最常用模型。这类模型相对比较简单,但是实践证明它们的短期预测能力较好。不同指数模型建模时选用的因子可能不同。比如

单指数模型(simple/single exponential model)拟合的是只有常数水平项和时间点i处随机项的时间序列,这时认为时间序列不存在趋势项和季节效应;双指数模型(double exponential model;也叫Holt指数平滑,Holt exponential smoothing)拟合的是有水平项和趋势项的时序;三指数模型(triple exponential model;也叫Holt-Winters指数平滑,Holt-Winters exponential smoothing)拟合的是有水平项、趋势项以及季节效应的时序。

R中自带的HoltWinters()函数或者forecast包中的ets()函数可以拟合指数模型。ets()函数的备选参数更多,因此更实用。

1. HoltWinters()函数

R语言与数据分析之七:时间序列简单指数平滑

R语言与数据分析之八:时间序列--霍尔特指数平滑法

R语言与数据分析之九:时间内序列--HoltWinters指数平滑法

2. forecast包中的ets()函数

平滑参数(α,β,γ)=(水平,趋势,季节)

2.1 最简单参数

ets(ts, model="zzz")

model="ZZZ",依次含义为错误类型、趋势类型、季节类型。 "A"=additive, "M"=multiplicative and "Z"=automatically

其中ts是要分析的时序,限定模型的字母有三个。第一个字母代表误差项,第二个字母代表趋势项,第三个字母则代表季节项。可选的字母包括:相加模型(A)、相乘模型(M)、无(N)、自动选择(Z)

"A"=additive, "M"=multiplicative and "Z"=automatically

2.2 所有参数

ets(y, model="ZZZ", damped=NULL, alpha=NULL, beta=NULL, gamma=NULL,phi=NULL, additive.only=FALSE, lambda=NULL,lower=c(rep(0.0001,3), 0.8), upper=c(rep(0.9999,3),0.98),opt.crit=c("lik","amse","mse","sigma","mae"), nmse=3,bounds=c("both","usual","admissible"), ic=c("aic","aicc","bic"),restrict=TRUE)

y:一个数值向量或时间系列

model="ZZZ":依次含义为错误类型、趋势类型、季节类型。 "A"=additive, "M"=multiplicative and "Z"=automatically

(additive,为加法;multiplicative,乘法;damped,阻尼;Null,无)

damped=NULL,一个的阻尼趋势

lower=c(rep(0.0001,3), 0.8), upper=c(rep(0.9999,3),0.98), 参数(α,β,γ,φ)的上下界

opt.crit=c("lik","amse","mse","sigma","mae"):优化标准, “MSE”(均方误差),“AMSE”((Average MSE over first nmse forecast horizons),“sigma”(标准偏差残差),“mae”(残差绝对值的平均值),或“lik”(对数似然,默认值)

nmse=3, 平均多级MSE(1 <=nmse<= 10)的步数。

bounds=c("both","usual","admissible"): 收敛参数空间类型,"usual" 表示所有参数都必须指定上限和下限之间,“"admissible"表示参数必须位于允许的空间,”"both"(默认)的交叉点这些区域。

ic=c("aic","aicc","bic"):在模型选择要使用的信息准则。

restrict=TRUE:如果是TRUE,无限方差模型将不会被允许

3. 预测准确性度量

平均误差和平均百分比误差:一般来说,平均误差和平均百分比误差用处不大,因为正向和负向的误差会抵消掉。RMSE:给出了平均误差平方和的平方根,本例中即1.13°F。平均绝对百分误差:给出了误差在真实值中的占比,它没有单位,因此可以用于比较不同时序间的预测准确性;但它同时假定测量尺度中存在一个真实为零的点(比如每天的游客数量),但华氏温度中并没有一个真实为零(即不存在分子运动动能)的点,因此这里不能用这个统计量。平均绝对标准化误差:是最新的一种准确度测量,通常用于比较不同尺度的时序间的预测准确性。这几种预测准确性度量中,并不存在某种最优度量,不过RMSE相对最有名、最常用。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。