Send output to:
Browser Blue - Charts White
Browser Black/White
CSV
Data:
0.029457652087885 -0.0275606882456207 -0.0254027739500223 -0.0318947564153757 -0.0303858838354719 -0.0258486418236443 -0.0219809448030725 -0.0165714567988682 -0.0111482198656046 -0.00694011659412347 -0.0439401964676472 -0.0314998005488903 -0.140325759536103 0.241873428343118 -1.83965426184458 1.96165996032981 8.49137807351938 1.7070980372471 -0.185432080153799 -0.185277461471172 -2.47114413023505 -1.31006994590143 1.34601108476698 -0.776745285505828 3.43973131611005 0.361104820836293 1.57499572989752 2.46567369736536 -0.313919411265692 -1.52889850749315 -0.877785340688965 -1.0207067689447 -5.51863868522089 -0.653429390000073 -0.0563887781718521 -1.89369268849147 4.40797510907441 2.27118930953709 -1.37762751110982 1.66585031506446 -2.44513763005521 -1.0424143016634 3.09202527139062 -0.588883602827515 -3.23425700521144 -1.04760280489436 -5.99145042137191 5.84443454914419 2.81977628099153 -0.110184681183681 -0.8184352371636 -3.84683960696525 -1.58956426706921 -2.21499724751879 3.14377923812915 -6.11813805867753 -0.787525186139627 0.00234940714924691 4.93002633042173 7.78184967260623 -4.5074929296156 3.6695515006244 -3.33991912092469 -0.878881777938973 -4.85918304120187 -2.66752772492587 0.33665601513876 -1.91054331949319 0.954691768123844 -0.396429543859729 2.00784885248122 9.36308933853489 1.00246084511474 1.66233216629335 -2.63541733833425 -6.5012131249908 -1.0910145897251 1.8669926375959 -1.91054166991967 0.487714471285796 -2.7351597791695 2.26004964491397 0.937125448102178 -0.0861762252056817 2.14177272052253 4.14884163176815 0.884477815613721 -0.769065304195431 -2.5358837796836 1.33119538013357 -3.8447966114935 3.6100721681995 -1.76086767550639 3.93064341972245 4.32785920337141 -2.97752834441006 -0.542262398443804 -3.13064384038722 -5.39066007654516 0.743482604101811 -1.74905187770303 2.76526884332508 2.41797007198344 0.467230826537289 0.436865174757906 1.10163861196415 -2.33039540752174 4.5736978765749 2.42201285078096 -3.72469892150159 -0.934247647304935 -2.97642643212684 3.60224803219433 -0.429380874912467 3.45474975161042 6.68542685328318 3.15128178226353 -4.45679400130828 -4.67141759322805 3.95679619329197 3.39985495239035 0.194825072455957 0.526830732483301 -5.80658532976184 1.12994691860884 -3.78789998096617 0.888669774588405 0.23721466168725 -2.46708355734487 -2.32066506052019 3.57941224459582 -3.0566580433992 -0.790639407624624 -3.13895603606826 0.295338520666622 0.154472823854388 3.62110870347753 -1.19936226019223 -2.15566187111525 1.02091406927872 0.191774090146165 -4.23957600267129 -2.273899228308 -0.890463027323559 2.09967333876857 15.5699486895499 -17.7220023834929 3.83572865980937 -0.271206582994841 -1.27326341455826 -0.386342342322243 -5.42270826387883 -0.860272242971532 -5.69545197001826 2.82216811392364 1.52471591826248 2.17540360329109 4.16970900577684 7.75262781095945 -6.53500745217853 -3.83996855398648 6.30006173414532 5.55971840072094 -4.96299962721042 -2.5794329514852 6.23762837941685 6.35368420749551 2.41195812924297 -9.87960198588138 -3.15289368231554 -1.96854854359383 -4.92473095182824 1.37624642556152 -0.434619815708275 0.443796358351299 -5.07935503145912 -3.2151255964642 1.47721515686566 -0.725058709308025 1.7105441549231 6.56490611891492 -0.618420969293037 -1.2143262615226 -0.0917798829095124 -2.55768332503946 -0.09463193784178 -2.8246777007797 -2.40299454037231 6.78423965591199 5.4906540420909 6.15257062357066 -3.47916881530489 13.9881624957679 2.16262562944684 8.8010193966107 0.275542938813737 -10.6117857327878 -5.67023085191191 1.83620658784714 8.27395330390618 -3.95299270031639 -0.0776450454386606 2.70346087442168 0.702191971099094 2.11339400809498 -5.22825741167876 -0.818347022645382 -6.23689669847104 2.47738192406782 8.10907711897875 3.96347703815884 1.59143593615804
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
0 seconds
R Server
Big Analytics Cloud Computing Center
Click here to blog (archive) this computation