我想创建一个对一个月的工作日数敏感的预测模型。例如,今年(2012 年)圣诞节在一周的中间,因此 12 月明显短于圣诞节在周末期间。我知道像 ForecastPro 这样的商业软件包有能力在他们所谓的“帮助文件”的帮助下做到这一点。我想知道是否有人能够在 R 中证明这一点?
我有以下时间序列,我想预测上一个时期之后的情况。
ts <- structure(c(88.3, 97.1, 110.2, 93.1, 104.7, 102.6, 94.8, 85.6,
103.8, 109.6, 111.4, 98.6, 102.5, 101.8, 113.6, 99, 104.6, 106,
99.2, 87.5, 101.6, 111.3, 106.9, 91.6, 99.4, 100.3, 108.3, 106.2,
104.1, 105.2, 103.9, 85.8, 107.5, 113.7, 110, 97, 101.6, 102.4,
112, 104.1, 103.3, 104.4, 106.1, 83.9, 112.2, 117.7, 110.2, 104.7,
101.8, 106.9, 123.3, 112.5, 108.7, 117.4, 109.3, 92.3, 118, 117.6,
121.3, 108, 106.5, 109.6, 121, 116.3, 114, 121.8, 109.9, 99.1,
124, 121.2, 128.2, 113.1, 117.5, 119.4, 139.9, 119.4, 131, 131.3,
117.1, 107.1, 128.7, 133.7, 134.6, 115.3, 126.3, 124.9, 140.5,
123.6, 129.9, 132.9, 127.6, 113.1, 130, 141.5, 139.4, 112.8,
132.5, 133.8, 132.7, 138.7, 128.5, 133.2, 130.8, 105.5, 134.4,
134.4, 118.3, 99.9, 102.8, 103.3, 113.8, 104.6, 101.4, 109.9,
109.9, 90.6, 118.1, 119.8, 115.8, 104.2, 104.3, 109.5, 128.7,
116.2, 115.2, 126.2, 116.9, 102.6, 127, 126.6, 129, 115.3, 115.8,
118.4, 137.3, 119.4, 128.1, 125.7, 117.1, 109.4, 130.3, 123.7,
127.9, 111.3, 117.1, 120.5, 132, 115.5, 123.3, 122.9, 118.3), .Tsp = c(2000,
2012.5, 12), class = "ts")
我还有以下关于工作日的信息(尚未映射所有假期),但这不应该限制我们查看这个概念。
workingdays <- structure(c(21L, 21L, 23L, 20L, 23L, 22L, 21L, 23L, 21L, 22L,
22L, 21L, 23L, 20L, 22L, 21L, 23L, 21L, 22L, 23L, 20L, 23L, 22L,
21L, 23L, 20L, 21L, 22L, 23L, 20L, 23L, 22L, 21L, 23L, 21L, 22L,
23L, 20L, 21L, 22L, 22L, 21L, 23L, 21L, 22L, 23L, 20L, 23L, 22L,
20L, 23L, 22L, 21L, 22L, 22L, 22L, 22L, 21L, 22L, 23L, 21L, 20L,
23L, 21L, 22L, 22L, 21L, 23L, 22L, 21L, 22L, 22L, 22L, 20L, 23L,
20L, 23L, 22L, 21L, 23L, 21L, 22L, 22L, 21L, 23L, 20L, 22L, 21L,
23L, 21L, 22L, 23L, 20L, 23L, 22L, 21L, 23L, 21L, 21L, 22L, 22L,
21L, 23L, 21L, 22L, 23L, 20L, 23L, 22L, 20L, 22L, 22L, 21L, 22L,
23L, 21L, 22L, 22L, 21L, 23L, 21L, 20L, 23L, 22L, 21L, 22L, 22L,
22L, 22L, 21L, 22L, 23L, 21L, 20L, 23L, 21L, 22L, 22L, 21L, 23L,
22L, 21L, 22L, 22L, 22L, 21L, 22L, 21L, 23L, 21L, 22L, 23L, 20L,
23L, 22L, 21L, 23L, 20L, 21L, 22L, 23L, 20L, 23L, 22L, 21L, 23L,
21L, 22L), .Tsp = c(2000, 2013.91666666667, 12), class = "ts")
您会注意到包含工作日的月数大大超出了第一个时间序列 (ts) 的范围。
感谢是否有人可以为我指出正确的方向(例如使用什么函数)来创建一个预测模型,使我能够在考虑工作日系列的同时预测 ts 系列。在预测中,这意味着它将根据预测月份的工作日数调整值。我有点卡住了,似乎无法想象如何使用我所知道的任何预测/时间序列函数来做到这一点。
谢谢你的帮助!约赫姆