季节性arima点预报的振幅收敛到零
这是我的数据季节性arima点预报的振幅收敛到零,r,statistics,time-series,prediction,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
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问题还是统计问题,因此不确定是在这里发布还是交叉验证。我想这是一个更安全的赌注,但如果我错了,请告诉我
提前谢谢 首先,让我们看看是否可以重现您的示例 旁注:下一次,如果您按照下面的操作打印
dput
的输出,并显示您正在使用的代码,其他人将更容易复制您得到的内容
以下是您的数据(月度时间序列):
您说您正在使用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
这就是你得到的吗?如果是,请解释您的担忧
编辑1
根据这些模型的设计,预测是基于上次观测的信息进行的。通过最大似然法获得的参数估计基于整个样本,但预测仅取决于最后的观测值
例如,在本例中选择的模型中,ARIMA(2,0,0)(2,0,0),并给出参数估计,预测是最后两次观测(模型的常规AR部分)和第12次和第24次观测(季节AR部分)的函数。例如,如果我们比上一次观测提前60次观测,那么预测将取决于以前的预测,而不是观测值。因此,预测中的不确定性越来越大,除了更宽的置信区间外,还涉及趋向于收敛于样本数据平均值的预测值
在这种情况下,我不会执行超过4-5年的预测
这可能会让你对未来预测中不断增加的不确定性有一些直觉,以及为什么你不应该使用这些模型进行长期预测。如果你把这个问题贴在某个人的网站上,可能会让你对这个问题有更深入的了解
由于季节性模式相对稳定,可以考虑用季节性假人来模拟。在这种情况下,你必须接受这样一个事实,即季节模式是确定的。类似地,趋势可能是确定性线性趋势。例如,您可以尝试:
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")
sd感谢您提供的dput提示。这就是我得到的。正如我所说,在大的h(假设h=800),你会看到预测点的最小值和最大值趋于零。如果观测数据的极小值和极大值的趋势收敛到零,它们肯定不会收敛得那么快,当你在h=800处绘图,看到观测序列结束和预测序列开始处的最小值和最大值趋势斜率的不连续性时,这一点就很明显了。我想知道如何得到最大值和最小值都在偏差范围内的点预测(根据观察到的最大值和最小值预测的趋势)等于观测数据的最大值和最小值与各自趋势的最大偏差。这可能太密集了。对不起,我正在手机上键入。如果需要详细说明,请告诉我。非常感谢您的帮助。哇,前面的800个周期太多了,超过60年。这些模型用于短期预测重铸。我编辑了上面的答案。+1您的代码(尽管未显示)是正确的。谢谢。我使用了人口普查局的X-13-ARIMA-SEATES。它说ARIMA(101)(011)[12]是最好的模型,然后出于任何原因将其更改为ARIMA(011)(011)[12]。我绘制了ARIMA(101)(011)[12]的预测图,并解决了我的问题。ARIMA(011)(011)[12]置信区间越来越大。你能告诉我长期预测应该使用什么模型/方法吗?我查阅了五本标准书,在引入季节性差分过滤器时,找不到任何东西,如ARIMA(1,0,1)(0,1,1),这些模型可以很好地适应季节性确定性模式。您可以检查预测是否收敛于我之前回答中使用确定性模型获得的预测。
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")
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")