context("Test check for convergence using ELBO or not")
test_that("mvsusieR gets same result checking ELBO or not", with(simulate_univariate(), {
# Do not estimate prior variance
SER = SingleEffectModel(BayesianSimpleRegression)$new(d$n_effect, V)
A = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = TRUE, tol = 1E-6)
d.copy = d$clone(T)
A$fit(d.copy)
A = report_susie_model(d.copy, A)
B = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = FALSE, tol = 1E-6)
d.copy = d$clone(T)
B$fit(d.copy)
B = report_susie_model(d.copy, B)
expect_susie_equal(A,B,FALSE,FALSE,tol = 1e-3)
# Estimate prior variance
SER = SingleEffectModel(BayesianSimpleRegression)$new(d$n_effect, V)
A = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = TRUE, tol = 1E-6)
d.copy = d$clone(T)
A$fit(d.copy, estimate_prior_variance_method='optim')
A = report_susie_model(d.copy, A)
B = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = FALSE, tol = 1E-6)
d.copy = d$clone(T)
B$fit(d.copy, estimate_prior_variance_method='optim')
B = report_susie_model(d.copy, B)
expect_susie_equal(A,B,T,F,tol=5E-4)
}))
test_that("mvsusieR gets same result checking ELBO or not RSS", with(simulate_univariate(summary = T), {
# Do not estimate prior variance
SER = SingleEffectModel(BayesianSimpleRegression)$new(d$n_effect, V)
A = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = TRUE, tol = 1E-6)
d.copy = d$clone(T)
A$fit(d.copy)
A = report_susie_model(d.copy, A)
B = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = FALSE, tol = 1E-6)
d.copy = d$clone(T)
B$fit(d.copy)
B = report_susie_model(d.copy, B)
expect_susie_equal(A,B,F,F,tol=1E-3)
# Estimate prior variance
SER = SingleEffectModel(BayesianSimpleRegression)$new(d$n_effect, V)
A = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = TRUE, tol = 1E-6)
d.copy = d$clone(T)
A$fit(d.copy, estimate_prior_variance_method='optim')
A = report_susie_model(d.copy, A)
B = SuSiE$new(SER, L, estimate_residual_variance = FALSE, compute_objective = FALSE, tol = 1E-6)
d.copy = d$clone(T)
B$fit(d.copy, estimate_prior_variance_method='optim')
B = report_susie_model(d.copy, B)
expect_susie_equal(A,B,T,F,tol=5E-4)
}))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.