cv_ZIPFA: Cross validation for Zero Inflated Poisson factor analysis

Description Usage Arguments Details Value Author(s) Examples

View source: R/ZIPFA.R

Description

To conduct a cross validation for Zero Inflated Poisson factor analysis to find the number of factors.

Usage

1
2
3
cv_ZIPFA(X, k, fold, tau = 0.1, cut = 0.8, tolLnlikelihood = 5e-4,
          iter = 20, tol = 1e-4, maxiter = 100, initialtau = 'iteration',
          Madj = TRUE, display = TRUE, parallel = FALSE)

Arguments

X

The matrix to be decomposed.

k

A vector containing the number of factors to try.

fold

The number of folds used in cross validation.

tau

Initial tau value to fit. Will be overwritten by the first value in initial argument.

cut

To delete columns that has more than 100('Cut')% zeros. Cut = 1, if no filtering.

tolLnlikelihood

The max percentage of log likelihood differences in two iterations.

iter

Max iterations.

initialtau

A character specifying the way to choose the initial value of tau at the beginning of EM iteration. stable: estimate tau from fitted beta in last round; initial: always use the initially assigned tau in tau or initial. Use the default tau = 0.1 if 'initial' is empty. iteration: use fitted tau in last round.

tol

Percentage of l2 norm change of [tau beta].

maxiter

Max iteration number in the zero inflated poisson regression.

Madj

If TRUE then adjust for relative library size M.

display

If TRUE display the fitting procedure.

parallel

Use doParallel and foreach package to accelerate.

Details

The function conducts cross validation on the zero-inflated Poisson factor analysis to determine the rank.

Value

The function returns a matrix. Each row the CV likelihood of one fold. Each column is the result of number of factors in k.

Author(s)

Tianchen Xu

Examples

1
2
data(X)
cv_ZIPFA(X, fold = 10, k = c(3,4))

ZIPFA documentation built on April 1, 2020, 1:07 a.m.

Related to cv_ZIPFA in ZIPFA...