Free Statistics

of Irreproducible Research!

Author's title

Author*Unverified author*
R Software Modulerwasp_arimaforecasting.wasp
Title produced by softwareARIMA Forecasting
Date of computationSun, 05 Dec 2010 17:42:55 +0000
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2010/Dec/05/t1291570854ymrnt09ys8yts7s.htm/, Retrieved Wed, 01 May 2024 20:14:35 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=105451, Retrieved Wed, 01 May 2024 20:14:35 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact105
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [ARIMA Forecasting] [] [2010-12-05 17:42:55] [d41d8cd98f00b204e9800998ecf8427e] [Current]
Feedback Forum

Post a new message
Dataseries X:
1.29352173913043E+000
1.29395652173913E+000
1.29436363636364E+000
1.29440909090909E+000
1.29445454545455E+000
1.29450000000000E+000
1.29356521739130E+000
1.29234782608696E+000
1.29195652173913E+000
1.29160869565217E+000
1.29165217391304E+000
1.29156521739130E+000
1.29108695652174E+000
1.29156521739130E+000
1.29156521739130E+000
1.29160869565217E+000
1.29169565217391E+000
1.29173913043478E+000
1.29208695652174E+000
1.29165217391304E+000
1.29173913043478E+000
1.29165217391304E+000
1.29147826086957E+000
1.29126086956522E+000
1.29130434782609E+000
1.29143478260870E+000
1.29143478260870E+000
1.29139130434783E+000
1.29130434782609E+000
1.29104347826087E+000
1.29134782608696E+000
1.29134782608696E+000
1.29134782608696E+000
1.29160869565217E+000
1.29178260869565E+000
1.29191304347826E+000
1.29191304347826E+000
1.29247826086957E+000
1.29243478260870E+000
1.29252173913043E+000
1.29252173913043E+000
1.29230434782609E+000
1.29186956521739E+000
1.29217391304348E+000
1.29256521739130E+000
1.29260869565217E+000
1.29260869565217E+000
1.29247826086957E+000
1.29291304347826E+000
1.29295652173913E+000
1.29273913043478E+000
1.29260869565217E+000
1.29173913043478E+000
1.29130434782609E+000
1.29160869565217E+000
1.29226086956522E+000
1.29260869565217E+000
1.29330434782609E+000
1.29295652173913E+000
1.29221739130435E+000
1.29239130434783E+000
1.29260869565217E+000
1.29217391304348E+000
1.29191304347826E+000
1.29139130434783E+000
1.29126086956522E+000
1.29126086956522E+000
1.29143478260870E+000
1.29139130434783E+000
1.29165217391304E+000
1.29130434782609E+000
1.29121739130435E+000
1.29173913043478E+000
1.29186956521739E+000
1.29191304347826E+000
1.29204347826087E+000
1.29286956521739E+000
1.29282608695652E+000
1.29304347826087E+000
1.29282608695652E+000
1.29300000000000E+000
1.29295652173913E+000
1.29247826086957E+000
1.29195652173913E+000
1.29191304347826E+000
1.29178260869565E+000
1.29165217391304E+000
1.29160869565217E+000
1.29169565217391E+000
1.29173913043478E+000
1.29247826086957E+000
1.29352173913043E+000
1.29431818181818E+000
1.29472727272727E+000
1.29440909090909E+000
1.29486363636364E+000
1.29472727272727E+000
1.29477272727273E+000
1.29472727272727E+000
1.29463636363636E+000
1.29472727272727E+000
1.29454545454545E+000
1.29481818181818E+000
1.29477272727273E+000
1.29445454545455E+000
1.29463636363636E+000
1.29573913043478E+000
1.29595652173913E+000
1.29604347826087E+000
1.29582608695652E+000
1.29600000000000E+000
1.29573913043478E+000
1.29539130434783E+000
1.29513043478261E+000
1.29508695652174E+000
1.29560869565217E+000
1.29534782608696E+000
1.29591304347826E+000
1.29608695652174E+000
1.29613043478261E+000
1.29556521739130E+000
1.29595652173913E+000
1.29578260869565E+000
1.29586956521739E+000
1.29656521739130E+000
1.29604347826087E+000
1.29569565217391E+000
1.29608695652174E+000
1.29660869565217E+000
1.29639130434783E+000
1.29656521739130E+000
1.29695652173913E+000
1.29721739130435E+000
1.29743478260870E+000
1.29700000000000E+000
1.29743478260870E+000
1.29743478260870E+000
1.29773913043478E+000
1.29721739130435E+000
1.29773913043478E+000
1.29834782608696E+000
1.29765217391304E+000
1.29695652173913E+000
1.29943478260870E+000
1.30073913043478E+000
1.30208695652174E+000
1.30217391304348E+000
1.30091304347826E+000
1.30140909090909E+000
1.30095652173913E+000
1.30043478260870E+000
1.30109090909091E+000
1.30060869565217E+000
1.30136363636364E+000
1.30213043478261E+000
1.30086956521739E+000
1.29986956521739E+000
1.29926086956522E+000
1.29982608695652E+000
1.29978260869565E+000
1.30043478260870E+000
1.29995652173913E+000
1.30069565217391E+000
1.30104545454545E+000
1.30145454545455E+000
1.30082608695652E+000
1.30069565217391E+000
1.30154545454545E+000
1.30195454545455E+000
1.30273913043478E+000
1.30295652173913E+000
1.30334782608696E+000
1.30373913043478E+000
1.30317391304348E+000
1.30343478260870E+000
1.30417391304348E+000
1.30447826086957E+000
1.30465217391304E+000
1.30404347826087E+000
1.30404347826087E+000
1.30365217391304E+000
1.30343478260870E+000
1.30352173913044E+000
1.30365217391304E+000
1.30404347826087E+000
1.30395652173913E+000
1.30330434782609E+000
1.30465217391304E+000
1.30443478260870E+000
1.30400000000000E+000
1.30395652173913E+000
1.30465217391304E+000
1.30456521739130E+000
1.30456521739130E+000
1.30404347826087E+000
1.30373913043478E+000
1.30313043478261E+000
1.30265217391304E+000
1.30347826086957E+000
1.30339130434783E+000
1.30378260869565E+000
1.30330434782609E+000
1.30395652173913E+000
1.30460869565217E+000
1.30434782608696E+000
1.30243478260870E+000
1.30334782608696E+000
1.30439130434783E+000
1.30543478260870E+000
1.31400546448087E+000




\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input & view raw input (R code)  \tabularnewline
Raw Output & view raw output of R engine  \tabularnewline
Computing time & 1 seconds \tabularnewline
R Server & 'Gwilym Jenkins' @ 72.249.127.135 \tabularnewline
R Engine error message & 
Error in ts(z[[1L]] + xm, start = xtsp[2L] + deltat(rsd), frequency = xtsp[3L]) : 
  'ts' object must have one or more observations
Calls: predict -> predict.Arima -> ts
Execution halted
\tabularnewline \hline \end{tabular} %Source: https://freestatistics.org/blog/index.php?pk=105451&T=0

[TABLE]
[ROW][C]Summary of computational transaction[/C][/ROW]
[ROW][C]Raw Input[/C][C]view raw input (R code) [/C][/ROW]
[ROW][C]Raw Output[/C][C]view raw output of R engine [/C][/ROW]
[ROW][C]Computing time[/C][C]1 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gwilym Jenkins' @ 72.249.127.135[/C][/ROW]
[ROW][C]R Engine error message[/C][C]
Error in ts(z[[1L]] + xm, start = xtsp[2L] + deltat(rsd), frequency = xtsp[3L]) : 
  'ts' object must have one or more observations
Calls: predict -> predict.Arima -> ts
Execution halted
[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=105451&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=105451&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135
R Engine error message
Error in ts(z[[1L]] + xm, start = xtsp[2L] + deltat(rsd), frequency = xtsp[3L]) : 
  'ts' object must have one or more observations
Calls: predict -> predict.Arima -> ts
Execution halted



Parameters (Session):
par1 = 0 ; par2 = 0.0 ; par3 = 0 ; par4 = 0 ; par5 = 1 ; par6 = 2 ; par7 = 2 ; par8 = 0 ; par9 = 0 ; par10 = FALSE ;
Parameters (R input):
par1 = 0 ; par2 = 0.0 ; par3 = 0 ; par4 = 0 ; par5 = 1 ; par6 = 2 ; par7 = 2 ; par8 = 0 ; par9 = 0 ; par10 = FALSE ;
R code (references can be found in the software module):
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
(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')