test_that("errors calling knn_forecasting", {
expect_error(knn_forecasting(ts(1:5), h = 1, lags = 3:1, k = 2))
expect_error(knn_forecasting(ts(1:5), h = 1, lags = 0:2, k = 2))
expect_error(knn_forecasting(ts(1:5), h = 1, lags = 3:5, k = 1))
expect_error(knn_forecasting(ts(1:5), h = 1, lags = 1, k = 1, transform = "additive"))
expect_error(knn_forecasting(ts(1:5), h = 1, lags = 1, k = 1, transform = "multiplicative"))
})
pred <- knn_forecasting(ts(c(2, 3, 1, 5, 4, 0, 7, 1, 2)), h = 2, lags = 1:2, k = 2,
msas = "MIMO", transform = "none")
test_that("MIMO strategy predicts fine", {
expect_equal(as.vector(pred$prediction), c(3, 4.5))
})
pred <- knn_forecasting(UKgas, h = 4, lags = 1:4, k = 2, msas = "MIMO",
transform = "none")
nn <- nearest_neighbors(pred)
test_that("MIMO strategy predicts fine", {
expect_equal(as.vector(pred$prediction), c(1125.45, 573.9, 314.6, 785.2))
})
test_that("MIMO strategy predicts fine", {
expect_equal(unname(nn$instance), c(1163.9, 613.1, 347.4, 782.8))
})
n <- data.frame("Lag 4" = c(1087.0, 989.4),
"Lag 3" = c(534.7, 477.1),
"Lag 2" = c(281.8, 233.7),
"Lag 1" = c(787.6, 730.0),
"H1" = c(1163.9, 1087.0),
"H2" = c(613.1, 534.7),
"H3" = c(347.4, 281.8),
"H4" = c(782.8, 787.6), check.names = FALSE
)
test_that("MIMO strategy predicts fine", {
expect_equal(nn$nneighbors, n)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.