Nothing
context("model priors")
test_that("bernoulli", {
data(Hald)
hald_unif <- bas.lm(Y ~ .,
data = Hald, prior = "g-prior",
modelprior = uniform()
)
hald_ber <- bas.lm(Y ~ .,
data = Hald, prior = "g-prior",
modelprior = Bernoulli(probs = .5)
)
expect_equal(hald_unif$probne0, hald_ber$probne0)
hald_ber1 <- bas.lm(Y ~ .,
data = Hald, prior = "g-prior",
modelprior = Bernoulli(probs = .4)
)
hald_ber2 <- bas.lm(Y ~ X1 + X2 + X3 + X4,
data = Hald, prior = "g-prior",
modelprior = Bernoulli(probs = rep(.4, 4))
)
expect_equal(hald_ber1$probne0, hald_ber2$probne0)
})
test_that("truncated prior", {
hald_tr_power <- bas.lm(Y ~ .,
data = Hald, prior = "g-prior",
modelprior = tr.power.prior(kappa=2, 2))
expect_equal(1, sum(hald_tr_power$postprobs))
expect_error(expect_equal(0, sum(hald_tr_power$postprobs <= 0.0)))
})
test_that("Bernoulli hereditary prior", {
expect_error(bas.lm(Y ~ .,
data = Hald, prior = "g-prior",
modelprior = Bernoulli.heredity(.5, NULL))
)
})
test_that("Always include changes model-prior", {
res <- bas.lm(Y ~ ., data = Hald, modelprior = beta.binomial(1, 1),
include.always = ~ 1 + X1 + X2)
ord <- order(lengths(res$which))
expect_equal(
object = res$priorprobs[ord],
expected = c(0.333333333333333, 0.166666666666667, 0.166666666666667, 0.333333333333333)
)
})
test_that("Check if model-prior is of class prior", {
expect_error(bas.lm(Y ~ ., data = Hald, modelprior = c(.25, .25, .25, .25),
include.always = ~ 1 + X1 + X2))
expect_error(bas.glm(Y ~ ., data = Hald, modelprior = c(.25, .25, .25, .25),
include.always = ~ 1 + X1 + X2, family=poisson()))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.