LogBip: Fitting a Binary Logistic Biplot using optimization methods

View source: R/LogBip.R

LogBipR Documentation

Fitting a Binary Logistic Biplot using optimization methods

Description

This function estimates the vector μ, matrix A and matrix B using the optimization algorithm chosen by the user. The PDLB method allows to enter a binary matrix with missing data

Usage

LogBip(
  x,
  k = 2,
  method = "MM",
  type = NULL,
  plot = TRUE,
  maxit = NULL,
  endsegm = 0.9,
  label.ind = FALSE,
  col.ind = NULL,
  draw = c("biplot", "ind", "var"),
  random_start = FALSE,
  L = 0,
  cv_LogBip = FALSE
)

Arguments

x

Binary matrix.

k

Dimensions number. By default k = 2.

method

Method to be used to estimate the parameters. By default method="MM"

type

For the conjugate-gradients method. Takes value 1 for the Fletcher–Reeves update, 2 for Polak–Ribiere and 3 for Beale–Sorenson.

plot

Plot the Logistic Biplot.

maxit

The maximum number of iterations. Defaults to 100 for the gradient methods, and 500 without gradient.

endsegm

The segment starts at 0.5 and ends at this value. By default endsegm = 0.75.

label.ind

By default the row points are not labelled.

col.ind

Color for the rows marks.

draw

The graph to draw ("ind" for the individuals, "var" for the variables and "biplot" for the row and columns coordinates in the same graph)

random_start

Logical value; whether to randomly inititalize the parameters. If FALSE, algorithm will use an SVD as starting value.

L

Penalization parameter. By default L = 0.

cv_LogBip

Indicates if the procedure is being used for cross validation.

Details

The methods that can be used to estimate the parameters of a logistic biplot

- For methods based on the conjugate gradient use method = "CG" and

type = 1 for the Fletcher Reeves; type = 2 for Polak Ribiere; type = 3 for Hestenes Stiefel and type = 4 for Dai Yuan.

- To use the iterative coordinate descendent MM algorithm then method = "MM".

- If the binary matrix X has missing data, use method = "PDLB". In case it's required to estimate the row coordinates of other individuals, this method is also the most appropriate. For more details see the paper "Logistic biplot with missing data".

- To use the BFGS formula, method = "BFGS".

Value

Coordenates of the matrix A and B, threshold for classification rule. Furthemore, for the PDLB method, the imputed matrix is returned.

Author(s)

Giovany Babativa <gbabativam@gmail.com>

References

Babativa-Marquez, J. G., & Vicente-Villardon, J. L. (2022). Logistic biplot with missing data. In Process.

Babativa-Marquez, J. G., & Vicente-Villardon, J. L. (2021). Logistic Biplot by Conjugate Gradient Algorithms and Iterated SVD. Mathematics, 9(16).

John C. Nash (2011). Unifying Optimization Algorithms to Aid Software System Users:optimx for R. Journal of Statistical Software. 43(9). 1–14.

John C. Nash (2014). On Best Practice Optimization Methods in R. Journal of Statistical Software. 60(2). 1–14.

Nocedal, J.;Wright, S. (2006). Numerical optimization; Springer Science & Business Media.

Vicente-Villardon, J.L. and Galindo, M. Purificacion (2006), Multiple Correspondence Analysis and related Methods. Chapter: Logistic Biplots. Chapman-Hall

See Also

plotBLB, pred_LB, fitted_LB

Examples


data("Methylation")
# If the binary matrix has no missing data and does not require the projection
# of supplementary individuals, you can use an coordinate descendent MM algorithm
res_MM <- LogBip(x = Methylation, method = "MM", maxit = 1000)
# If the binary matrix has missing data or requires the projection of supplementary
#individuals, use a method based on data projection with a block coordinate descent algorithm
data("Methylation")
set.seed(12345)
n <- nrow(Methylation)
p <- ncol(Methylation)
miss <- matrix(rbinom(n*p, 1, 0.2), n, p) #I simulate some missing data
miss <- ifelse(miss == 1, NA, miss)
x <- Methylation + miss  #Matrix containing missing data
out <- LogBip(x, method = "PDLB", maxit = 1000)


jgbabativam/BiplotML documentation built on July 31, 2022, 11:10 a.m.