Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
0.0976999042077651 0.0888998338005906 0.0964998334679063 0.0894998341831167 0.0853998438657789 0.0842998482610295 0.0836998497391663 0.0861998477733592 0.0906998413388313 0.0956998327961495 0.095599828849401 0.0969998524271482 -0.357053321260274 -1.64125592174998 -5.65398562941077 -3.57369093017378 3.08909186160842 -1.14294096349874 0.602499286559887 0.166822064597347 -2.02531351834469 -1.51546107389643 0.0724805852747878 -2.12205929540466 2.19628766173121 -0.0605079650571812 3.64463341109045 4.3312299372585 2.20072805798757 2.74253723998927 2.80660340500022 2.42310540764882 -1.664502969128 1.80722045286534 -0.0879161686365307 -0.790544927696883 3.70734995450548 2.45145951417313 0.471526918886696 3.41122052361345 0.187591405261646 1.87810105953099 4.50494118727212 1.9031677843587 1.52467514737968 1.72575668554543 -3.58861424781686 6.96148170420439 1.69928770794081 3.04405183004109 2.48606121085736 -0.807396900146041 1.53657589478381 -1.38161897704946 2.77598793097358 -5.93296184347235 -0.263889052860067 -3.02535674547065 4.0012575934818 4.32801939555623 -2.04085540667922 6.68357991579588 -2.06004642382633 3.522754668406 -3.36850476440946 -0.711479229976281 -1.61039660855169 -1.94921198196442 -1.21319020567838 -2.44756150052018 -1.41356427888564 5.47243063881544 1.89600852094512 3.88035094112904 0.922325836564759 -3.08706584611076 1.06860614455855 0.881413679492219 -1.57557832654175 0.527939913027753 -3.86831652628551 1.40765149496435 -1.40354501070749 -1.55576677799834 0.914900847927305 2.99711419297897 1.32395378714095 2.39203609300244 -0.726259896583282 2.29567767446795 -2.53527156152751 3.74269940625232 -1.86879168954026 4.51712030941218 4.45668746161051 1.59689203792215 3.26315868802412 -0.543077103435425 -3.46548932688626 0.0598501475597718 -3.52257936759703 0.879330630495331 0.808267955488759 -0.891900331296483 0.443994317595385 0.141298011897711 -2.80826062918138 5.52761466380316 2.17891836739269 0.581613942878553 2.24179847901961 -2.07361858024247 4.49698865661718 -0.910119263072599 4.55376468685512 7.48120523981561 6.07660728911893 2.1751579748916 2.53634277143853 7.0905286026385 6.64550874513171 6.85412406071121 6.41334363341769 1.451396131662 5.88118896677921 0.396276524675632 4.5197815049283 1.41617888835173 -0.134041291023127 0.807840315036697 5.04424629212873 -1.3362225226509 2.23050898982359 -2.4124794822725 0.280947418259945 -0.629883736968921 2.82350012327787 -0.539447361745164 -0.478633901306396 1.98286680956942 0.566751504683537 -2.95578003485252 -2.8565769057602 -0.84387697300368 0.657716626503226 14.2882970976304 -15.9996183800875 8.39265012689809 -5.40811611431774 -0.387605883172688 -1.8948835378665 -6.1997974605813 -3.79506066565307 -9.84732540147536 -1.85489547796836 -5.02361465754457 -2.03333959245047 -3.16576613387049 6.72791511770907 -9.82848701501875 -1.71062398205383 1.46570354878151 2.64418036004429 -3.28738353946084 -1.41781549259528 4.74181775442066 4.68722306762713 5.46484582359931 -4.51374511743435 2.18551106502422 -6.82074461724613 -4.71034867081783 -2.21582759263371 -6.47891425453943 -4.22546886960864 -9.6047723905143 -8.68320806099863 -9.1732300352678 -10.3017333729288 -7.38105099800202 -0.796877816411444 -5.86095189446579 -5.79007969724407 -5.75147519627957 -8.68514523795461 -5.87071349201609 -9.60690856291488 -9.53894275797437 -2.52198658144077 -3.74119764281139 2.19669722197803 -5.76158272034317 11.5282655390469 1.77267041237508 12.6725222840074 3.46546572748846 -1.0804696213614 -0.306116395111087 3.86481926030857 7.42235826762557 -2.95271702955756 3.61466876312377 3.26319794373134 4.58485703523785 4.04330871807009 -0.212109037663633 -0.101392533947272 -6.66116675533387 2.74832705448637 5.34508004769503 4.3318058751711 2.7946809664538
Sample Range:
(leave blank to include all observations)
From:
To:
Testing Period
(?)
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)
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)
0
1
2
Degree of seasonal differencing (D)
0
1
Seasonal period (s)
1
2
3
4
6
12
AR(p) order
0
1
2
3
MA(q) order
0
1
2
SAR(P) order
0
1
2
SMA(Q) order
0
1
Include mean?
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*2 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,fx)) (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.spe <- array(0, dim=fx) perf.scalederr <- array(0, dim=fx) perf.mase <- array(0, dim=fx) perf.mase1 <- array(0, dim=fx) perf.mape <- array(0, dim=fx) perf.smape <- array(0, dim=fx) perf.mape1 <- array(0, dim=fx) perf.smape1 <- 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) perf.scaleddenom <- 0 for (i in 2:fx) { perf.scaleddenom = perf.scaleddenom + abs(x[nx+i] - x[nx+i-1]) } perf.scaleddenom = perf.scaleddenom / (fx-1) for (i in 1:fx) { locSD <- (ub[i] - forecast$pred[i]) / 1.96 perf.scalederr[i] = (x[nx+i] - forecast$pred[i]) / perf.scaleddenom perf.pe[i] = (x[nx+i] - forecast$pred[i]) / x[nx+i] perf.spe[i] = 2*(x[nx+i] - forecast$pred[i]) / (x[nx+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.smape[1] = abs(perf.spe[1]) perf.mape1[1] = perf.mape[1] perf.smape1[1] = perf.smape[1] perf.mse[1] = perf.se[1] perf.mase[1] = abs(perf.scalederr[1]) perf.mase1[1] = perf.mase[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.smape[i] = perf.smape[i-1] + abs(perf.spe[i]) perf.smape1[i] = perf.smape[i] / i perf.mse[i] = perf.mse[i-1] + perf.se[i] perf.mse1[i] = perf.mse[i] / i perf.mase[i] = perf.mase[i-1] + abs(perf.scalederr[i]) perf.mase1[i] = perf.mase[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',10,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,'sMAPE',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.element(a,'ScaledE',1,header=TRUE) a<-table.element(a,'MASE',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.smape1[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.element(a,round(perf.scalederr[i],4)) a<-table.element(a,round(perf.mase1[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
1 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation