library(deconvolve)
context("Bandwidth")
# load("sym_error_test_result.RData")
set.seed(1)
n <- 50
sd_X <- 1
sd_U <- 0.2
W <- GenerateTestData(n, sd_X, sd_U, dist_type = "chi", error_type = "norm")
set.seed(1)
test_that("homoscedastic errors case gives expected result", {
skip_on_cran()
expect_equal(bandwidth(W, errortype = "norm", sd_U = sd_U), 0.1278101, tolerance = 0.0000001)
})
set.seed(1)
sd_U_vec <- 0.6 * sqrt(1 + (1:n) / n) * sqrt(0.5)
W <- GenerateTestData(n, sd_X, sd_U_vec, dist_type = "mix", error_type = "norm")
test_that("heteroscedastic error case gives expected result", {
skip_on_cran()
expect_equal(bandwidth(W, errortype = "norm", sd_U = sd_U_vec), 0.2312728, tolerance = 0.0000001)
})
set.seed(1)
data <- GenerateTestData(n, sd_X, sd_U, dist_type = "chi", error_type = "norm", replicates = TRUE)
test_that("replicates case gives expected result", {
skip_on_cran()
expect_equal(bandwidth(data$W1, data$W2), 0.09959522, tolerance = 0.0000001)
})
set.seed(1)
data <- GenerateTestData(n, sd_X, sd_U, dist_type = "chi", error_type = "norm", replicates = TRUE)
test_that("het_replicates", {
skip_on_cran()
expect_equal(bandwidth(data$W1, data$W2, het_replicates = TRUE), 0.1168119, tolerance = 0.0000001)
})
set.seed(2)
n <- 500
test_that("no error case gives expected result", {
skip_on_cran()
W <- GenerateTestData(n, sd_X, sd_U, dist_type = "chi", error_type = "norm")
expect_equal(bandwidth(W), 0.09025839, tolerance = 0.0000001)
})
set.seed(1)
n <- 50
W <- GenerateTestData(n, sd_X, sd_U, dist_type = "mix", error_type = "norm")
test_that("CV case gives expected result", {
skip_on_cran()
expect_equal(bandwidth(W, errortype = "norm", sd_U = sd_U, algorithm = "CV"), 0.1387812, tolerance = 0.0000001)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.