Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
97.7 88.9 96.5 89.5 85.4 84.3 83.7 86.2 90.7 95.7 95.6 97 97.2 86.6 88.4 81.4 86.9 84.9 83.7 86.8 88.3 92.5 94.7 94.5 98.7 88.6 95.2 91.3 91.7 89.3 88.7 91.2 88.6 94.6 96 94.3 102 93.4 96.7 93.7 91.6 89.6 92.9 94.1 92 97.5 92.7 100.7 105.9 95.3 99.8 91.3 90.8 87.1 91.4 86.1 87.1 92.6 96.6 105.3 102.4 98.2 98.6 92.6 87.9 84.1 86.7 84.4 86 90.4 92.9 105.8 106 99.1 99.9 88.1 87.8 87.1 85.9 86.5 84.1 92.1 93.3 98.9 103 98.4 100.7 92.3 89 88.9 85.5 90.1 87 97.1 101.5 103 106.1 96.1 94.2 89.1 85.2 86.5 88 88.4 87.9 95.7 94.8 105.2 108.7 96.1 98.3 88.6 90.8 88.1 91.9 98.5 98.6 100.3 98.7 110.7 115.4 105.4 108 94.5 96.5 91 94.1 96.4 93.1 97.5 102.5 105.7 109.1 97.2 100.3 91.3 94.3 89.5 89.3 93.4 91.9 92.9 93.7 100.1 105.5 110.5 89.5 90.4 89.9 84.6 86.2 83.4 82.9 81.8 87.6 94.6 99.6 96.7 99.8 83.8 82.4 86.8 91 85.3 83.6 94 100.3 107.1 100.7 95.5 92.9 79.2 82 79.3 81.5 76 73.1 80.4 82.1 90.5 98.1 89.5 86.5 77 74.7 73.4 72.5 69.3 75.2 83.5 90.5 92.2 110.5 101.8 107.4 95.5 84.5 81.1 86.2 91.5 84.7 92.2 99.2 104.5 113 100.4 101 84.8 86.5 91.7 94.8 95
Seasonal period
1111200111111Defaultadditive11additive1212
12
1
2
3
4
5
6
7
8
9
10
11
12
Type of Exponential Smoothing
(?)
Do not include Seasonal DummiesDo not include Seasonal DummiesDo not include Seasonal DummiesDo not include Seasonal Dummies52Do not include Seasonal Dummies222211221212DoubleTriple
Single
Double
Triple
Type of seasonality
(?)
FALSEFALSEFALSE0FALSENo Linear TrendFALSE3FALSEFALSE0additiveadditive
additive
multiplicative
Number of Forecasts
00P1 P5 Q1 Q3 P95 P99P1 P5 Q1 Q3 P95 P990FALSEFALSEFALSE01212
12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Chart options
R Code
par4 <- '12' par3 <- 'additive' par2 <- 'Double' par1 <- '12' par1 <- as.numeric(par1) par4 <- as.numeric(par4) if (par2 == 'Single') K <- 1 if (par2 == 'Double') K <- 2 if (par2 == 'Triple') K <- par1 nx <- length(x) nxmK <- nx - K x <- ts(x, frequency = par1) if (par2 == 'Single') fit <- HoltWinters(x, gamma=F, beta=F) if (par2 == 'Double') fit <- HoltWinters(x, gamma=F) if (par2 == 'Triple') fit <- HoltWinters(x, seasonal=par3) fit myresid <- x - fit$fitted[,'xhat'] bitmap(file='test1.png') op <- par(mfrow=c(2,1)) plot(fit,ylab='Observed (black) / Fitted (red)',main='Interpolation Fit of Exponential Smoothing') plot(myresid,ylab='Residuals',main='Interpolation Prediction Errors') par(op) dev.off() bitmap(file='test2.png') p <- predict(fit, par4, prediction.interval=TRUE) np <- length(p[,1]) plot(fit,p,ylab='Observed (black) / Fitted (red)',main='Extrapolation Fit of Exponential Smoothing') dev.off() bitmap(file='test3.png') op <- par(mfrow = c(2,2)) acf(as.numeric(myresid),lag.max = nx/2,main='Residual ACF') spectrum(myresid,main='Residals Periodogram') cpgram(myresid,main='Residal Cumulative Periodogram') qqnorm(myresid,main='Residual Normal QQ Plot') qqline(myresid) par(op) dev.off() load(file='createtable') a<-table.start() a<-table.row.start(a) a<-table.element(a,'Estimated Parameters of Exponential Smoothing',2,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'Parameter',header=TRUE) a<-table.element(a,'Value',header=TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'alpha',header=TRUE) a<-table.element(a,fit$alpha) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'beta',header=TRUE) a<-table.element(a,fit$beta) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'gamma',header=TRUE) a<-table.element(a,fit$gamma) a<-table.row.end(a) a<-table.end(a) table.save(a,file='mytable.tab') a<-table.start() a<-table.row.start(a) a<-table.element(a,'Interpolation Forecasts of Exponential Smoothing',4,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'t',header=TRUE) a<-table.element(a,'Observed',header=TRUE) a<-table.element(a,'Fitted',header=TRUE) a<-table.element(a,'Residuals',header=TRUE) a<-table.row.end(a) for (i in 1:nxmK) { a<-table.row.start(a) a<-table.element(a,i+K,header=TRUE) a<-table.element(a,x[i+K]) a<-table.element(a,fit$fitted[i,'xhat']) a<-table.element(a,myresid[i]) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable1.tab') a<-table.start() a<-table.row.start(a) a<-table.element(a,'Extrapolation Forecasts of Exponential Smoothing',4,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'t',header=TRUE) a<-table.element(a,'Forecast',header=TRUE) a<-table.element(a,'95% Lower Bound',header=TRUE) a<-table.element(a,'95% Upper Bound',header=TRUE) a<-table.row.end(a) for (i in 1:np) { a<-table.row.start(a) a<-table.element(a,nx+i,header=TRUE) a<-table.element(a,p[i,'fit']) a<-table.element(a,p[i,'lwr']) a<-table.element(a,p[i,'upr']) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable2.tab')
Compute
Summary of computational transaction
Raw Input
view raw input (R code)
Raw Output
view raw output of R engine
Computing time
0 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation