Skip to contents

A quick PMF estimation based on alternating Poisson regressions

Usage

asap_fit_pmf(
  Y_,
  maxK,
  max_iter = 100L,
  verbose = TRUE,
  a0 = 1,
  b0 = 1,
  do_log1p = FALSE,
  rseed = 1337L,
  svd_init = FALSE,
  do_degree_correction = FALSE,
  normalize_cols = FALSE,
  EPS = 1e-08,
  jitter = 1,
  NUM_THREADS = 0L
)

Arguments

Y_

non-negative data matrix (gene x sample)

maxK

maximum number of factors

max_iter

max number of optimization steps

verbose

verbosity

a0

gamma(a0, b0) default: a0 = 1

b0

gamma(a0, b0) default: b0 = 1

do_log1p

do log(1+y) transformation

rseed

random seed (default: 1337)

svd_init

initialize by SVD (default: FALSE)

normalize_cols

normalize columns by col_norm (default: FALSE)

EPS

(default: 1e-8)

jitter

(default: 0.1)

min_iter

min number of optimization steps

Value

a list that contains:

  • log.likelihood log-likelihood trace

  • theta loading (sample x factor)

  • log.theta log-loading (sample x factor)

  • log.theta.sd sd(log-loading) (sample x factor)

  • beta dictionary (gene x factor)

  • log.beta log dictionary (gene x factor)

  • log.beta.sd sd(log-dictionary) (gene x factor)