能够对水平项和趋势项(斜率)的时序进行拟合,时刻 t 的观测值可表示为spa
拟合出来的结果code
a、平滑参数α(alpha)控制水平的指数型降低,beta控制斜率的指数型降低it
b、两个参数的有效范围都是[0,1],参数取值越大意味着越近的观测值的权重越大ast
拟合有水平项、趋势项、季节项的时间序列model
a、st表明时刻 t 的季节效应im
b、除了alpha和beta参数外,gamma光滑参数控制季节项指数降低,取值范围一样为[0,1],gamma值越大,意味着越近的观测值的季节效应权重越大命名
例数据
对季节性分解中描述每个月国家航线乘客数AirPassengers时序进行预测img
一、首选须要对原始数据取对数,使它知足可加模型di
二、而后使用Holt-Winters指数平滑来预测 AirPassengers接下来的5个值
> library(forecast) > fit <- ets(log(AirPassengers),model="AAA") #AAA表示拟合水平项、斜率、季节项 > fit ETS(A,A,A) Call: ets(y = log(AirPassengers), model = "AAA") Smoothing parameters: alpha = 0.6534 beta = 1e-04 gamma = 1e-04 Initial states: l = 4.8022 b = 0.01 s=-0.1047 -0.2186 -0.0761 0.0636 0.2083 0.217 0.1145 -0.011 -0.0111 0.0196 -0.1111 -0.0905 sigma: 0.0359 AIC AICc BIC -208.3619 -203.5047 -157.8750 > accuracy(fit) ME RMSE MAE MPE MAPE MASE ACF1 Training set -0.0006710596 0.03592072 0.02773886 -0.01250262 0.508256 0.2291672 0.09431354 > pred <- forecast(fit,5) #进行预测 > pred Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 1961 6.103667 6.057633 6.149701 6.033264 6.174070 Feb 1961 6.093102 6.038110 6.148093 6.008999 6.177204 Mar 1961 6.233814 6.171130 6.296498 6.137947 6.329681 Apr 1961 6.213130 6.143597 6.282662 6.106789 6.319470 May 1961 6.223273 6.147507 6.299039 6.107399 6.339148 #绘制折线图 > plot(pred, main="Forecast for Air Travel", + ylab="Log(AirPassengers)", xlab="Time") > pred$mean <- exp(pred$mean) #矩阵pred$mean 包含了点估计值 > pred$lower <- exp(pred$lower) #矩阵pred$lower 和 pred$ upper包含了80%和95%置信区间的下界以及上界 > pred$upper <- exp(pred$upper) #exp()指数化:将返回基于原始尺度的预测值(将对数的返回来) > p <- cbind(pred$mean,pred$lower,pred$upper) > dimnames(p)[[2]] <- c("mean", "Lo 80", "Lo 95", "Hi 80", "Hi 95") #给列命名 > p mean Lo 80 Lo 95 Hi 80 Hi 95 Jan 1961 447.4958 427.3626 417.0741 468.5774 480.1365 Feb 1961 442.7926 419.1001 407.0756 467.8245 481.6434 Mar 1961 509.6958 478.7268 463.1019 542.6682 560.9776 Apr 1961 499.2613 465.7258 448.8949 535.2116 555.2788 May 1961 504.3514 467.5503 449.1688 544.0491 566.3135