tests/testthat/test-simulation.R

test_that("constant variance simulation (validation)", {
    z <- as.numeric(residuals(mod_constant_benchmark, standardize = TRUE, transformed = TRUE))
    sim <- simulate(mod_constant_benchmark, innov = matrix(z, nrow = 1), innov_type = "z", h = nrow(y), nsim = 1, sim_dates = index(y), init_states = mod_constant_benchmark$model$xseed, seed = 100)
    out <- cbind(as.numeric(y), as.numeric(sim$distribution))
    expect_equal(out[,1], out[,2], tolerance = 1e-8)
})

test_that("dynamic variance simulation (validation)", {
    z <- as.numeric(residuals(mod_dynamic_benchmark, standardize = TRUE, transformed = TRUE))
    sim <- simulate(mod_dynamic_benchmark, innov = matrix(z, nrow = 1), innov_type = "z", h = nrow(y), nsim = 1, sim_dates = index(y), 
                    init_states = mod_dynamic_benchmark$model$xseed, init_sigma = mod_dynamic_benchmark$model$initial_variance^0.5, 
                    init_res = mod_dynamic_benchmark$model$initial_variance^0.5,
                    seed = 100)
    out <- cbind(as.numeric(y), as.numeric(sim$distribution))
    expect_equal(out[,1], out[,2], tolerance = 1e-8)
})



test_that("constant variance simulation", {
    sim <- simulate(mod_constant_benchmark, h = 100, nsim = 2, seed = 100)
    expect_equal(NCOL(sim$distribution), 100L)
    expect_equal(NROW(sim$distribution), 2L)
    
})

test_that("dynamic variance simulation", {
    sim <- simulate(mod_dynamic_benchmark, h = 100, nsim = 2, seed = 100)
    expect_equal(NCOL(sim$distribution), 100L)
    expect_equal(NROW(sim$distribution), 2L)
})

Try the tsissm package in your browser

Any scripts or data that you put into this service are public.

tsissm documentation built on Aug. 8, 2025, 6:08 p.m.