我有一个包含 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
托马斯
最佳答案
1)看这个discussion 。使用虚拟变量来估计每月和每周某天的影响,以及搜索异常值、水平变化、时间趋势和每周某天影响的变化(即季节性脉冲)
2)你为什么要记录你的数据?看这个discussion .
3) 发布您的数据,并注明数据来源的日期和国家/地区。
关于r - R 中包含每日数据的时间序列模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39790832/