Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
52.61 65.04 67.54 63.58 57.35 54.93 54.30 58.89 65.95 82.65 100.08 100.68 97.53 92.29 85.08 91.61 93.61 90.40 99.31 107.71 106.18 98.80 99.58 98.85 92.69 91.82 92.63 98.41 94.56 85.78 84.59 83.49 84.68 80.12 84.37 85.94 87.07 84.52 83.13 75.95 70.12 78.10 83.06 87.92 90.21 89.95 97.08 102.08 100.64 97.73 97.61 100.32 102.04 107.80 111.51 110.18 110.08 117.40 119.82 118.79 113.18 122.76 120.43 129.16 132.48 135.68 141.49 122.40 137.06 144.84 154.64 148.04 152.76 172.00 169.03 179.68 190.38 233.23 231.45 244.87 299.12 385.01 381.48 321.56 317.27 323.09 392.72 372.37 386.52 412.83 404.91 406.73 392.41 363.31 357.95 375.10 369.74 386.14 353.40 346.87 362.53 349.87 347.03 332.94 327.48 327.92 308.91 285.71 318.81 284.76 301.04 315.16 388.34 383.37 416.77 423.24 429.90 486.07 394.41 410.93 430.88 447.29 431.65 456.53 452.93 440.90 416.46 451.49 432.00 436.19 428.55 421.40 425.18 437.24 431.92 412.65 419.37 436.40 421.37 423.66 402.45 402.82 400.46 425.73 417.93 403.43 404.96 393.64 399.98 375.93 366.57 353.90 347.51 364.10 328.64 348.01 329.63 350.96 336.16 332.15 349.46 383.64 369.82 345.50 337.80 334.76 338.02 346.74 371.84 375.90 373.31 391.91 374.28 384.69 372.16 371.97 351.76 352.89 330.48 347.70 345.58 360.76 364.40 374.62 369.07 341.80 337.87 336.58 332.66 335.74 321.64 329.38 321.84 324.56 330.90 310.91 318.07 312.36 315.19 332.89 310.67 321.26 316.15 283.87 280.65 280.21 265.93 267.80 278.03 291.86 262.61 264.80 265.67 251.05 256.11 279.75 282.52 288.89 308.46 292.89 280.79 273.61 276.67 277.92 250.28 264.70 268.95 261.69 257.99 251.28 243.14 246.81 224.50 241.25 254.97 261.39 266.67 264.28 270.45 274.97 281.13 300.65 321.12 354.79 318.97 298.71 318.85 327.89 348.19 335.18 332.98 331.04 317.52 325.31 317.59 313.37 313.00 314.77 298.37 311.10 308.79 297.30 293.58 291.35 291.51 289.94 287.07 280.74 294.95 288.98 285.63 294.55 290.67 314.78 306.50 304.48 308.65 307.01 298.59 293.51 294.90 296.14 294.25 291.75 290.49 288.68 310.07 297.45 300.81 301.56 296.89 305.23 298.45 298.75 273.02 266.62 266.06 284.48 275.71 284.19 284.81 267.29 272.95 262.35 246.34 251.03 247.54 254.80 245.08 251.30 261.48 258.85 270.89 257.55 253.08 238.81 241.22 280.75 284.56 289.35 289.56 289.55 305.00 289.22 301.82 293.56 300.59 298.67 311.55 310.08 312.06 309.13 292.31 284.41 290.02 291.52 296.81 315.60 319.63 303.89 300.53 321.84 309.48 307.68 310.53 327.91 343.18 345.48 342.03 349.57 322.50 310.74 318.96 327.53 320.00 320.72 330.86 342.34 322.37 306.86 301.75 307.27 301.30 315.18 342.11 333.18 332.26 332.32 330.00 321.78 318.59 344.78 324.09 322.03 325.32 325.10 335.10 334.66 334.54 341.15 320.47 323.85 328.06 328.93 337.50 335.65 361.05 353.19 352.28 392.53 393.03 420.42 434.91 468.38 466.35 480.93 511.25 508.39 479.80 495.63 487.09 473.06 473.03 487.87 479.28 500.60 502.82 497.13 496.06 489.80 481.66 486.17 492.94 522.45 545.71 533.77 570.26 623.56 639.94 589.13 559.45 569.96 590.43 588.37 565.80 629.69 576.28 641.89 625.70 717.52 749.58 690.29 666.55 689.18 666.24 662.32 665.83 681.23 704.87 783.13 757.97 775.93 812.08 824.40 886.89 984.07 1015.59 897.30 980.37 957.37 968.96 1062.80 1047.67 967.91 1021.58 1014.02 1034.98 1068.80 1038.38 1133.26 1259.55 1207.42 1234.59 1297.03
Sample Range:
(leave blank to include all observations)
From:
To:
Testing Period
(?)
12
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Box-Cox lambda transformation parameter (lambda)
0.3
1
-2.0
-1.9
-1.8
-1.7
-1.6
-1.5
-1.4
-1.3
-1.2
-1.1
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
Degree of non-seasonal differencing (d)
1
0
1
2
Degree of seasonal differencing (D)
1
0
1
Seasonal period (s)
12
1
2
3
4
6
12
AR(p) order
0
0
1
2
3
MA(q) order
0
0
1
2
SAR(P) order
0
0
1
2
SMA(Q) order
1
0
1
Include mean?
FALSE
FALSE
TRUE
Chart options
R Code
par1 <- as.numeric(par1) #cut off periods par2 <- as.numeric(par2) #lambda par3 <- as.numeric(par3) #degree of non-seasonal differencing par4 <- as.numeric(par4) #degree of seasonal differencing par5 <- as.numeric(par5) #seasonal period par6 <- as.numeric(par6) #p par7 <- as.numeric(par7) #q par8 <- as.numeric(par8) #P par9 <- as.numeric(par9) #Q if (par10 == 'TRUE') par10 <- TRUE if (par10 == 'FALSE') par10 <- FALSE if (par2 == 0) x <- log(x) if (par2 != 0) x <- x^par2 lx <- length(x) first <- lx - 2*par1 nx <- lx - par1 nx1 <- nx + 1 fx <- lx - nx if (fx < 1) { fx <- par5 nx1 <- lx + fx - 1 first <- lx - 2*fx } first <- 1 if (fx < 3) fx <- round(lx/10,0) (arima.out <- arima(x[1:nx], order=c(par6,par3,par7), seasonal=list(order=c(par8,par4,par9), period=par5), include.mean=par10, method='ML')) (forecast <- predict(arima.out,par1)) (lb <- forecast$pred - 1.96 * forecast$se) (ub <- forecast$pred + 1.96 * forecast$se) if (par2 == 0) { x <- exp(x) forecast$pred <- exp(forecast$pred) lb <- exp(lb) ub <- exp(ub) } if (par2 != 0) { x <- x^(1/par2) forecast$pred <- forecast$pred^(1/par2) lb <- lb^(1/par2) ub <- ub^(1/par2) } if (par2 < 0) { olb <- lb lb <- ub ub <- olb } (actandfor <- c(x[1:nx], forecast$pred)) (perc.se <- (ub-forecast$pred)/1.96/forecast$pred) bitmap(file='test1.png') opar <- par(mar=c(4,4,2,2),las=1) ylim <- c( min(x[first:nx],lb), max(x[first:nx],ub)) plot(x,ylim=ylim,type='n',xlim=c(first,lx)) usr <- par('usr') rect(usr[1],usr[3],nx+1,usr[4],border=NA,col='lemonchiffon') rect(nx1,usr[3],usr[2],usr[4],border=NA,col='lavender') abline(h= (-3:3)*2 , col ='gray', lty =3) polygon( c(nx1:lx,lx:nx1), c(lb,rev(ub)), col = 'orange', lty=2,border=NA) lines(nx1:lx, lb , lty=2) lines(nx1:lx, ub , lty=2) lines(x, lwd=2) lines(nx1:lx, forecast$pred , lwd=2 , col ='white') box() par(opar) dev.off() prob.dec <- array(NA, dim=fx) prob.sdec <- array(NA, dim=fx) prob.ldec <- array(NA, dim=fx) prob.pval <- array(NA, dim=fx) perf.pe <- array(0, dim=fx) perf.mape <- array(0, dim=fx) perf.mape1 <- array(0, dim=fx) perf.se <- array(0, dim=fx) perf.mse <- array(0, dim=fx) perf.mse1 <- array(0, dim=fx) perf.rmse <- array(0, dim=fx) for (i in 1:fx) { locSD <- (ub[i] - forecast$pred[i]) / 1.96 perf.pe[i] = (x[nx+i] - forecast$pred[i]) / forecast$pred[i] perf.se[i] = (x[nx+i] - forecast$pred[i])^2 prob.dec[i] = pnorm((x[nx+i-1] - forecast$pred[i]) / locSD) prob.sdec[i] = pnorm((x[nx+i-par5] - forecast$pred[i]) / locSD) prob.ldec[i] = pnorm((x[nx] - forecast$pred[i]) / locSD) prob.pval[i] = pnorm(abs(x[nx+i] - forecast$pred[i]) / locSD) } perf.mape[1] = abs(perf.pe[1]) perf.mse[1] = abs(perf.se[1]) for (i in 2:fx) { perf.mape[i] = perf.mape[i-1] + abs(perf.pe[i]) perf.mape1[i] = perf.mape[i] / i perf.mse[i] = perf.mse[i-1] + perf.se[i] perf.mse1[i] = perf.mse[i] / i } perf.rmse = sqrt(perf.mse1) bitmap(file='test2.png') plot(forecast$pred, pch=19, type='b',main='ARIMA Extrapolation Forecast', ylab='Forecast and 95% CI', xlab='time',ylim=c(min(lb),max(ub))) dum <- forecast$pred dum[1:par1] <- x[(nx+1):lx] lines(dum, lty=1) lines(ub,lty=3) lines(lb,lty=3) dev.off() load(file='createtable') a<-table.start() a<-table.row.start(a) a<-table.element(a,'Univariate ARIMA Extrapolation Forecast',9,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'time',1,header=TRUE) a<-table.element(a,'Y[t]',1,header=TRUE) a<-table.element(a,'F[t]',1,header=TRUE) a<-table.element(a,'95% LB',1,header=TRUE) a<-table.element(a,'95% UB',1,header=TRUE) a<-table.element(a,'p-value<br />(H0: Y[t] = F[t])',1,header=TRUE) a<-table.element(a,'P(F[t]>Y[t-1])',1,header=TRUE) a<-table.element(a,'P(F[t]>Y[t-s])',1,header=TRUE) mylab <- paste('P(F[t]>Y[',nx,sep='') mylab <- paste(mylab,'])',sep='') a<-table.element(a,mylab,1,header=TRUE) a<-table.row.end(a) for (i in (nx-par5):nx) { a<-table.row.start(a) a<-table.element(a,i,header=TRUE) a<-table.element(a,x[i]) a<-table.element(a,'-') a<-table.element(a,'-') a<-table.element(a,'-') a<-table.element(a,'-') a<-table.element(a,'-') a<-table.element(a,'-') a<-table.element(a,'-') a<-table.row.end(a) } for (i in 1:fx) { a<-table.row.start(a) a<-table.element(a,nx+i,header=TRUE) a<-table.element(a,round(x[nx+i],4)) a<-table.element(a,round(forecast$pred[i],4)) a<-table.element(a,round(lb[i],4)) a<-table.element(a,round(ub[i],4)) a<-table.element(a,round((1-prob.pval[i]),4)) a<-table.element(a,round((1-prob.dec[i]),4)) a<-table.element(a,round((1-prob.sdec[i]),4)) a<-table.element(a,round((1-prob.ldec[i]),4)) 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,'Univariate ARIMA Extrapolation Forecast Performance',7,TRUE) a<-table.row.end(a) a<-table.row.start(a) a<-table.element(a,'time',1,header=TRUE) a<-table.element(a,'% S.E.',1,header=TRUE) a<-table.element(a,'PE',1,header=TRUE) a<-table.element(a,'MAPE',1,header=TRUE) a<-table.element(a,'Sq.E',1,header=TRUE) a<-table.element(a,'MSE',1,header=TRUE) a<-table.element(a,'RMSE',1,header=TRUE) a<-table.row.end(a) for (i in 1:fx) { a<-table.row.start(a) a<-table.element(a,nx+i,header=TRUE) a<-table.element(a,round(perc.se[i],4)) a<-table.element(a,round(perf.pe[i],4)) a<-table.element(a,round(perf.mape1[i],4)) a<-table.element(a,round(perf.se[i],4)) a<-table.element(a,round(perf.mse1[i],4)) a<-table.element(a,round(perf.rmse[i],4)) a<-table.row.end(a) } a<-table.end(a) table.save(a,file='mytable1.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