数据每天都收集,这表明频率为365。但是,您对数据中的“季节性”有什么证据?当我绘制它们时我没有看到任何东西。
library(forecast)
# data through Feb
datFit <- read.csv("atm_fit.csv")
# convert 0 to NA
datFit$tot_amount[datFit$tot_amount==0] <- NA
nFit <- length(datFit$tot_amount)
beginDay <- (as.Date("2013-09-01") - as.Date("2013-01-01"))
t1 <- ts(datFit$tot_amount, start=c(2013,beginDay), freq=365)
plot.ts(t1)

的另一个问题是,你的价值都大于零,因此,或许对数变换会更合适(或使用非高斯时间序列模型)。无论如何,现在忽略这个,我们来适应一个ARIMA模型。
tsMod <- auto.arima(t1, xreg=datFit$Holiday_flag)
summary(tsMod)
Series: tt
ARIMA(3,0,0) with non-zero mean
Coefficients:
ar1 ar2 ar3 intercept datFit$Holiday_flag
0.2669 0.1611 0.1102 162648.08 -11568.59
s.e. 0.0757 0.0787 0.0772 11232.19 23829.38
sigma^2 estimated as 4.711e+09: log likelihood=-2159.72
AIC=4331.44 AICc=4331.95 BIC=4350.36
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set -0.0005199295 0.5135824 0.3887894 -0.2049583 3.350222 0.8049315 0.005689687
因此,它看起来像一个ARMAX(3,0,0)模型是“最好的”。现在让我们预测三月份的价值并检查它们。
# get March data
datFore <- read.csv("atm_fore.csv")
nFore <- length(datFore$tot_amount)
# forecast March values
ff <- forecast(tsMod, nFore, xreg=rep(0,nFore))
# plot all data together
tf <- ts(c(datFit$tot_amount,datFore$tot_amount), start=c(2013,beginDay), freq=365)
plot.ts(tf)
# fitted values
points(ff$fitted, pch=16, col="blue")
# forecasts
points(ff$mean, pch=16, col="red")

所以,你确实有一个基本回复到均值相当糟糕预测模型。数据中没有季节性因素,因此您不应该期望模型中的任何内容。
您在数据集中有几天没有数值,例如10月30日 - 11月2日。银行恐慌? :) http://apps.axibase.com/chartlab/0baf81ba –
是的,我是无视日期,因为有零交易金额 – Shahnawaz
如何计算那些预测值 – Shahnawaz