Я работаю над данными временных рядов 2 продуктов - X1 и X2, начиная с января 2016 года по De c -2019, и применяю прогнозную модель NNAR к ним. Код ниже:
nnar.Accounts_ts = ts(df, start = c(2016, 1), frequency = 12)
nnar.Accounts_ts
V1 V2
Jan 2016 2792 8882
Feb 2016 3317 10803
Mar 2016 4292 14059
Apr 2016 4500 15617
May 2016 5234 19211
Jun 2016 6657 23632
Jul 2016 6329 25435
Aug 2016 7208 30671
Sep 2016 7046 32429
Oct 2016 7242 35794
Nov 2016 7692 39138
Dec 2016 7860 43767
Jan 2017 6941 42172
Feb 2017 7076 40690
Mar 2017 8943 50362
Apr 2017 8435 50890
May 2017 9757 59852
Jun 2017 9510 62762
Jul 2017 8665 64176
Aug 2017 9538 70739
Sep 2017 8832 69643
Oct 2017 9983 77886
Nov 2017 9541 79059
Dec 2017 9397 82658
Jan 2018 10350 90879
Feb 2018 9853 84161
Mar 2018 12472 98436
Apr 2018 11942 101095
May 2018 12706 109782
Jun 2018 11733 108488
Jul 2018 11114 114713
Aug 2018 12731 122221
Sep 2018 10750 114816
Oct 2018 12319 129158
Nov 2018 12391 127707
Dec 2018 12442 132581
Jan 2019 14218 143658
Feb 2019 13628 131456
Mar 2019 15629 149794
Apr 2019 16457 157845
May 2019 16880 166019
Jun 2019 15362 160458
Jul 2019 15509 175690
Aug 2019 16195 178887
Sep 2019 14645 173253
Oct 2019 16930 189340
Nov 2019 16586 181478
Dec 2019 16520 199305
set.seed(54321)
Brand_nnar_Accounts_forecast <- lapply(nnar.Accounts_ts, function(x) forecast(nnetar(x, PI = TRUE),h = 30))
Вывод модели прогноза имеет формат:
$X1
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2020 17055.65 16935.27 17235.31 17290.44 17310.37 17215.72 17227.75 17276.04 17134.86 17311.74 17297.26 17293.96
2021 17317.46 17312.78 17324.23 17326.22 17326.92 17323.58 17324.00 17325.72 17320.61 17326.95 17326.47 17326.35
2022 17327.17 17327.01 17327.40 17327.47 17327.50 17327.38
$X2
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2020 208483.0 187984.3 220114.3 225257.3 235741.0 225815.4 248283.1 248211.2 241011.6 261533.2 249032.7 270361.6
2021 275791.9 254342.5 286256.4 286638.9 292843.6 286383.4 298840.4 298059.8 294739.4 303357.4 298140.3 305902.2
2022 307070.0 300128.1 309649.4 309460.6 310678.2 309377.8
, который я хочу преобразовать в следующий формат.
Jan 2020 Feb 2020 Mar 2020 Apr 2020 May 2020 Jun 2020 Jul 2020 Aug 2020 Sep 2020 Oct 2020 Nov 2020
X1 17055.65 16935.27 17235.31 17290.44 17310.37 17215.72 17227.75 17276.04 17134.86 17311.74 17297.26
X2 208483.04 187984.26 220114.30 225257.26 235741.04 225815.39 248283.10 248211.23 241011.62 261533.17 249032.70
Dec 2020 Jan 2021 Feb 2021 Mar 2021 Apr 2021 May 2021 Jun 2021 Jul 2021 Aug 2021 Sep 2021 Oct 2021 Nov 2021
X1 17293.96 17317.46 17312.78 17324.23 17326.22 17326.92 17323.58 17324.0 17325.72 17320.61 17326.95 17326.47
X2 270361.60 275791.92 254342.50 286256.43 286638.89 292843.56 286383.42 298840.4 298059.78 294739.42 303357.43 298140.34
Dec 2021 Jan 2022 Feb 2022 Mar 2022 Apr 2022 May 2022 Jun 2022
X1 17326.35 17327.17 17327.01 17327.4 17327.47 17327.5 17327.38
X2 305902.18 307070.02 300128.09 309649.4 309460.55 310678.2 309377.82
Модель NNAR имеет встроенные списки, что создает проблему, когда я использую предложенное решение для преобразования формата