我从2012-11-19到2017-10-16每天有1241个数据,但仅限于工作日(自助餐厅的服务数量) . 我正在尝试预测,但我在初始化时间序列时遇到问题:
timeseries = ts(passage, frequency = 365,
start = c(2012, as.numeric(format(as.Date("2012-11-19"), "%j"))),
end = c(2017, as.numeric(format(as.Date("2017-10-16"), "%j"))) )
如果我喜欢这样,因为周末缺席,我的变量将在到达1241之后循环回来,一直到1791(相当于我的2日期之间的天数),如果我想制作火车时间序列,选择带有参数“end”的日期将使其与实际日期的数据不对应 .
所以我可以克服这个问题吗?我知道我可以直接创建我的时间序列(并且我选择了正确的频率?,如果我将5或7轴放入很远的年份)
timeseries = ts(passage, frequency = 365)
但我放弃了选择开始和日期的能力,并且无法在情节中看到该信息
编辑:我想把它保存到5天的每周数据的原因是因为当我绘制预测时,我没有在情节中获得大量的零
plot(forecast(timeseries_00))
喜欢这个
1 回答
如果我正确理解你的问题,这个可能是一个解决方案:
步骤1)我创建一个长度为1241的时间序列(段落) .
"passage" time series
步骤2)我在一个矩阵中转换时间序列,其中每一列都是一个工作日(因为时间序列在星期一结束时增加4个零),之后我在矩阵中添加两个额外的列,零值(星期六和星期日) ,我回到使用函数unmatrix(包gdata)的时间序列,我删除了最后6个零(我自己添加4个,周日和周六列添加2个)
第3步)我创建了我的新时间序列
步骤4)现在我能够用正确的日期标签绘制时间序列(仅在下面的例子中为工作日)
"passage" time series with right date
步骤4)预测时间序列
步骤5)我必须修改我的原始时间序列,以便在预测数据和原始数据之间具有相同的长度
步骤6)我必须修改预测数据以便具有相同长度的timeseries_00extended,所有伪数据(0值)在“NA”中更改
步骤7)我在同一个图上绘制原始数据(passage_00extended)和预测(平均值[蓝色]和上限和下限[橙色]的颜色不同)
Plot: Forecast