季节性有效点预测的幅度收敛于零

时间:2014-06-27 14:28:45

标签: r statistics time-series prediction

这是我的数据。

   Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1   64  63  77 118 174 229 262 242 185 165  82  51
2   89  38  51 103 164 217 239 227 188 156  83  19
3   42  39  66 117 166 219 249 233 199 154  68  49
4   45  41  64 130 165 233 258 236 197 119  84  39
5   55  50  77 120 196 222 250 236 196 149  84  52
6   21  58  64 139 162 221 245 227 211 159  75  29
7    8  30  79 135 178 201 265 252 200 146  73   3
8    9  50  55 107 158 222 242 236 192 152  89  80
9    0  48  66 146 178 239 242 225 212 122  91  55
10   2  -2  46 126 170 204 258 235 195 142  99 -14
11  15  36  69 133 192 232 248 254 212 158  82  54
12  33  38  11 152 167 221 234 249 203 142  95   3
13  -6  47  84 106 159 217 255 240 230 144  96  29
14  20  23  58 125 185 219 227 233 185 142  70   9
15   4  -3  92 125 164 219 241 227 179 147  96   0
16  38  22  76 111 181 220 245 224 198 121  98  56
17   8  30  47 101 186 201 235 235 211 130  87  45
18   2  21  81 103 162 211 247 246 198 133  98  37
19  53  15  59 121 141 216 247 240 180 129  55  40
20  -1  -2  88 125 176 238 259 250 191 147  96  22
21   6  13  41 128 171 233 248 237 199 134  70  27
22 -19  20  46 117 180 219 242 238 216 157  93  30
23  -5  35  56 106 161 229 243 235 218 183  90  78
24  42  27  68 115 174 207 249 235 210 127  89  80
25  31  28 106 133 160 231 238 242 210 144  88  48
26  52  18  77 131 164 202 240 237 194 122  84  48
27  41  43  62  94 184 224 241 249 201 160 116  46
28  10  78  96 137 166 235 247 237 196 121  51  15
29 -45  19  93 134 180 216 264 263 229 140 115  42
30  11 -26  60 127 177 235 249 268 201 131  98  42
31  16 -31  83 118 182 202 238 240 209 134 112  58
32  27   4  61 137 187 214 258 256 221 134  74  26
33 -19  44  53 138 164 234 243 219 197 129  88  32
34 -12  33  70 110 193 217 253 229 201 137 102  69
35  26  30  84 114 164 214 252 247 210 161 110  45
36  13  77  58 120 172 234 243 246 190 177  79  79
37 -15  29  86 147 186 211 249 238 206 161 133  24
38  12  24  80 121 186 226 264 228 203 153  90  45
39  10  10  71 111 181 232 260 242 213 114  99  51
40  -4  32  75 114 174 223 259 256 192 113  97  31
41  45  30  77 117 170 242 244 239 212 154  83 -24
42  63  68  90 124 166 227 257 240 190 161  99  68
43  34  49  85 135 202 225 254 246 197 143  91  52
44  30  41  62 119 154 204 249 225 207 123  95  46
45  42   7  54 119 180 225 269 247 208 132  90  23
46  -4  25  77 153 156 243 270 229 197 130 111  66
47  46  23  88 131 180 230 270 254 211 155  62  11
48  14  24  46 122 164 227 238 230 204 142  56  57
49  22  59  80 110 157 210 252 233 205 147  90  48
50  63  63  84 121 168 216 247 246 226 147  87  57
51  49  45  63 124 177 219 268 246 209 136 110  54
52  16  49  98 121 186 232 230 235 197 146  71   9
53  26  46  58 126 167 222 216 239 177 126  96  59
54  38  40  78 134 161 217 244 244 204 143  75  24
55 -16   8  76 110 144 209 241 241 205 124 104  31
56 -14  18  74 122 204 208 241 227 200 128  84  35
57  17  26  41 114 135 215 249 244 206 144  93  17
58  57  22  61 122 159 211 249 239 182 128 102  57
59  43 -11  70 106 162 212 238 239 196 173  70  40
60  18  41  78 127 155 231 242 217 203 123  71  57
61  -5  33  61 125 178 217 237 252 195 146 109  36
62   8  -1  89 142 190 252 266 250 216 149  88   0
63  -2  47  71 151 196 244 275 249 225 149 116  75
64  53  59 122 135 206 232 282 260 212 163  80  83
65  45  40  57 140 188 244 272 241 208 169  88  63

auto.arima()吐出ARIMA(200)(200)[12]forecast()此模型的h给了我一个收敛到零的点预测。

我会把图像放在这里,但我还没有足够的分数。遗憾。

如果我错了,请纠正我,但不应该对这类数据的良好预测有最高峰继续数据顶峰的趋势,同样对于底部极值?在数据和预测之间的边界处,这两种趋势的斜率存在显着的不连续性。

如果是这样,有人可以告诉我们哪种类型的模型可以解决这个问题以及相应的识别方法吗?

如果不是这样,你能解释一下原因吗?

另外,我无法确定此问题是否更多是R问题或统计问题,因此不确定是在此处发布还是在Cross Validated中发布。我认为这是一个更安全的赌注,但如果我错了,请告诉我。

提前致谢!

1 个答案:

答案 0 :(得分:1)

首先,让我们看看我是否可以重现你的例子。

除了注意:下一次,如果您打印dput的输出,如下所示并显示您正在使用的代码,其他人将更容易重现您所获得的内容。

所以这些是您的数据(每月时间序列):

dput(x)
structure(c(64, 63, 77, 118, 174, 229, 262, 242, 185, 165, 82, 
51, 89, 38, 51, 103, 164, 217, 239, 227, 188, 156, 83, 19, 42, 
39, 66, 117, 166, 219, 249, 233, 199, 154, 68, 49, 45, 41, 64, 
130, 165, 233, 258, 236, 197, 119, 84, 39, 55, 50, 77, 120, 196, 
222, 250, 236, 196, 149, 84, 52, 21, 58, 64, 139, 162, 221, 245, 
227, 211, 159, 75, 29, 8, 30, 79, 135, 178, 201, 265, 252, 200, 
146, 73, 3, 9, 50, 55, 107, 158, 222, 242, 236, 192, 152, 89, 
80, 0, 48, 66, 146, 178, 239, 242, 225, 212, 122, 91, 55, 2, 
-2, 46, 126, 170, 204, 258, 235, 195, 142, 99, -14, 15, 36, 69, 
133, 192, 232, 248, 254, 212, 158, 82, 54, 33, 38, 11, 152, 167, 
221, 234, 249, 203, 142, 95, 3, -6, 47, 84, 106, 159, 217, 255, 
240, 230, 144, 96, 29, 20, 23, 58, 125, 185, 219, 227, 233, 185, 
142, 70, 9, 4, -3, 92, 125, 164, 219, 241, 227, 179, 147, 96, 
0, 38, 22, 76, 111, 181, 220, 245, 224, 198, 121, 98, 56, 8, 
30, 47, 101, 186, 201, 235, 235, 211, 130, 87, 45, 2, 21, 81, 
103, 162, 211, 247, 246, 198, 133, 98, 37, 53, 15, 59, 121, 141, 
216, 247, 240, 180, 129, 55, 40, -1, -2, 88, 125, 176, 238, 259, 
250, 191, 147, 96, 22, 6, 13, 41, 128, 171, 233, 248, 237, 199, 
134, 70, 27, -19, 20, 46, 117, 180, 219, 242, 238, 216, 157, 
93, 30, -5, 35, 56, 106, 161, 229, 243, 235, 218, 183, 90, 78, 
42, 27, 68, 115, 174, 207, 249, 235, 210, 127, 89, 80, 31, 28, 
106, 133, 160, 231, 238, 242, 210, 144, 88, 48, 52, 18, 77, 131, 
164, 202, 240, 237, 194, 122, 84, 48, 41, 43, 62, 94, 184, 224, 
241, 249, 201, 160, 116, 46, 10, 78, 96, 137, 166, 235, 247, 
237, 196, 121, 51, 15, -45, 19, 93, 134, 180, 216, 264, 263, 
229, 140, 115, 42, 11, -26, 60, 127, 177, 235, 249, 268, 201, 
131, 98, 42, 16, -31, 83, 118, 182, 202, 238, 240, 209, 134, 
112, 58, 27, 4, 61, 137, 187, 214, 258, 256, 221, 134, 74, 26, 
-19, 44, 53, 138, 164, 234, 243, 219, 197, 129, 88, 32, -12, 
33, 70, 110, 193, 217, 253, 229, 201, 137, 102, 69, 26, 30, 84, 
114, 164, 214, 252, 247, 210, 161, 110, 45, 13, 77, 58, 120, 
172, 234, 243, 246, 190, 177, 79, 79, -15, 29, 86, 147, 186, 
211, 249, 238, 206, 161, 133, 24, 12, 24, 80, 121, 186, 226, 
264, 228, 203, 153, 90, 45, 10, 10, 71, 111, 181, 232, 260, 242, 
213, 114, 99, 51, -4, 32, 75, 114, 174, 223, 259, 256, 192, 113, 
97, 31, 45, 30, 77, 117, 170, 242, 244, 239, 212, 154, 83, -24, 
63, 68, 90, 124, 166, 227, 257, 240, 190, 161, 99, 68, 34, 49, 
85, 135, 202, 225, 254, 246, 197, 143, 91, 52, 30, 41, 62, 119, 
154, 204, 249, 225, 207, 123, 95, 46, 42, 7, 54, 119, 180, 225, 
269, 247, 208, 132, 90, 23, -4, 25, 77, 153, 156, 243, 270, 229, 
197, 130, 111, 66, 46, 23, 88, 131, 180, 230, 270, 254, 211, 
155, 62, 11, 14, 24, 46, 122, 164, 227, 238, 230, 204, 142, 56, 
57, 22, 59, 80, 110, 157, 210, 252, 233, 205, 147, 90, 48, 63, 
63, 84, 121, 168, 216, 247, 246, 226, 147, 87, 57, 49, 45, 63, 
124, 177, 219, 268, 246, 209, 136, 110, 54, 16, 49, 98, 121, 
186, 232, 230, 235, 197, 146, 71, 9, 26, 46, 58, 126, 167, 222, 
216, 239, 177, 126, 96, 59, 38, 40, 78, 134, 161, 217, 244, 244, 
204, 143, 75, 24, -16, 8, 76, 110, 144, 209, 241, 241, 205, 124, 
104, 31, -14, 18, 74, 122, 204, 208, 241, 227, 200, 128, 84, 
35, 17, 26, 41, 114, 135, 215, 249, 244, 206, 144, 93, 17, 57, 
22, 61, 122, 159, 211, 249, 239, 182, 128, 102, 57, 43, -11, 
70, 106, 162, 212, 238, 239, 196, 173, 70, 40, 18, 41, 78, 127, 
155, 231, 242, 217, 203, 123, 71, 57, -5, 33, 61, 125, 178, 217, 
237, 252, 195, 146, 109, 36, 8, -1, 89, 142, 190, 252, 266, 250, 
216, 149, 88, 0, -2, 47, 71, 151, 196, 244, 275, 249, 225, 149, 
116, 75, 53, 59, 122, 135, 206, 232, 282, 260, 212, 163, 80, 
83, 45, 40, 57, 140, 188, 244, 272, 241, 208, 169, 88, 63), .Tsp = c(1, 
65.9166666666667, 12), class = "ts")

您说您正在使用auto.arima选择并适合ARIMA模型:

require(forecast)
fit <- auto.arima(x)
fit
#ARIMA(2,0,0)(2,0,0)[12] with non-zero mean 
#Coefficients:
#         ar1     ar2    sar1    sar2  intercept
#      0.0966  0.0883  0.5115  0.4622   139.5995
#s.e.  0.0365  0.0358  0.0316  0.0319    19.8641
#sigma^2 estimated as 380.2:  log likelihood=-3440.66
#AIC=6893.32   AICc=6893.42   BIC=6921.27

这些是基于拟合模型的四年预测:

p <- forecast(fit, h = 48)
p$mean
#         Jan       Feb       Mar       Apr       May       Jun       Jul
#66  48.57136  49.58209  88.81085 137.47800 194.98741 235.67825 273.12356
#67  49.32090  47.52704  75.44813 138.69951 190.29768 236.99099 269.08370
#68  51.35483  50.90446  83.31537 138.15870 191.12836 233.81640 267.53671
#69  52.74154  51.68213  81.16343 138.44663 189.38580 232.79939 264.87839
#         Aug       Sep       Oct       Nov       Dec
#66 247.10481 208.04427 165.45149  85.66308  74.26293
#67 241.44882 206.21915 166.40985  88.16525  70.78031
#68 241.37739 205.30611 165.26003  88.36498  74.20439
#69 238.72685 203.99562 165.11485  89.62355  74.34615

显示预测(没有置信区仅用于说明):

plot(cbind(x, p$mean), plot.type = "single", type = "n", ylim = c(-50, 315))
lines(x)
lines(p$mean, col = "blue")
legend("topleft", legend = c("observed data", "forecasts"), lty = c(1, 1),
  col = c("black", "blue"), bty = "n")

forecasts

这是你得到的吗?如果是,请解释您的疑虑。

修改1

根据这些模型的设计,预测基于上次观察的信息。通过最大似然获得的参数估计基于整个样本,但预测仅取决于最后的观察。

例如,在本案例中选择的模型中,ARIMA(2,0,0)(2,0,0),并给出参数估计值,预测值是最后两次观测值的函数(常规AR部分) (模型)和第12和第24次观察(季节性AR部分)。如果我们比最后一次观测提前60次观测,那么预测将取决于先前的预测而不是观测值。因此,预测中存在越来越多的不确定性,除了更宽的置信区间外,预测值还包括趋向于收敛到样本数据平均值的预测值。

在这种情况下,我的预测时间不会超过4 - 5年。

这可能会让您对未来日益增加的不确定性有一些直觉,因为我们会进一步研究未来,以及为什么不应该使用这些模型进行长期预测。如果您在Cross Validated发布此问题,可能会对此进行进一步了解。

由于季节性模式相对稳定,您可以考虑使用季节性假人对其进行建模。在这种情况下,您必须接受季节性模式是确定性的这一事实。同样对于趋势,这可能是确定性的线性趋势。例如,您可以尝试:

sd <- seasonaldummy(x)
fit2 <- lm(x ~ 1 + seq_along(x) + sd)
summary(fit2)
newd <- data.frame(cbind(seq(781, 781+779), sd))
colnames(newd) <- colnames(model.matrix(fit2))[-1]
p2 <- predict(fit2, newdata = newd)
p2 <- ts(p2, start = c(66, 1), frequency = 12)
plot(cbind(x, p2), plot.type = "single", type = "n")
lines(x)
lines(p2, col = "blue")