diff --git a/DESCRIPTION b/DESCRIPTION index 29d2899a..52e8f2cc 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: bvhar Type: Package Title: Bayesian Vector Heterogeneous Autoregressive Modeling -Version: 2.1.2.9005 +Version: 2.1.2.9006 Authors@R: c(person(given = "Young Geun", family = "Kim", diff --git a/NEWS.md b/NEWS.md index 05d8083b..3b6f3e72 100644 --- a/NEWS.md +++ b/NEWS.md @@ -12,6 +12,8 @@ * Can easily conduct MCMC using `McmcRun` class in C++ source. +* Can easily implement forecasting for LDLT and SV MCMC using `McmcForecastRun`, `McmcVarforecastRun`, and `McmcVharforecastRun`. + ## Removal of deprecated functions * Removed bvar_sv() and bvhar_sv(). diff --git a/tests/testthat/test-summary-forecast.R b/tests/testthat/test-summary-forecast.R index cdbaa45f..f39d5808 100644 --- a/tests/testthat/test-summary-forecast.R +++ b/tests/testthat/test-summary-forecast.R @@ -17,7 +17,7 @@ test_that("Test for data-splitting", { ) }) -test_that("Rolling windows", { +test_that("Rolling windows - OLS", { skip_on_cran() etf_split <- divide_ts(etf_vix[1:100, 1:2], 10) @@ -31,7 +31,7 @@ test_that("Rolling windows", { }) -test_that("Expanding windows", { +test_that("Expanding windows - OLS", { skip_on_cran() etf_split <- divide_ts(etf_vix[1:100, 1:2], 10) @@ -44,4 +44,698 @@ test_that("Expanding windows", { expect_s3_class(var_expand, "bvharcv") }) + +help_var_bayes_roll <- function(bayes_spec, cov_spec, sparse) { + etf_train <- etf_vix[1:50, 1:2] + etf_test <- etf_vix[51:53, 1:2] + + set.seed(1) + fit_test <- var_bayes( + etf_train, + p = 1, + num_iter = 3, + num_burn = 0, + bayes_spec = bayes_spec, + cov_spec = cov_spec, + include_mean = TRUE + ) + set.seed(1) + forecast_roll(fit_test, 1, etf_test, stable = FALSE, sparse = sparse, lpl = TRUE) +} + +help_vhar_bayes_roll <- function(bayes_spec, cov_spec, sparse) { + etf_train <- etf_vix[1:50, 1:2] + etf_test <- etf_vix[51:53, 1:2] + + set.seed(1) + fit_test <- vhar_bayes( + etf_train, + num_iter = 3, + num_burn = 0, + bayes_spec = bayes_spec, + cov_spec = cov_spec, + include_mean = TRUE + ) + set.seed(1) + forecast_roll(fit_test, 1, etf_test, stable = FALSE, sparse = sparse, lpl = TRUE) +} + +help_var_bayes_expand <- function(bayes_spec, cov_spec, sparse) { + etf_train <- etf_vix[1:50, 1:2] + etf_test <- etf_vix[51:53, 1:2] + + set.seed(1) + fit_test <- var_bayes( + etf_train, + p = 1, + num_iter = 3, + num_burn = 0, + bayes_spec = bayes_spec, + cov_spec = cov_spec, + include_mean = TRUE + ) + set.seed(1) + forecast_expand(fit_test, 1, etf_test, stable = FALSE, sparse = sparse, lpl = TRUE) +} + +help_vhar_bayes_expand <- function(bayes_spec, cov_spec, sparse) { + etf_train <- etf_vix[1:50, 1:2] + etf_test <- etf_vix[51:53, 1:2] + + set.seed(1) + fit_test <- vhar_bayes( + etf_train, + num_iter = 3, + num_burn = 0, + bayes_spec = bayes_spec, + cov_spec = cov_spec, + include_mean = TRUE + ) + set.seed(1) + forecast_expand(fit_test, 1, etf_test, stable = FALSE, sparse = sparse, lpl = TRUE) +} + +test_that("Rolling windows - VAR-Minn-LDLT", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_bvar(), set_ldlt(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_bvar(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-HS-LDLT", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_horseshoe(), set_ldlt(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_horseshoe(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-SSVS-LDLT", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_ssvs(), set_ldlt(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_ssvs(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-Hierminn-LDLT", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_bvar(lambda = set_lambda()), set_ldlt(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_bvar(lambda = set_lambda()), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-NG-LDLT", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_ng(), set_ldlt(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_ng(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-DL-LDLT", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_dl(), set_ldlt(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_dl(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-Minn-LDLT", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_bvhar(), set_ldlt(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_bvhar(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-HS-LDLT", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_horseshoe(), set_ldlt(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_horseshoe(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-SSVS-LDLT", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_ssvs(), set_ldlt(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_ssvs(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-Hierminn-LDLT", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_bvhar(lambda = set_lambda()), set_ldlt(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_bvhar(lambda = set_lambda()), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-NG-LDLT", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_ng(), set_ldlt(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_ng(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-DL-LDLT", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_dl(), set_ldlt(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_dl(), set_ldlt(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-Minn-SV", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_bvar(), set_sv(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_bvar(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-HS-SV", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_horseshoe(), set_sv(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_horseshoe(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-SSVS-SV", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_ssvs(), set_sv(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_ssvs(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-Hierminn-SV", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_bvar(lambda = set_lambda()), set_sv(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_bvar(lambda = set_lambda()), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-NG-SV", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_ng(), set_sv(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_ng(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VAR-DL-SV", { + skip_on_cran() + + test_roll_dense <- help_var_bayes_roll(set_dl(), set_sv(), FALSE) + test_roll_sparse <- help_var_bayes_roll(set_dl(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-Minn-SV", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_bvhar(), set_sv(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_bvhar(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-HS-SV", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_horseshoe(), set_sv(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_horseshoe(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-SSVS-SV", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_ssvs(), set_sv(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_ssvs(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-Hierminn-SV", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_bvhar(lambda = set_lambda()), set_sv(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_bvhar(lambda = set_lambda()), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-NG-SV", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_ng(), set_sv(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_ng(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Rolling windows - VHAR-DL-SV", { + skip_on_cran() + + test_roll_dense <- help_vhar_bayes_roll(set_dl(), set_sv(), FALSE) + test_roll_sparse <- help_vhar_bayes_roll(set_dl(), set_sv(), TRUE) + + expect_s3_class(test_roll_dense, "predbvhar_roll") + expect_s3_class(test_roll_dense, "bvharcv") + + expect_s3_class(test_roll_sparse, "predbvhar_roll") + expect_s3_class(test_roll_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-Minn-LDLT", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_bvar(), set_ldlt(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_bvar(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-HS-LDLT", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_horseshoe(), set_ldlt(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_horseshoe(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-SSVS-LDLT", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_ssvs(), set_ldlt(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_ssvs(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-Hierminn-LDLT", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_bvar(lambda = set_lambda()), set_ldlt(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_bvar(lambda = set_lambda()), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-NG-LDLT", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_ng(), set_ldlt(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_ng(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-DL-LDLT", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_dl(), set_ldlt(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_dl(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-Minn-LDLT", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_bvhar(), set_ldlt(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_bvhar(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-HS-LDLT", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_horseshoe(), set_ldlt(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_horseshoe(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-SSVS-LDLT", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_ssvs(), set_ldlt(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_ssvs(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-Hierminn-LDLT", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_bvhar(lambda = set_lambda()), set_ldlt(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_bvhar(lambda = set_lambda()), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-NG-LDLT", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_ng(), set_ldlt(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_ng(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-DL-LDLT", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_dl(), set_ldlt(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_dl(), set_ldlt(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-Minn-SV", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_bvar(), set_sv(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_bvar(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-HS-SV", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_horseshoe(), set_sv(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_horseshoe(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-SSVS-SV", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_ssvs(), set_sv(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_ssvs(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-Hierminn-SV", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_bvar(lambda = set_lambda()), set_sv(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_bvar(lambda = set_lambda()), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-NG-SV", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_ng(), set_sv(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_ng(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VAR-DL-SV", { + skip_on_cran() + + test_expand_dense <- help_var_bayes_expand(set_dl(), set_sv(), FALSE) + test_expand_sparse <- help_var_bayes_expand(set_dl(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-Minn-SV", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_bvhar(), set_sv(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_bvhar(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-HS-SV", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_horseshoe(), set_sv(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_horseshoe(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-SSVS-SV", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_ssvs(), set_sv(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_ssvs(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-Hierminn-SV", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_bvhar(lambda = set_lambda()), set_sv(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_bvhar(lambda = set_lambda()), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-NG-SV", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_ng(), set_sv(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_ng(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) + +test_that("Expanding windows - VHAR-DL-SV", { + skip_on_cran() + + test_expand_dense <- help_vhar_bayes_expand(set_dl(), set_sv(), FALSE) + test_expand_sparse <- help_vhar_bayes_expand(set_dl(), set_sv(), TRUE) + + expect_s3_class(test_expand_dense, "predbvhar_expand") + expect_s3_class(test_expand_dense, "bvharcv") + + expect_s3_class(test_expand_sparse, "predbvhar_expand") + expect_s3_class(test_expand_sparse, "bvharcv") +}) #> Test passed 🌈 \ No newline at end of file