我有此数据:
Year W L PTS GF GA S SA
1 2006 49 25 106 253 224 2380 2662
2 2007 51 23 110 266 207 2261 2553
3 2008 41 32 91 227 224 2425 2433
4 2009 40 34 88 207 228 2375 2398
5 2010 47 29 100 217 221 2508 2389
6 2011 44 27 99 213 190 2362 2506
7 2012 48 26 104 232 205 2261 2517
8 2014 38 32 88 214 233 2382 2365
9 2015 47 25 104 226 202 2614 2304
10 2016 41 27 96 224 213 2507 2231
11 2017 41 29 94 238 220 2557 2458
12 2018 53 18 117 261 204 2641 2650
我已经从这些数据(列出的年份中一个团队的曲棍球数据)构建了VAR模型。我将以上内容转换为时间序列ts()
的参数,并创建了此模型:
VARselect(NSH_ts[, 3:5], lag.max = 8)
var1 <- VAR(NSH_ts[, 3:5], p = 2, type = "both", ic = c("AIC"))
serial.test(var1, type = "PT.adjusted")
forecast.var1 <- forecast(var1, h = 2)
autoplot(forecast.var1) +
scale_x_continuous(breaks = seq(2006, 2022))
我想使用serial.test()
参数,但出现此错误:
Error in t(Ci) %*% C0inv : non-conformable arguments
为什么serial.test()
参数不起作用? (总的来说,我正在根据集合中的变量来预测未来两年的PTS
。
我一直以此为指导:https://otexts.org/fpp2/VAR.html
答案 0 :(得分:1)
我遇到了另一个错误,可能是VARselect
引起的。我的表主要是-Inf
项,其中一个为NaN
,其余为0。调整lag.max
可以得到实数,还必须调整其他值。
VARselect(dfVAR[, 3:5], lag.max = 2)
var1 <- VAR(dfVAR[, 3:5], p = 1, type = "both", ic = c("AIC"))
serial.test(var1, lags.pt = 4, type = "PT.adjusted")
Portmanteau Test (adjusted)
data: Residuals of VAR object var1
Chi-squared = 35.117, df = 27, p-value = 0.1359
The basis of the non-conformable error is that your matrix algebra isn't working, the number of cols in the first matrix have to match the number of rows in the second.由于不了解VAR
模型,因此我无法提供任何帮助。