| Type: | Package | 
| Title: | 'Rcpp' Integration for Numerical Computing Libraries | 
| Version: | 0.6-0 | 
| Date: | 2023-09-06 | 
| Maintainer: | Yixuan Qiu <yixuan.qiu@cos.name> | 
| Description: | A collection of open source libraries for numerical computing (numerical integration, optimization, etc.) and their integration with 'Rcpp'. | 
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] | 
| Copyright: | See file COPYRIGHTS | 
| URL: | https://github.com/yixuan/RcppNumerical | 
| BugReports: | https://github.com/yixuan/RcppNumerical/issues | 
| Imports: | Rcpp | 
| LinkingTo: | Rcpp, RcppEigen | 
| Suggests: | knitr, rmarkdown, prettydoc, mvtnorm, RcppEigen | 
| VignetteBuilder: | knitr, rmarkdown | 
| RoxygenNote: | 7.2.3 | 
| NeedsCompilation: | yes | 
| Packaged: | 2023-09-06 11:00:51 UTC; qyx | 
| Author: | Yixuan Qiu [aut, cre], Ralf Stubner [ctb] (Integration on infinite intervals), Sreekumar Balan [aut] (Numerical integration library), Matt Beall [aut] (Numerical integration library), Mark Sauder [aut] (Numerical integration library), Naoaki Okazaki [aut] (The libLBFGS library), Thomas Hahn [aut] (The Cuba library) | 
| Repository: | CRAN | 
| Date/Publication: | 2023-09-06 15:10:03 UTC | 
Fast Logistic Regression Fitting Using L-BFGS Algorithm
Description
fastLR() uses the L-BFGS algorithm to efficiently fit logistic
regression. It is in fact an application of the C++ function
optim_lbfgs() provided by RcppNumerical to perform L-BFGS
optimization.
Usage
fastLR(
  x,
  y,
  start = rep(0, ncol(x)),
  eps_f = 1e-08,
  eps_g = 1e-05,
  maxit = 300
)
Arguments
| x | The model matrix. | 
| y | The response vector. | 
| start | The initial guess of the coefficient vector. | 
| eps_f | Iteration stops if  | 
| eps_g | Iteration stops if
 | 
| maxit | Maximum number of iterations. | 
Value
fastLR() returns a list with the following components:
| coefficients | Coefficient vector | 
| fitted.values | The fitted probability values | 
| linear.predictors | The fitted values of the linear part, i.e.,
 | 
| loglikelihood | The maximized log likelihood | 
| converged | Whether the optimization algorithm has converged | 
Author(s)
Yixuan Qiu https://statr.me
See Also
glm.fit()
Examples
set.seed(123)
n = 1000
p = 100
x = matrix(rnorm(n * p), n)
beta = runif(p)
xb = c(x %*% beta)
p = 1 / (1 + exp(-xb))
y = rbinom(n, 1, p)
system.time(res1 <- glm.fit(x, y, family = binomial()))
system.time(res2 <- fastLR(x, y))
max(abs(res1$coefficients - res2$coefficients))