Chapter 7 ARIMA with predictors

library(tidyverse)
library(fpp3)
library(ggplot2)
library(rio)
library(urca)

7.1 How to make predictors?

  • Using lags \(y_{t-k}\)
  • Using functions over lags

7.2 Using lags

Training set:

\[ \begin{pmatrix} y_3 \\ y_4 \\ y_5 \\ \vdots \\ y_T \end{pmatrix} \begin{pmatrix} y_1 & y_2 \\ y_2 & y_3 \\ y_3 & y_4 \\ \vdots & \vdots \\ y_{T-2} & y_{T-1} \end{pmatrix} \]

Note! Each added lag reduces the thaining set.

7.3 Using function of lags

  • Aggregating functions: minimum, maximum, mean, median, range, variance, standard deviation,…
  • An argument of aggregating function:
    • Moving window
    • Growing window

Example of maximum over a moving window and minimum over a growing window:

\[ \begin{pmatrix} y_3 \\ y_4 \\ y_5 \\ \vdots \\ y_T \end{pmatrix} \begin{pmatrix} max(y_1, y_2) & min(y_1, y_2) \\ max(y_2, y_3) & min(y_1, y_2, y_3) \\ max(y_3, y_4) & min(y_1, \dots , y_4) \\ \vdots & \vdots \\ max(y_{T-2}, y_{T-1}) & min(y_1,\dots, y_{T-1}) \end{pmatrix} \]

7.4 Time predictors

  • Trend predictors
  • Seasonal and holidays dummies
  • Sin and Cos over time

7.5 Trend predictors

\[ \begin{pmatrix} y_3 \\ y_4 \\ y_5 \\ \vdots \\ y_T \end{pmatrix} \begin{pmatrix} 1 & \sqrt 1 \\ 2 & \sqrt 2 \\ 3 & \sqrt 3 \\ \vdots & \vdots \\ T & \sqrt T \end{pmatrix} \]

Forecast:

\[ \begin{pmatrix} ? \end{pmatrix} \begin{pmatrix} T+1 & \sqrt {T+1} \end{pmatrix} \]

A monotone transformation:

  • It is useless for tree-based algorithms
  • The origin variable could be transformed: log, Box-Cox,…

7.6 Seasonal and holidays dummies

Seasonal dummies (for quarterly seasonality):

\[ \begin{pmatrix} y_1 \\ y_2 \\ y_3 \\ y_4 \\ y_5 \\ y_6 \\ \vdots \\ y_T \end{pmatrix} \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots \\ 0 & 0 & 1 & 0 \\ \end{pmatrix} \] > Important! For multiple regression with seasonal dummy variables, you have two options: either include a dummy variable for each season and omit the constant (intercept), or include the intercept and use dummy variables for all but one season.

7.7 Sin and Cos over time

For daily data:

  • Add predictor \(cos(\frac {2\pi} {365} \cdot t)\) and \(sin(\frac {2\pi} {365} \cdot t)\)
  • Add predictor \(cos(\frac {2\pi} {365} \cdot 2t)\) and \(sin(\frac {2\pi} {365} \cdot 2t)\)
  • Add predictor \(cos(\frac {2\pi} {365} \cdot 3t)\) and \(sin(\frac {2\pi} {365} \cdot 3t)\)
  • \(\dots\)

7.8 ARIMA and predictors

  • Linear regression with ARMA errors
  • ARMAX model
  • ARDL model

7.8.1 Example 1

library(caret)
library(ranger)
library(xgboost)
air <- as_tsibble(AirPassengers)

gg_tsdisplay(air)
## Plot variable not specified, automatically selected `y = value`

Make a variance stable.

air2 <- air |>
  mutate(ln_pass=log(value), t = 1:nrow(air))

glimpse(air2)
## Rows: 144
## Columns: 4
## $ index   <mth> 1949 Jan, 1949 Feb, 1949 Mar, 1949 Apr, 1949 May, 1949 Jun, 1949 Jul, 1949 Aug, 1949 Sep, 1949 Oct, 1949 Nov, 1949 Dec, 1950 Jan, 1950 Feb, 1950 …
## $ value   <dbl> 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, …
## $ ln_pass <dbl> 4.718499, 4.770685, 4.882802, 4.859812, 4.795791, 4.905275, 4.997212, 4.997212, 4.912655, 4.779123, 4.644391, 4.770685, 4.744932, 4.836282, 4.948…
## $ t       <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39…
air2 |>
  gg_tsdisplay(ln_pass)

fourier_x <- forecast::fourier(AirPassengers, K = 2)

fourier_x
##             S1-12      C1-12      S2-12 C2-12
##   [1,]  0.5000000  0.8660254  0.8660254   0.5
##   [2,]  0.8660254  0.5000000  0.8660254  -0.5
##   [3,]  1.0000000  0.0000000  0.0000000  -1.0
##   [4,]  0.8660254 -0.5000000 -0.8660254  -0.5
##   [5,]  0.5000000 -0.8660254 -0.8660254   0.5
##   [6,]  0.0000000 -1.0000000  0.0000000   1.0
##   [7,] -0.5000000 -0.8660254  0.8660254   0.5
##   [8,] -0.8660254 -0.5000000  0.8660254  -0.5
##   [9,] -1.0000000  0.0000000  0.0000000  -1.0
##  [10,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [11,] -0.5000000  0.8660254 -0.8660254   0.5
##  [12,]  0.0000000  1.0000000  0.0000000   1.0
##  [13,]  0.5000000  0.8660254  0.8660254   0.5
##  [14,]  0.8660254  0.5000000  0.8660254  -0.5
##  [15,]  1.0000000  0.0000000  0.0000000  -1.0
##  [16,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [17,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [18,]  0.0000000 -1.0000000  0.0000000   1.0
##  [19,] -0.5000000 -0.8660254  0.8660254   0.5
##  [20,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [21,] -1.0000000  0.0000000  0.0000000  -1.0
##  [22,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [23,] -0.5000000  0.8660254 -0.8660254   0.5
##  [24,]  0.0000000  1.0000000  0.0000000   1.0
##  [25,]  0.5000000  0.8660254  0.8660254   0.5
##  [26,]  0.8660254  0.5000000  0.8660254  -0.5
##  [27,]  1.0000000  0.0000000  0.0000000  -1.0
##  [28,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [29,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [30,]  0.0000000 -1.0000000  0.0000000   1.0
##  [31,] -0.5000000 -0.8660254  0.8660254   0.5
##  [32,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [33,] -1.0000000  0.0000000  0.0000000  -1.0
##  [34,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [35,] -0.5000000  0.8660254 -0.8660254   0.5
##  [36,]  0.0000000  1.0000000  0.0000000   1.0
##  [37,]  0.5000000  0.8660254  0.8660254   0.5
##  [38,]  0.8660254  0.5000000  0.8660254  -0.5
##  [39,]  1.0000000  0.0000000  0.0000000  -1.0
##  [40,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [41,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [42,]  0.0000000 -1.0000000  0.0000000   1.0
##  [43,] -0.5000000 -0.8660254  0.8660254   0.5
##  [44,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [45,] -1.0000000  0.0000000  0.0000000  -1.0
##  [46,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [47,] -0.5000000  0.8660254 -0.8660254   0.5
##  [48,]  0.0000000  1.0000000  0.0000000   1.0
##  [49,]  0.5000000  0.8660254  0.8660254   0.5
##  [50,]  0.8660254  0.5000000  0.8660254  -0.5
##  [51,]  1.0000000  0.0000000  0.0000000  -1.0
##  [52,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [53,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [54,]  0.0000000 -1.0000000  0.0000000   1.0
##  [55,] -0.5000000 -0.8660254  0.8660254   0.5
##  [56,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [57,] -1.0000000  0.0000000  0.0000000  -1.0
##  [58,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [59,] -0.5000000  0.8660254 -0.8660254   0.5
##  [60,]  0.0000000  1.0000000  0.0000000   1.0
##  [61,]  0.5000000  0.8660254  0.8660254   0.5
##  [62,]  0.8660254  0.5000000  0.8660254  -0.5
##  [63,]  1.0000000  0.0000000  0.0000000  -1.0
##  [64,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [65,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [66,]  0.0000000 -1.0000000  0.0000000   1.0
##  [67,] -0.5000000 -0.8660254  0.8660254   0.5
##  [68,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [69,] -1.0000000  0.0000000  0.0000000  -1.0
##  [70,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [71,] -0.5000000  0.8660254 -0.8660254   0.5
##  [72,]  0.0000000  1.0000000  0.0000000   1.0
##  [73,]  0.5000000  0.8660254  0.8660254   0.5
##  [74,]  0.8660254  0.5000000  0.8660254  -0.5
##  [75,]  1.0000000  0.0000000  0.0000000  -1.0
##  [76,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [77,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [78,]  0.0000000 -1.0000000  0.0000000   1.0
##  [79,] -0.5000000 -0.8660254  0.8660254   0.5
##  [80,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [81,] -1.0000000  0.0000000  0.0000000  -1.0
##  [82,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [83,] -0.5000000  0.8660254 -0.8660254   0.5
##  [84,]  0.0000000  1.0000000  0.0000000   1.0
##  [85,]  0.5000000  0.8660254  0.8660254   0.5
##  [86,]  0.8660254  0.5000000  0.8660254  -0.5
##  [87,]  1.0000000  0.0000000  0.0000000  -1.0
##  [88,]  0.8660254 -0.5000000 -0.8660254  -0.5
##  [89,]  0.5000000 -0.8660254 -0.8660254   0.5
##  [90,]  0.0000000 -1.0000000  0.0000000   1.0
##  [91,] -0.5000000 -0.8660254  0.8660254   0.5
##  [92,] -0.8660254 -0.5000000  0.8660254  -0.5
##  [93,] -1.0000000  0.0000000  0.0000000  -1.0
##  [94,] -0.8660254  0.5000000 -0.8660254  -0.5
##  [95,] -0.5000000  0.8660254 -0.8660254   0.5
##  [96,]  0.0000000  1.0000000  0.0000000   1.0
##  [97,]  0.5000000  0.8660254  0.8660254   0.5
##  [98,]  0.8660254  0.5000000  0.8660254  -0.5
##  [99,]  1.0000000  0.0000000  0.0000000  -1.0
## [100,]  0.8660254 -0.5000000 -0.8660254  -0.5
## [101,]  0.5000000 -0.8660254 -0.8660254   0.5
## [102,]  0.0000000 -1.0000000  0.0000000   1.0
## [103,] -0.5000000 -0.8660254  0.8660254   0.5
## [104,] -0.8660254 -0.5000000  0.8660254  -0.5
## [105,] -1.0000000  0.0000000  0.0000000  -1.0
## [106,] -0.8660254  0.5000000 -0.8660254  -0.5
## [107,] -0.5000000  0.8660254 -0.8660254   0.5
## [108,]  0.0000000  1.0000000  0.0000000   1.0
## [109,]  0.5000000  0.8660254  0.8660254   0.5
## [110,]  0.8660254  0.5000000  0.8660254  -0.5
## [111,]  1.0000000  0.0000000  0.0000000  -1.0
## [112,]  0.8660254 -0.5000000 -0.8660254  -0.5
## [113,]  0.5000000 -0.8660254 -0.8660254   0.5
## [114,]  0.0000000 -1.0000000  0.0000000   1.0
## [115,] -0.5000000 -0.8660254  0.8660254   0.5
## [116,] -0.8660254 -0.5000000  0.8660254  -0.5
## [117,] -1.0000000  0.0000000  0.0000000  -1.0
## [118,] -0.8660254  0.5000000 -0.8660254  -0.5
## [119,] -0.5000000  0.8660254 -0.8660254   0.5
## [120,]  0.0000000  1.0000000  0.0000000   1.0
## [121,]  0.5000000  0.8660254  0.8660254   0.5
## [122,]  0.8660254  0.5000000  0.8660254  -0.5
## [123,]  1.0000000  0.0000000  0.0000000  -1.0
## [124,]  0.8660254 -0.5000000 -0.8660254  -0.5
## [125,]  0.5000000 -0.8660254 -0.8660254   0.5
## [126,]  0.0000000 -1.0000000  0.0000000   1.0
## [127,] -0.5000000 -0.8660254  0.8660254   0.5
## [128,] -0.8660254 -0.5000000  0.8660254  -0.5
## [129,] -1.0000000  0.0000000  0.0000000  -1.0
## [130,] -0.8660254  0.5000000 -0.8660254  -0.5
## [131,] -0.5000000  0.8660254 -0.8660254   0.5
## [132,]  0.0000000  1.0000000  0.0000000   1.0
## [133,]  0.5000000  0.8660254  0.8660254   0.5
## [134,]  0.8660254  0.5000000  0.8660254  -0.5
## [135,]  1.0000000  0.0000000  0.0000000  -1.0
## [136,]  0.8660254 -0.5000000 -0.8660254  -0.5
## [137,]  0.5000000 -0.8660254 -0.8660254   0.5
## [138,]  0.0000000 -1.0000000  0.0000000   1.0
## [139,] -0.5000000 -0.8660254  0.8660254   0.5
## [140,] -0.8660254 -0.5000000  0.8660254  -0.5
## [141,] -1.0000000  0.0000000  0.0000000  -1.0
## [142,] -0.8660254  0.5000000 -0.8660254  -0.5
## [143,] -0.5000000  0.8660254 -0.8660254   0.5
## [144,]  0.0000000  1.0000000  0.0000000   1.0
# sin(2pi t/12) cos(2pi t/12)
# sin(2pi t/12 * 2) cos(2pi t/12 * 2)
colnames(fourier_x) <- c('s1', 'c1', 's2', 'c2')
air3 <- bind_cols(air2, fourier_x)

glimpse(air3)
## Rows: 144
## Columns: 8
## $ index   <mth> 1949 Jan, 1949 Feb, 1949 Mar, 1949 Apr, 1949 May, 1949 Jun, 1949 Jul, 1949 Aug, 1949 Sep, 1949 Oct, 1949 Nov, 1949 Dec, 1950 Jan, 1950 Feb, 1950 …
## $ value   <dbl> 112, 118, 132, 129, 121, 135, 148, 148, 136, 119, 104, 118, 115, 126, 141, 135, 125, 149, 170, 170, 158, 133, 114, 140, 145, 150, 178, 163, 172, …
## $ ln_pass <dbl> 4.718499, 4.770685, 4.882802, 4.859812, 4.795791, 4.905275, 4.997212, 4.997212, 4.912655, 4.779123, 4.644391, 4.770685, 4.744932, 4.836282, 4.948…
## $ t       <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39…
## $ s1      <dbl> 0.5000000, 0.8660254, 1.0000000, 0.8660254, 0.5000000, 0.0000000, -0.5000000, -0.8660254, -1.0000000, -0.8660254, -0.5000000, 0.0000000, 0.500000…
## $ c1      <dbl> 0.8660254, 0.5000000, 0.0000000, -0.5000000, -0.8660254, -1.0000000, -0.8660254, -0.5000000, 0.0000000, 0.5000000, 0.8660254, 1.0000000, 0.866025…
## $ s2      <dbl> 0.8660254, 0.8660254, 0.0000000, -0.8660254, -0.8660254, 0.0000000, 0.8660254, 0.8660254, 0.0000000, -0.8660254, -0.8660254, 0.0000000, 0.8660254…
## $ c2      <dbl> 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1…
air3_test <- tail(air3, 24)
air3_train <- head(air3, -24)

autoplot(air3_train, ln_pass) +
  autolayer(air3_test, ln_pass, col='red')

Linear regression:

cv_params <- trainControl(method = 'cv', number = 5)

ols <- train(ln_pass ~ t + s1 + c1 + s2 + c2,
             data = air3_train,
             trControl = cv_params,
             method = 'lm')

Random Forest:

rf <- train(ln_pass ~ t + s1 + c1 + s2 + c2,
             data = air3_train,
             trControl = cv_params,
             method = 'ranger', num.trees = 10000)

Gradient Boosting:

gb <- train(ln_pass ~ t + s1 + c1 + s2 + c2,
             data = air3_train,
             trControl = cv_params,
             method = 'xgbTree')
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
## [10:53:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
ols_fcst <- predict(ols, air3_test)
rf_fcst <- predict(rf, air3_test)
gb_fcst <- predict(gb, air3_test)
air4_test <- air3_test |>
  mutate(ols = ols_fcst,
         rf = rf_fcst,
         gb = gb_fcst)
air4_test |>
  glimpse()
## Rows: 24
## Columns: 11
## $ index   <mth> 1959 Jan, 1959 Feb, 1959 Mar, 1959 Apr, 1959 May, 1959 Jun, 1959 Jul, 1959 Aug, 1959 Sep, 1959 Oct, 1959 Nov, 1959 Dec, 1960 Jan, 1960 Feb, 1960 …
## $ value   <dbl> 360, 342, 406, 396, 420, 472, 548, 559, 463, 407, 362, 405, 417, 391, 419, 461, 472, 535, 622, 606, 508, 461, 390, 432
## $ ln_pass <dbl> 5.886104, 5.834811, 6.006353, 5.981414, 6.040255, 6.156979, 6.306275, 6.326149, 6.137727, 6.008813, 5.891644, 6.003887, 6.033086, 5.968708, 6.037…
## $ t       <int> 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144
## $ s1      <dbl> 0.5000000, 0.8660254, 1.0000000, 0.8660254, 0.5000000, 0.0000000, -0.5000000, -0.8660254, -1.0000000, -0.8660254, -0.5000000, 0.0000000, 0.500000…
## $ c1      <dbl> 0.8660254, 0.5000000, 0.0000000, -0.5000000, -0.8660254, -1.0000000, -0.8660254, -0.5000000, 0.0000000, 0.5000000, 0.8660254, 1.0000000, 0.866025…
## $ s2      <dbl> 0.8660254, 0.8660254, 0.0000000, -0.8660254, -0.8660254, 0.0000000, 0.8660254, 0.8660254, 0.0000000, -0.8660254, -0.8660254, 0.0000000, 0.8660254…
## $ c2      <dbl> 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1.0, -0.5, 0.5, 1.0, 0.5, -0.5, -1.0, -0.5, 0.5, 1.0
## $ ols     <dbl> 5.988780, 6.061833, 6.080999, 6.084337, 6.133853, 6.238836, 6.333665, 6.335733, 6.227632, 6.081521, 5.999451, 6.025971, 6.116483, 6.189536, 6.208…
## $ rf      <dbl> 5.834121, 5.846436, 5.914530, 5.893091, 5.905278, 6.028810, 6.132782, 6.126966, 5.973531, 5.852052, 5.780770, 5.822512, 5.834121, 5.846436, 5.914…
## $ gb      <dbl> 5.874744, 5.807138, 5.875329, 5.844591, 5.861524, 5.975298, 6.112180, 6.109149, 5.920560, 5.824709, 5.721851, 5.822887, 5.874744, 5.807138, 5.875…
air3_train |>
  autoplot(ln_pass) +
  autolayer(air4_test, ln_pass) +
  autolayer(air4_test, ols, col='red') +
  autolayer(air4_test, rf, col='green') +
  autolayer(air4_test, gb, col='blue')

7.8.2 Example 2. Daily data

library(tsibbledata)
head(vic_elec)
## # A tsibble: 6 x 5 [30m] <Australia/Melbourne>
##   Time                Demand Temperature Date       Holiday
##   <dttm>               <dbl>       <dbl> <date>     <lgl>  
## 1 2012-01-01 00:00:00  4383.        21.4 2012-01-01 TRUE   
## 2 2012-01-01 00:30:00  4263.        21.0 2012-01-01 TRUE   
## 3 2012-01-01 01:00:00  4049.        20.7 2012-01-01 TRUE   
## 4 2012-01-01 01:30:00  3878.        20.6 2012-01-01 TRUE   
## 5 2012-01-01 02:00:00  4036.        20.4 2012-01-01 TRUE   
## 6 2012-01-01 02:30:00  3866.        20.2 2012-01-01 TRUE
elec <- vic_elec |>
  index_by(Date) |>
  summarise(dem = mean(Demand), temp = mean(Temperature))

gg_tsdisplay(elec)
## Plot variable not specified, automatically selected `y = dem`

gg_tsdisplay(tail(elec, 60))
## Plot variable not specified, automatically selected `y = dem`

elec_train <- head(elec, -60)
elec_test <- tail(elec, 60)
mods <- elec_train |>
  model(
    naive = NAIVE(dem),
    arima_fK1 = ARIMA(dem ~ fourier(K = 1) + PDQ(0, 0, 0)),
    arima_fK2 = ARIMA(dem ~ fourier(K = 2) + PDQ(0, 0, 0)),
    arima_fK3 = ARIMA(dem ~ fourier(K = 3) + PDQ(0, 0, 0))
  )
frct <- mods |>
  forecast(h = 60)

frct |>
  autoplot(tail(elec_train, 30)) +
  facet_grid(.model ~ .)

frct |> accuracy(elec)
## # A tibble: 4 × 10
##   .model    .type    ME  RMSE   MAE   MPE  MAPE  MASE RMSSE  ACF1
##   <chr>     <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 arima_fK1 Test  -21.8  364.  269. -1.06  6.38 0.910 0.769 0.549
## 2 arima_fK2 Test  -67.6  352.  246. -2.03  5.95 0.832 0.744 0.628
## 3 arima_fK3 Test  -55.1  348.  245. -1.73  5.93 0.829 0.735 0.647
## 4 naive     Test  407.   555.  466.  8.67 10.3  1.58  1.17  0.552

7.8.3 Example 3

library(ARDL)
glimpse(denmark)
## 'zooreg' series from 1974 Q1 to 1987 Q3
##   Data: num [1:55, 1:5] 11.6 11.6 11.6 11.6 11.6 ...
##  - attr(*, "dimnames")=List of 2
##   ..$ : NULL
##   ..$ : chr [1:5] "LRM" "LRY" "LPY" "IBO" ...
##   Index:  'yearqtr' num [1:55] 1974 Q1 1974 Q2 1974 Q3 1974 Q4 ...
##   Frequency: 4
time(denmark)
##  [1] "1974 Q1" "1974 Q2" "1974 Q3" "1974 Q4" "1975 Q1" "1975 Q2" "1975 Q3" "1975 Q4" "1976 Q1" "1976 Q2" "1976 Q3" "1976 Q4" "1977 Q1" "1977 Q2" "1977 Q3"
## [16] "1977 Q4" "1978 Q1" "1978 Q2" "1978 Q3" "1978 Q4" "1979 Q1" "1979 Q2" "1979 Q3" "1979 Q4" "1980 Q1" "1980 Q2" "1980 Q3" "1980 Q4" "1981 Q1" "1981 Q2"
## [31] "1981 Q3" "1981 Q4" "1982 Q1" "1982 Q2" "1982 Q3" "1982 Q4" "1983 Q1" "1983 Q2" "1983 Q3" "1983 Q4" "1984 Q1" "1984 Q2" "1984 Q3" "1984 Q4" "1985 Q1"
## [46] "1985 Q2" "1985 Q3" "1985 Q4" "1986 Q1" "1986 Q2" "1986 Q3" "1986 Q4" "1987 Q1" "1987 Q2" "1987 Q3"
den <- as_tibble(denmark)

den
## # A tibble: 55 × 5
##      LRM   LRY    LPY   IBO    IDE
##    <dbl> <dbl>  <dbl> <dbl>  <dbl>
##  1  11.6  5.90 -0.619 0.155 0.094 
##  2  11.6  5.87 -0.581 0.178 0.0955
##  3  11.6  5.84 -0.543 0.171 0.0955
##  4  11.6  5.81 -0.505 0.152 0.0955
##  5  11.6  5.80 -0.486 0.134 0.0885
##  6  11.6  5.79 -0.454 0.133 0.079 
##  7  11.7  5.83 -0.441 0.128 0.076 
##  8  11.8  5.93 -0.439 0.129 0.074 
##  9  11.8  5.94 -0.404 0.141 0.072 
## 10  11.8  5.94 -0.373 0.153 0.078 
## # ℹ 45 more rows
den2 <- den |> mutate(quarter = yearquarter(time(denmark)))
den2
## # A tibble: 55 × 6
##      LRM   LRY    LPY   IBO    IDE quarter
##    <dbl> <dbl>  <dbl> <dbl>  <dbl>   <qtr>
##  1  11.6  5.90 -0.619 0.155 0.094  1974 Q1
##  2  11.6  5.87 -0.581 0.178 0.0955 1974 Q2
##  3  11.6  5.84 -0.543 0.171 0.0955 1974 Q3
##  4  11.6  5.81 -0.505 0.152 0.0955 1974 Q4
##  5  11.6  5.80 -0.486 0.134 0.0885 1975 Q1
##  6  11.6  5.79 -0.454 0.133 0.079  1975 Q2
##  7  11.7  5.83 -0.441 0.128 0.076  1975 Q3
##  8  11.8  5.93 -0.439 0.129 0.074  1975 Q4
##  9  11.8  5.94 -0.404 0.141 0.072  1976 Q1
## 10  11.8  5.94 -0.373 0.153 0.078  1976 Q2
## # ℹ 45 more rows
den3 <- as_tsibble(den2, index = quarter)

den3 |>
  gg_tsdisplay(LRM)

ardl1 <- ardl(data = denmark, LRM ~ LRY + IBO + IDE,
              order = c(2, 1, 2, 2))

ardl1
## 
## Time series regression with "zooreg" data:
## Start = 1974 Q3, End = 1987 Q3
## 
## Call:
## dynlm::dynlm(formula = full_formula, data = data, start = start, 
##     end = end)
## 
## Coefficients:
## (Intercept)    L(LRM, 1)    L(LRM, 2)          LRY    L(LRY, 1)          IBO    L(IBO, 1)    L(IBO, 2)          IDE    L(IDE, 1)    L(IDE, 2)  
##      2.2940       0.2852       0.3360       0.6974      -0.3025      -1.0175      -0.2495      -0.5059       0.4163      -0.1528       0.7604
ardl_many <- auto_ardl(data = denmark, LRM ~ LRY + IBO + IDE, max_order = 3)

ardl_many
## $best_model
## 
## Time series regression with "zooreg" data:
## Start = 1974 Q3, End = 1987 Q3
## 
## Call:
## dynlm::dynlm(formula = full_formula, data = data, start = start, 
##     end = end)
## 
## Coefficients:
## (Intercept)    L(LRM, 1)    L(LRM, 2)          LRY    L(LRY, 1)    L(LRY, 2)          IBO          IDE  
##      1.9834       0.2954       0.4205       0.6823      -0.1502      -0.2753      -1.4068       0.6103  
## 
## 
## $best_order
## LRM LRY IBO IDE 
##   2   2   0   0 
## 
## $top_orders
##    LRM LRY IBO IDE       AIC
## 1    2   2   0   0 -249.6266
## 2    2   2   0   1 -247.7786
## 3    2   1   0   0 -247.5643
## 4    2   2   1   1 -246.6885
## 5    3   3   3   3 -246.3061
## 6    2   2   1   2 -246.2709
## 7    2   1   1   1 -245.8736
## 8    2   2   2   2 -245.7722
## 9    1   1   0   0 -245.6620
## 10   2   1   2   2 -245.1712
## 11   1   0   0   0 -244.4317
## 12   1   1   0   1 -243.7702
## 13   1   1   1   1 -241.8886
## 14   1   0   1   1 -240.8979
ardl_many$best_model
## 
## Time series regression with "zooreg" data:
## Start = 1974 Q3, End = 1987 Q3
## 
## Call:
## dynlm::dynlm(formula = full_formula, data = data, start = start, 
##     end = end)
## 
## Coefficients:
## (Intercept)    L(LRM, 1)    L(LRM, 2)          LRY    L(LRY, 1)    L(LRY, 2)          IBO          IDE  
##      1.9834       0.2954       0.4205       0.6823      -0.1502      -0.2753      -1.4068       0.6103