tests/testthat/test-test-ebpmf-wbg.R

context("test_ebpmf_wbg")
library(ebpmf.alpha)
library(fastTopics)
set.seed(123)

n = 100
p = 50
K = 3

## simulate data
L = matrix(100*runif(n*K), ncol = K)
F = matrix(runif(p*K), ncol = K)
X = matrix(rpois(n = n*p, lambda = L %*% t(F)), nrow = n)
## initialization
fit = fastTopics::fit_poisson_nmf(X = X, k = K)
init <- ebpmf.alpha::initialize_qgl0f0w_from_LF(L = fit$L, F = fit$F)
fit = ebpmf.alpha::ebpmf_wbg(X = X, K = K, init = init, verbose = TRUE)

test_that("ebpmf-wbg3 works", {
  expect_false(any(diff(fit$ELBO) < 0))
})

# fit2 = ebpmf.alpha::ebpmf_wbg(X = X, K = K, init = init,
#                               fix_option = list(l0 = TRUE, f0 = FALSE,
#                                                 gl = TRUE, ql = TRUE,
#                                                 gf = FALSE, qf = FALSE),
#                               verbose = TRUE)
stephenslab/ebpmf documentation built on Nov. 20, 2021, 10:55 a.m.