Learn R Programming

MultBiplotR (version 23.11.0)

BinaryLogBiplotGDRecursive: Binary Logistic Biplot with Recursive Gradient Descent Estimation

Description

Binary Logistic Biplot with Recursive Gradient Descent Estimation. An external optimization function is used to calculate the parameters.

Usage

BinaryLogBiplotGDRecursive(X, freq = matrix(1, nrow(X), 1), dim = 2, tolerance = 1e-04, 
                          penalization = 0.2, num_max_iters = 100, 
                          RotVarimax = FALSE, OptimMethod = "CG", 
                          Initial = "random", ...)

Value

An object of class "Binary.Logistic.Biplot".

Arguments

X

A binary data matrix

freq

Frequencies of each row. When adequate.

dim

Dimension of the final solution.

tolerance

Tolerance for convergence of the algorithm.

penalization

Ridge penalization constant.

num_max_iters

Maximum number of iterations of the algorithm.

RotVarimax

Should the final solution be rotated.

OptimMethod

Optimization method used by optim.

Initial

Initial configuration to start the iterations.

...

Aditional parameters used by the optimization function.

Author

José Luis Vicente Villardon

Details

Fits a binary logistic biplot using recursive gradient descent. The general function optim is used to optimize the loss function. Conjugate gradien is used as a default although other alternatives can be USED. It can be considered as a generalization of the NIPALS algorithm for a matrix of binary data.

References

Vicente-Villardon, J. L., Galindo, M. P. and Blazquez, A. (2006) Logistic Biplots. In Multiple Correspondence Análisis And Related Methods. Grenacre, M & Blasius, J, Eds, Chapman and Hall, Boca Raton.

Demey, J., Vicente-Villardon, J. L., Galindo, M.P. AND Zambrano, A. (2008) Identifying Molecular Markers Associated With Classification Of Genotypes Using External Logistic Biplots. Bioinformatics, 24(24): 2832-2838.

Examples

Run this code
# \donttest{
data(spiders)
X=Dataframe2BinaryMatrix(spiders)
logbip=BinaryLogBiplotGDRecursive(X,penalization=0.1)
plot(logbip, Mode="a")
summary(logbip)# }

Run the code above in your browser using DataLab