The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: Correlation-Based Penalized Estimators
Version: 0.1.0
Maintainer: Mina Norouzirad <mina.norouzirad@gmail.com>
Description: Provides correlation-based penalty estimators for both linear and logistic regression models by implementing a new regularization method that incorporates correlation structures within the data. This method encourages a grouping effect where strongly correlated predictors tend to be in or out of the model together. See Tutz and Ulbricht (2009) <doi:10.1007/s11222-008-9088-5> and Algamal and Lee (2015) <doi:10.1016/j.eswa.2015.08.016>.
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
URL: https://github.com/mnrzrad/CBPE
Encoding: UTF-8
RoxygenNote: 7.3.2
Depends: R (≥ 3.5)
Imports: stats
NeedsCompilation: no
Packaged: 2024-07-02 07:23:55 UTC; minan
Author: Mohammad Arashi ORCID iD [ctb], Mahdi Rahimi [ctb], Mina Norouzirad ORCID iD [aut, cre, cph], FCT, I.P. [fnd] (under the scope of the projects UIDB/00297/2020 and UIDP/00297/2020 (NovaMath))
Repository: CRAN
Date/Publication: 2024-07-02 15:30:02 UTC

Correlation-based Estimator for Linear Regression Models

Description

This function computes the correlation-based estimator for linear regression models.

Usage

CBPLinearE(X, y, lambda)

Arguments

X

A numeric matrix of predictors where rows represent observations and columns represent variables.

y

A numeric vector of response variables.

lambda

A regularization parameter.

Details

The correlation-based penalized linear estimator is calculated as:

\hat{\beta} = \text{argmin} \left\{ \sum_{i=1}^n (y_i - \mathbf{x}_i^\top \boldsymbol{\beta})^2 + \lambda \sum_{i=1}^{p-1} \sum_{j>i} \left( \frac{(\beta_i - \beta_j)^2}{1 - \rho_{ij}} + \frac{(\beta_i + \beta_j)^2}{1 + \rho_{ij}} \right) \right\}

where \rho_{ij} denotes the (empirical) correlation between the ith and the jth predictor.

Value

A numeric vector of the estimated coefficients for the specified model.

References

Tutz, G., Ulbricht, J. (2009). Penalized regression with correlation-based penalty. Stat Comput 19, 239–253.

Examples

set.seed(42)
n <- 100
p <- 4
X <- matrix(rnorm(n * p), n, p)
beta_true <- c(0.5, -1, 2, 5)
y <- X %*% beta_true + rnorm(n)
lambda <- 0.1

result <- CBPLinearE(X, y, lambda = lambda)
print(result)


Correlation-based Estimator for Logistic Regression Models

Description

This function computes the correlation-based estimator for logistic regression models.

Usage

CBPLogisticE(X, y, lambda, max_iter = 100, tol = 1e-06)

Arguments

X

A numeric matrix of predictors where rows represent observations and columns represent variables.

y

A numeric vector of binary outcomes (0 or 1).

lambda

A regularization parameter.

max_iter

An integer specifying the maximum number of iterations for the logistic regression algorithm. Default is 100.

tol

A numeric value specifying the convergence tolerance for the logistic regression algorithm. Default is 1e-10.

Details

The correlation-based penalized logistic estimator is calculated as:

\hat{\beta} = \text{argmin}\left\{ \sum_{i=1}^n \left( y_i \ln(\pi_i) + (1 - y_i) \ln(1 - \pi_i) \right) + \lambda \sum_{i=1}^{p-1} \sum_{j>i} \left( \frac{(\beta_i - \beta_j)^2}{1 - \rho_{ij}} + \frac{(\beta_i + \beta_j)^2}{1 + \rho_{ij}} \right) \right\}

where \pi_i = \text{Pr}(y_i = 1|\mathbf{x}_i) and \rho_{ij} denotes the (empirical) correlation between the ith and the jth predictor.

Value

A numeric vector of the estimated coefficients for the specified model.

References

Algamal, Z. Y., & Lee, M. H. (2015). Penalized logistic regression with the adaptive LASSO for gene selection in high-dimensional cancer classification. Expert Systems with Applications, 42(23), 9326-9332.

Examples

set.seed(42)
n <- 100
p <- 4
X <- matrix(rnorm(n * p), n, p)
beta_true <- c(0.5, -1, 2, 5)
y <- rbinom(n, 1, 1 / (1 + exp(-X %*% beta_true)))
lambda <- 0.1

result <- CBPLogisticE(X, y, lambda)
print(result)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.