Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_arimaforecasting.wasp
Title produced by softwareARIMA Forecasting
Date of computationFri, 16 Dec 2016 21:21:16 +0100
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2016/Dec/16/t1481919690vtjbu68dojsstl9.htm/, Retrieved Thu, 02 May 2024 21:34:39 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=300543, Retrieved Thu, 02 May 2024 21:34:39 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact57
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-       [ARIMA Forecasting] [] [2016-12-16 20:21:16] [404ac5ee4f7301873f6a96ef36861981] [Current]
Feedback Forum

Post a new message
Dataseries X:
2380
2354
2343
2362
2352
2341
2324
2362
2421
2451
2436
2444
2421
2427
2390
2369
2408
2356
2297
2262
2266
2347
2330
2331
2267
2163
2095
2006
2061
1954
1841
1837
1777
1757
1715
1691
1683
1658
1660
1669
1689
1644
1573
1535
1526
1536
1526
1498
1470
1485
1452
1442
1373
1373
1397
1352
1355
1336
1347
1323
1289
1265
1244




Summary of computational transaction
Raw Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R ServerBig Analytics Cloud Computing Center

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input view raw input (R code)  \tabularnewline
Raw Outputview raw output of R engine  \tabularnewline
Computing time1 seconds \tabularnewline
R ServerBig Analytics Cloud Computing Center \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=300543&T=0

[TABLE]
[ROW]
Summary of computational transaction[/C][/ROW] [ROW]Raw Input[/C] view raw input (R code) [/C][/ROW] [ROW]Raw Output[/C]view raw output of R engine [/C][/ROW] [ROW]Computing time[/C]1 seconds[/C][/ROW] [ROW]R Server[/C]Big Analytics Cloud Computing Center[/C][/ROW] [/TABLE] Source: https://freestatistics.org/blog/index.php?pk=300543&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=300543&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 Input view raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R ServerBig Analytics Cloud Computing Center







Univariate ARIMA Extrapolation Forecast
timeY[t]F[t]95% LB95% UBp-value(H0: Y[t] = F[t])P(F[t]>Y[t-1])P(F[t]>Y[t-s])P(F[t]>Y[57])
561352-------
571355-------
5813361320.76381250.81531390.71240.33470.16870.16870.1687
5913471317.8661199.89671435.83520.31420.38160.38160.2686
6013231315.97571163.16541468.7860.46410.34530.34530.3083
6112891293.63941108.20681479.07190.48040.37820.37820.2583
6212651299.38971088.89971509.87980.37440.53850.53850.3023
6312441276.27491031.30181521.24810.39810.53590.53590.2644

\begin{tabular}{lllllllll}
\hline
Univariate ARIMA Extrapolation Forecast \tabularnewline
time & Y[t] & F[t] & 95% LB & 95% UB & p-value(H0: Y[t] = F[t]) & P(F[t]>Y[t-1]) & P(F[t]>Y[t-s]) & P(F[t]>Y[57]) \tabularnewline
56 & 1352 & - & - & - & - & - & - & - \tabularnewline
57 & 1355 & - & - & - & - & - & - & - \tabularnewline
58 & 1336 & 1320.7638 & 1250.8153 & 1390.7124 & 0.3347 & 0.1687 & 0.1687 & 0.1687 \tabularnewline
59 & 1347 & 1317.866 & 1199.8967 & 1435.8352 & 0.3142 & 0.3816 & 0.3816 & 0.2686 \tabularnewline
60 & 1323 & 1315.9757 & 1163.1654 & 1468.786 & 0.4641 & 0.3453 & 0.3453 & 0.3083 \tabularnewline
61 & 1289 & 1293.6394 & 1108.2068 & 1479.0719 & 0.4804 & 0.3782 & 0.3782 & 0.2583 \tabularnewline
62 & 1265 & 1299.3897 & 1088.8997 & 1509.8798 & 0.3744 & 0.5385 & 0.5385 & 0.3023 \tabularnewline
63 & 1244 & 1276.2749 & 1031.3018 & 1521.2481 & 0.3981 & 0.5359 & 0.5359 & 0.2644 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=300543&T=1

[TABLE]
[ROW][C]Univariate ARIMA Extrapolation Forecast[/C][/ROW]
[ROW][C]time[/C][C]Y[t][/C][C]F[t][/C][C]95% LB[/C][C]95% UB[/C][C]p-value(H0: Y[t] = F[t])[/C][C]P(F[t]>Y[t-1])[/C][C]P(F[t]>Y[t-s])[/C][C]P(F[t]>Y[57])[/C][/ROW]
[ROW][C]56[/C][C]1352[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][/ROW]
[ROW][C]57[/C][C]1355[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][C]-[/C][/ROW]
[ROW][C]58[/C][C]1336[/C][C]1320.7638[/C][C]1250.8153[/C][C]1390.7124[/C][C]0.3347[/C][C]0.1687[/C][C]0.1687[/C][C]0.1687[/C][/ROW]
[ROW][C]59[/C][C]1347[/C][C]1317.866[/C][C]1199.8967[/C][C]1435.8352[/C][C]0.3142[/C][C]0.3816[/C][C]0.3816[/C][C]0.2686[/C][/ROW]
[ROW][C]60[/C][C]1323[/C][C]1315.9757[/C][C]1163.1654[/C][C]1468.786[/C][C]0.4641[/C][C]0.3453[/C][C]0.3453[/C][C]0.3083[/C][/ROW]
[ROW][C]61[/C][C]1289[/C][C]1293.6394[/C][C]1108.2068[/C][C]1479.0719[/C][C]0.4804[/C][C]0.3782[/C][C]0.3782[/C][C]0.2583[/C][/ROW]
[ROW][C]62[/C][C]1265[/C][C]1299.3897[/C][C]1088.8997[/C][C]1509.8798[/C][C]0.3744[/C][C]0.5385[/C][C]0.5385[/C][C]0.3023[/C][/ROW]
[ROW][C]63[/C][C]1244[/C][C]1276.2749[/C][C]1031.3018[/C][C]1521.2481[/C][C]0.3981[/C][C]0.5359[/C][C]0.5359[/C][C]0.2644[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=300543&T=1

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

As an alternative you can also use a QR Code:  

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

Univariate ARIMA Extrapolation Forecast
timeY[t]F[t]95% LB95% UBp-value(H0: Y[t] = F[t])P(F[t]>Y[t-1])P(F[t]>Y[t-s])P(F[t]>Y[57])
561352-------
571355-------
5813361320.76381250.81531390.71240.33470.16870.16870.1687
5913471317.8661199.89671435.83520.31420.38160.38160.2686
6013231315.97571163.16541468.7860.46410.34530.34530.3083
6112891293.63941108.20681479.07190.48040.37820.37820.2583
6212651299.38971088.89971509.87980.37440.53850.53850.3023
6312441276.27491031.30181521.24810.39810.53590.53590.2644







Univariate ARIMA Extrapolation Forecast Performance
time% S.E.PEMAPEsMAPESq.EMSERMSEScaledEMASE
580.0270.01140.01140.0115232.1412000.66830.6683
590.04570.02160.01650.0167848.7912540.466223.24791.27780.973
600.05920.00530.01280.012949.3412376.757819.41030.30810.7514
610.0731-0.00360.01050.010621.5237287.949316.9691-0.20350.6144
620.0826-0.02720.01380.01381182.6539466.890221.6076-1.50830.7932
630.0979-0.02590.01580.01581041.671562.68723.721-1.41560.8969

\begin{tabular}{lllllllll}
\hline
Univariate ARIMA Extrapolation Forecast Performance \tabularnewline
time & % S.E. & PE & MAPE & sMAPE & Sq.E & MSE & RMSE & ScaledE & MASE \tabularnewline
58 & 0.027 & 0.0114 & 0.0114 & 0.0115 & 232.1412 & 0 & 0 & 0.6683 & 0.6683 \tabularnewline
59 & 0.0457 & 0.0216 & 0.0165 & 0.0167 & 848.7912 & 540.4662 & 23.2479 & 1.2778 & 0.973 \tabularnewline
60 & 0.0592 & 0.0053 & 0.0128 & 0.0129 & 49.3412 & 376.7578 & 19.4103 & 0.3081 & 0.7514 \tabularnewline
61 & 0.0731 & -0.0036 & 0.0105 & 0.0106 & 21.5237 & 287.9493 & 16.9691 & -0.2035 & 0.6144 \tabularnewline
62 & 0.0826 & -0.0272 & 0.0138 & 0.0138 & 1182.6539 & 466.8902 & 21.6076 & -1.5083 & 0.7932 \tabularnewline
63 & 0.0979 & -0.0259 & 0.0158 & 0.0158 & 1041.671 & 562.687 & 23.721 & -1.4156 & 0.8969 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=300543&T=2

[TABLE]
[ROW][C]Univariate ARIMA Extrapolation Forecast Performance[/C][/ROW]
[ROW][C]time[/C][C]% S.E.[/C][C]PE[/C][C]MAPE[/C][C]sMAPE[/C][C]Sq.E[/C][C]MSE[/C][C]RMSE[/C][C]ScaledE[/C][C]MASE[/C][/ROW]
[ROW][C]58[/C][C]0.027[/C][C]0.0114[/C][C]0.0114[/C][C]0.0115[/C][C]232.1412[/C][C]0[/C][C]0[/C][C]0.6683[/C][C]0.6683[/C][/ROW]
[ROW][C]59[/C][C]0.0457[/C][C]0.0216[/C][C]0.0165[/C][C]0.0167[/C][C]848.7912[/C][C]540.4662[/C][C]23.2479[/C][C]1.2778[/C][C]0.973[/C][/ROW]
[ROW][C]60[/C][C]0.0592[/C][C]0.0053[/C][C]0.0128[/C][C]0.0129[/C][C]49.3412[/C][C]376.7578[/C][C]19.4103[/C][C]0.3081[/C][C]0.7514[/C][/ROW]
[ROW][C]61[/C][C]0.0731[/C][C]-0.0036[/C][C]0.0105[/C][C]0.0106[/C][C]21.5237[/C][C]287.9493[/C][C]16.9691[/C][C]-0.2035[/C][C]0.6144[/C][/ROW]
[ROW][C]62[/C][C]0.0826[/C][C]-0.0272[/C][C]0.0138[/C][C]0.0138[/C][C]1182.6539[/C][C]466.8902[/C][C]21.6076[/C][C]-1.5083[/C][C]0.7932[/C][/ROW]
[ROW][C]63[/C][C]0.0979[/C][C]-0.0259[/C][C]0.0158[/C][C]0.0158[/C][C]1041.671[/C][C]562.687[/C][C]23.721[/C][C]-1.4156[/C][C]0.8969[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=300543&T=2

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

As an alternative you can also use a QR Code:  

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

Univariate ARIMA Extrapolation Forecast Performance
time% S.E.PEMAPEsMAPESq.EMSERMSEScaledEMASE
580.0270.01140.01140.0115232.1412000.66830.6683
590.04570.02160.01650.0167848.7912540.466223.24791.27780.973
600.05920.00530.01280.012949.3412376.757819.41030.30810.7514
610.0731-0.00360.01050.010621.5237287.949316.9691-0.20350.6144
620.0826-0.02720.01380.01381182.6539466.890221.6076-1.50830.7932
630.0979-0.02590.01580.01581041.671562.68723.721-1.41560.8969



Parameters (Session):
par1 = 12 ; par2 = Double ; par3 = additive ; par4 = 12 ;
Parameters (R input):
par1 = 6 ; par2 = 1 ; par3 = 1 ; par4 = 0 ; par5 = 1 ; par6 = 3 ; par7 = 2 ; par8 = 2 ; par9 = 1 ; 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*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
(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')