我有一个包含2年每日数据的数据集。数据类型有两个季节性组件(每周和每月,即每种类型的日子表现方式相似,每个月相同)。让我们忘记每年不同日期的假期。我需要建立一个时间序列模型来预测1或2个月的每日数据。我尝试了不同参数的ARIMA,预测器总是变平。
这是我的代码:
df <read.csv("data.csv", header = TRUE, sep = ";")
tseries <-ts(df[,2],start=1,frequency=7) -- also tried msts but not working
ARIMAfit <- auto.arima(log10(tseries), approximation=FALSE,trace=FALSE)
Series: log10(tseries)
ARIMA(2,0,1)(2,0,0)[7] with non-zero mean
Coefficients:
ar1 ar2 ma1 sar1 sar2 intercept
-0.1203 0.2423 0.6590 0.3182 0.4490 2.0577
s.e. 0.1495 0.0900 0.1404 0.0330 0.0335 0.0508
sigma^2 estimated as 0.03187: log likelihood=222.5
AIC=-430.99 AICc=-430.84 BIC=-398.82
Training set error measures:
ME RMSE MAE MPE MAPE MASE
Training set 0.000745645 0.1777786 0.1273053 -0.7742803 6.340793 0.8641706
ACF1
Training set -0.00434844
pred <- predict(ARIMAfit, n.ahead = 500)
lines(10^(pred$pred),col="yellow")
我不是这种建模的专家,所以我可能犯了一个基本错误。对此的任何帮助将不胜感激。
BR
托马斯
答案 0 :(得分:0)
1)见discussion。使用虚拟变量来估计每周和每周的影响以及搜索异常值,水平变化,时间趋势以及星期几效应的变化(即季节性脉冲) 2)为什么要记录您的数据?见discussion 3)将数据与您的数据所在的日期和国家/地区一起发布。