| Title: | Profile Boosting Framework for Parametric Models |
| Version: | 0.4.8 |
| Maintainer: | Zengchao Xu <zengc.xu@aliyun.com> |
| Description: | A profile boosting framework for feature selection in parametric models. It offers a unified interface pboost() and several wrapped models, including linear model, generalized linear models, quantile regression, Cox proportional hazards model, beta regression, spatial auto-regressive models. |
| Imports: | stats, Matrix, MASS, betareg, quantreg, survival, Formula (≥ 1.2.5), glmnet, ncvreg, rqPen |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| URL: | https://github.com/paradoxical-rhapsody/pboost |
| BugReports: | https://github.com/paradoxical-rhapsody/pboost/issues |
| RoxygenNote: | 7.3.3 |
| Depends: | R (≥ 4.1.0) |
| NeedsCompilation: | no |
| Packaged: | 2026-05-13 05:57:28 UTC; zengc |
| Author: | Zengchao Xu [aut, cre, cph] |
| Repository: | CRAN |
| Date/Publication: | 2026-05-13 06:20:02 UTC |
pboost: Profile Boosting Framework for Parametric Models
Description
A profile boosting framework for feature selection in parametric models. It offers a unified interface pboost() and several wrapped models, including linear model, generalized linear models, quantile regression, Cox proportional hazards model, beta regression, spatial auto-regressive models.
Author(s)
Maintainer: Zengchao Xu zengc.xu@aliyun.com [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/paradoxical-rhapsody/pboost/issues
Extended Bayesian Information Criterion
Description
The Extended BIC possesses the selection consistency in high-dimensional model.
It can be called by the fitted model that has standard logLik method
to access the attributes nobs and df, such as lm, glm.
Usage
EBIC(object, p, p.keep, ...)
Arguments
object |
Fitted model object. |
p |
Total number of candidate features, which is available in pboost. |
p.keep |
Number of features that are pre-specified to be kept in model. |
... |
Additional parameters, which is available in pboost. |
Details
The extended BIC (EBIC) is defined as
EBIC(obj) = BIC(obj) + 2 * r * log(choose(p - |p.keep|, df - |p.keep|)).
Value
A function to obtain the EBIC value of a fitted object.
References
Jiahua Chen and Zehua Chen (2008). Extended Bayesian information criteria for model selection with large model spaces. Biometrika, 95(3):759–771. doi:10.1093/biomet/asn034
Jiahua Chen and Zehua Chen (2012). Extended BIC for small-n-large-p sparse GLM. Statistical Sinica, 22(2):555–574. doi:10.5705/ss.2010.216
Forward Regression Selection for Beta Regression Models
Description
fbetareg() inherits the usage of the function betareg::betareg, and performs forward regression selection for beta regression models.
Usage
fbetareg(
formula,
data,
subset,
na.action,
weights,
offset,
link = c("logit", "probit", "cloglog", "cauchit", "log", "loglog"),
link.phi = NULL,
type = c("ML", "BC", "BR"),
dist = NULL,
nu = NULL,
control = betareg.control(...),
model = TRUE,
y = TRUE,
x = FALSE,
...,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to betareg::betareg. |
data |
Parameter passed to betareg::betareg. |
subset |
Parameter passed to betareg::betareg. |
na.action |
Parameter passed to betareg::betareg. |
weights |
Parameter passed to betareg::betareg. |
offset |
Parameter passed to betareg::betareg. |
link |
Parameter passed to betareg::betareg. |
link.phi |
Parameter passed to betareg::betareg. |
type |
Parameter passed to betareg::betareg. |
dist |
Parameter passed to betareg::betareg. |
nu |
Parameter passed to betareg::betareg. |
control |
Parameter passed to betareg::betareg. |
model |
Parameter passed to betareg::betareg. |
y |
Parameter passed to betareg::betareg. |
x |
Parameter passed to betareg::betareg. |
... |
Parameters passed to betareg::betareg. |
selectFun |
Parameter passed to frs. |
stopFun |
Parameter passed to frs. |
keep |
Parameter passed to frs. |
maxK |
Parameter passed to frs. |
verbose |
Parameter passed to frs. |
Value
A betareg model object fitted on the selected features.
Forward Regression Selection for Cox proportional hazards Model
Description
Forward regression selection for Cox model.
Usage
fcoxph(
formula,
data,
weights,
subset,
na.action,
init,
control,
ties = c("efron", "breslow", "exact"),
singular.ok = TRUE,
robust,
model = FALSE,
x = FALSE,
y = TRUE,
tt,
method = ties,
id,
cluster,
istate,
statedata,
nocenter = c(-1, 0, 1),
...,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to survival::coxph. |
data |
Parameter passed to survival::coxph. |
weights |
Parameter passed to survival::coxph. |
subset |
Parameter passed to survival::coxph. |
na.action |
Parameter passed to survival::coxph. |
init |
Parameter passed to survival::coxph. |
control |
Parameter passed to survival::coxph. |
ties |
Parameter passed to survival::coxph. |
singular.ok |
Parameter passed to survival::coxph. |
robust |
Parameter passed to survival::coxph. |
model |
Parameter passed to survival::coxph. |
x |
Parameter passed to survival::coxph. |
y |
Parameter passed to survival::coxph. |
tt |
Parameter passed to survival::coxph. |
method |
Parameter passed to survival::coxph. |
id |
Parameter passed to survival::coxph. |
cluster |
Parameter passed to survival::coxph. |
istate |
Parameter passed to survival::coxph. |
statedata |
Parameter passed to survival::coxph. |
nocenter |
Parameter passed to survival::coxph. |
... |
Parameters passed to survival::coxph. |
selectFun |
Parameter passed to frs. |
stopFun |
Parameter passed to frs. |
keep |
Parameter passed to frs. |
maxK |
Parameter passed to frs. |
verbose |
Parameter passed to frs. |
Value
A coxph model object fitted on the selected features.
Forward Regression Selection for Generalized Linear Models
Description
fglm() inherits the usage of glm, and performs forward regression selection for generalized linear models.
Usage
fglm(
formula,
family = gaussian,
data,
weights,
subset,
na.action,
start = NULL,
etastart,
mustart,
offset,
control = list(...),
model = TRUE,
method = "glm.fit",
x = FALSE,
y = TRUE,
singular.ok = TRUE,
contrasts = NULL,
...,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
fglm.fit(
x,
y,
weights = rep.int(1, NROW(y)),
start = NULL,
etastart = NULL,
mustart = NULL,
offset = rep.int(0, NROW(y)),
family = gaussian(),
control = list(),
intercept = TRUE,
singular.ok = TRUE,
selectFun = "logLik",
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to glm. |
family |
Parameter passed to glm. |
data |
Parameter passed to glm. |
weights |
Parameter passed to glm. |
subset |
Parameter passed to glm. |
na.action |
Parameter passed to glm. |
start |
Parameter passed to glm. |
etastart |
Parameter passed to glm. |
mustart |
Parameter passed to glm. |
offset |
Parameter passed to glm. |
control |
Parameter passed to glm. |
model |
Parameter passed to glm. |
method |
Parameter passed to glm. |
x |
Parameter passed to glm. |
y |
Parameter passed to glm. |
singular.ok |
Parameter passed to glm. |
contrasts |
Parameter passed to glm. |
... |
Parameters passed to glm. |
selectFun |
Parameter passed to frs. |
stopFun |
Parameter passed to frs. |
keep |
Parameter passed to frs. |
maxK |
Parameter passed to frs. |
verbose |
Parameter passed to frs. |
intercept |
Parameter passed to glm.fit. |
Value
A glm model object fitted on the selected features.
Forward Regression Selection for Linear Models.
Description
flm() inherits the usage of the function lm, and performs forward regression selection for linear models.
Usage
flm(
formula,
data,
subset,
weights,
na.action,
method = "qr",
model = TRUE,
x = FALSE,
y = FALSE,
qr = TRUE,
singular.ok = TRUE,
contrasts = NULL,
offset,
...,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
flm.fit(
x,
y,
offset = NULL,
method = "qr",
tol = 1e-07,
singular.ok = TRUE,
...,
selectFun = "logLik",
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to lm. |
data |
Parameter passed to lm. |
subset |
Parameter passed to lm. |
weights |
Parameter passed to lm. |
na.action |
Parameter passed to lm. |
method |
Parameter passed to lm. |
model |
Parameter passed to lm. |
x |
Parameter passed to lm. |
y |
Parameter passed to lm. |
qr |
Parameter passed to lm. |
singular.ok |
Parameter passed to lm. |
contrasts |
Parameter passed to lm. |
offset |
|
... |
|
selectFun |
Parameter passed to frs. |
stopFun |
Parameter passed to frs. |
keep |
Parameter passed to frs. |
maxK |
Parameter passed to frs. |
verbose |
Parameter passed to frs. |
tol |
Parameter passed to lm.fit. |
Value
A lm model object fitted on the selected features.
Forward Regression Selection for Quantile Regression Models
Description
frq() inherits the usage of the function quantreg::rq, and performs forward regression selection for quantile regression models.
Usage
frq(
formula,
tau = 0.5,
data,
subset,
weights,
na.action,
method = "br",
model = TRUE,
contrasts = NULL,
...,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to quantreg::rq. |
tau |
Parameter passed to quantreg::rq. |
data |
Parameter passed to quantreg::rq. |
subset |
Parameter passed to quantreg::rq. |
weights |
Parameter passed to quantreg::rq. |
na.action |
Parameter passed to quantreg::rq. |
method |
Parameter passed to quantreg::rq. |
model |
Parameter passed to quantreg::rq. |
contrasts |
Parameter passed to quantreg::rq. |
... |
Parameters passed to quantreg::rq. |
selectFun |
Parameter passed to frs. |
stopFun |
Parameter passed to frs. |
keep |
Parameter passed to frs. |
maxK |
Parameter passed to frs. |
verbose |
Parameter passed to frs. |
Forward Regression Selection Framework
Description
frs() is a generic workhorse function of forward regression selection for parametric regression.
Usage
frs(
yvec,
xmat,
fitFun,
...,
use.formula = TRUE,
use.intercept = TRUE,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
yvec |
See pboost. |
xmat |
See pboost. |
fitFun |
See pboost. |
... |
See pboost. |
use.formula |
See pboost. |
use.intercept |
See pboost. |
selectFun |
A function to evaluate the importance of an unselected feature when it is added to current model.
The default is |
stopFun |
See pboost. |
keep |
See pboost. |
maxK |
See pboost. |
verbose |
See pboost. |
Value
Model object fitted on the selected features.
See Also
fbetareg, fcoxph, fglm, flm, frq, fsar.
Forward Stepwise Spatial Auto-Regressive Model
Description
Forward stepwise strategy for spatial auto-regressive model.
Usage
fsar(
x,
y,
w,
selectFun = logLik,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
x |
Matrix of covariates. |
y |
Vector of response. |
w |
Weight matrix (row-sum scaled being one). |
selectFun |
Parameter passed to frs. |
stopFun |
Parameter passed to frs. |
keep |
Parameter passed to frs. |
maxK |
Parameter passed to frs. |
verbose |
Parameter passed to frs. |
Value
Model object fitted on the selected features.
Profile Boosting for Beta Regression
Description
pbetareg inherits the usage of betareg::betareg.
Usage
pbetareg(
formula,
data,
subset,
na.action,
weights,
offset,
link = c("logit", "probit", "cloglog", "cauchit", "log", "loglog"),
link.phi = NULL,
type = c("ML", "BC", "BR"),
dist = NULL,
nu = NULL,
control = betareg.control(...),
model = TRUE,
y = TRUE,
x = FALSE,
...,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to betareg::betareg. |
data |
Parameter passed to betareg::betareg. |
subset |
Parameter passed to betareg::betareg. |
na.action |
Parameter passed to betareg::betareg. |
weights |
Parameter passed to betareg::betareg. |
offset |
Parameter passed to betareg::betareg. |
link |
Parameter passed to betareg::betareg. |
link.phi |
Parameter passed to betareg::betareg. |
type |
Parameter passed to betareg::betareg. |
dist |
Parameter passed to betareg::betareg. |
nu |
Parameter passed to betareg::betareg. |
control |
Parameter passed to betareg::betareg. |
model |
Parameter passed to betareg::betareg. |
y |
Parameter passed to betareg::betareg. |
x |
Parameter passed to betareg::betareg. |
... |
Parameters passed to betareg::betareg. |
stopFun |
Parameter passed to pboost. |
keep |
Parameter passed to pboost. |
maxK |
Parameter passed to pboost. |
verbose |
Parameter passed to pboost. |
Value
A betareg model object fitted on the selected features.
Examples
## Not run:
set.seed(2026)
n <- 300
p <- 20
x <- matrix(runif(n*p), n)
mu <- runif(n)
phi <- 1.0
shape1 <- mu * phi
shape2 <- (1-mu) * phi
y <- rbeta(n, shape1, shape2)
DF <- data.frame(y, x)
pbetareg(y ~ ., DF, verbose=TRUE)
fbetareg(y ~ ., DF, verbose=TRUE)
## End(Not run)
Profile Boosting Framework
Description
pboost() is the generic workhorse function of profile boosting
framework for parametric regression.
Usage
pboost(
yvec,
xmat,
fitFun,
scoreFun,
stopFun = "EBIC",
...,
use.formula = TRUE,
use.intercept = TRUE,
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
yvec |
Response vector. |
xmat |
Numeric feature matrix. |
fitFun |
Function to fit the empirical risk function in
the form |
scoreFun |
Function to compute the derivative, denoted by |
stopFun |
Stopping rule for profile boosting, which has the form
|
... |
Additional arguments to be passed to |
use.formula |
Whether to use formula interface for model fitting. Default to |
use.intercept |
Include intercept in the model fitting? Valid only when |
keep |
Vector of indices or feature names initial features to include. |
maxK |
Maximal number of identified features.
If |
verbose |
Print the procedure path? |
Value
Model object fitted on the selected features.
See Also
pbetareg, pcoxph, pglm, plm, prq, psar.
Profile Boosting for Cox proportional hazards Model
Description
Profile boosting for Cox model.
Usage
pcoxph(
formula,
data,
weights,
subset,
na.action,
init,
control,
ties = c("efron", "breslow", "exact"),
singular.ok = TRUE,
robust,
model = FALSE,
x = FALSE,
y = TRUE,
tt,
method = ties,
id,
cluster,
istate,
statedata,
nocenter = c(-1, 0, 1),
...,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to survival::coxph. |
data |
Parameter passed to survival::coxph. |
weights |
Parameter passed to survival::coxph. |
subset |
Parameter passed to survival::coxph. |
na.action |
Parameter passed to survival::coxph. |
init |
Parameter passed to survival::coxph. |
control |
Parameter passed to survival::coxph. |
ties |
Parameter passed to survival::coxph. |
singular.ok |
Parameter passed to survival::coxph. |
robust |
Parameter passed to survival::coxph. |
model |
Parameter passed to survival::coxph. |
x |
Parameter passed to survival::coxph. |
y |
Parameter passed to survival::coxph. |
tt |
Parameter passed to survival::coxph. |
method |
Parameter passed to survival::coxph. |
id |
Parameter passed to survival::coxph. |
cluster |
Parameter passed to survival::coxph. |
istate |
Parameter passed to survival::coxph. |
statedata |
Parameter passed to survival::coxph. |
nocenter |
Parameter passed to survival::coxph. |
... |
Parameters passed to survival::coxph. |
stopFun |
Parameter passed to pboost. |
keep |
Parameter passed to pboost. |
maxK |
Parameter passed to pboost. |
verbose |
Parameter passed to pboost. |
Value
A coxph model object fitted on the selected features.
Examples
library(survival)
set.seed(2026)
n <- 300
p <- 200
DF <- data.frame(
time = rpois(n, 5),
status = rbinom(n, 1, 0.3),
matrix(rnorm(n*p), n)
)
pcoxph(Surv(time, status) ~ ., DF, verbose=TRUE)
fcoxph(Surv(time, status) ~ ., DF, verbose=TRUE)
Profile Boosting for Gaussian Graphical Model
Description
Profile boosting for Gaussian graphical model.
Usage
pggm(
S,
nObs,
maxK = floor(min(nObs - 1, NROW(S) - 1, 50)),
digits = 8,
verbose = FALSE
)
Arguments
S |
Covariance matrix. |
nObs |
Number of observations. |
maxK |
Maximum number of identified edges. |
digits |
Integer indicating the number of decimal places or significant digits to be used. |
verbose |
Print the procedure path? |
Value
Index set of identified features.
Examples
library(MASS)
library(Matrix)
set.seed(2025)
n <- 1000
p <- 10
Omega <- Diagonal(p)
diag(Omega[1:4, 2:5]) <- diag(Omega[2:5, 1:4]) <- 0.5
Sigma <- chol2inv(chol(Omega))
X <- mvrnorm(n, rep(0, p), Sigma, empirical=TRUE)
S <- cov(X)
system.time( egg <- pggm(S, n) )
Profile Boosting for Generalized Linear Models.
Description
pglm inherits the usage of the built-in function glm.
Usage
pglm(
formula,
family = gaussian,
data,
weights,
subset,
na.action,
start = NULL,
etastart,
mustart,
offset,
control = list(...),
model = TRUE,
method = "glm.fit",
x = FALSE,
y = TRUE,
singular.ok = TRUE,
contrasts = NULL,
...,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
pglm.fit(
x,
y,
weights = rep.int(1, NROW(y)),
start = NULL,
etastart = NULL,
mustart = NULL,
offset = rep.int(0, NROW(y)),
family = gaussian(),
control = list(),
intercept = TRUE,
singular.ok = TRUE,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to glm. |
family |
Parameter passed to glm. |
data |
Parameter passed to glm. |
weights |
Parameter passed to glm. |
subset |
Parameter passed to glm. |
na.action |
Parameter passed to glm. |
start |
Parameter passed to glm. |
etastart |
Parameter passed to glm. |
mustart |
Parameter passed to glm. |
offset |
Parameter passed to glm. |
control |
Parameter passed to glm. |
model |
Parameter passed to glm. |
method |
Parameter passed to glm. |
x |
Parameter passed to glm. |
y |
Parameter passed to glm. |
singular.ok |
Parameter passed to glm. |
contrasts |
Parameter passed to glm. |
... |
Parameters passed to glm. |
stopFun |
Parameter passed to pboost. |
keep |
Parameter passed to pboost. |
maxK |
Parameter passed to pboost. |
verbose |
Parameter passed to pboost. |
intercept |
Parameter passed to glm.fit. |
Value
A glm model object fitted on the selected features.
References
Zengchao Xu, Shan Luo and Zehua Chen (2022). Partial profile score feature selection in high-dimensional generalized linear interaction models. Statistics and Its Interface. doi:10.4310/21-SII706
Examples
set.seed(2026)
n <- 200
p <- 100
x <- matrix(rnorm(n*p), n)
eta <- drop( x[, 1:3] %*% runif(3, 1.0, 1.5) )
y <- rbinom(n, 1, 1/(1+exp(-eta)))
DF <- data.frame(y, x)
## ---------- pboost ----------
pglm(y ~ ., "binomial", DF, verbose=TRUE)
pglm(y ~ ., "binomial", DF, stopFun=BIC, verbose=TRUE)
scoreLogistic <- function(object) {
eta.hat <- object[["linear.predictors"]]
return(object[["y"]] - 1/(1+exp(-eta.hat)))
}
(result <- pboost(y, x, glm, scoreLogistic, family="binomial", verbose=TRUE))
all.vars(formula(result)[[3]])
## ---------- frs ----------
fglm(y ~ ., "binomial", DF, verbose=TRUE)
fglm(y ~ ., "binomial", DF, stopFun=BIC, verbose=TRUE)
frs(y, x, glm, family="binomial", verbose=TRUE)
Profile Boosting for Linear Models.
Description
plm inherits the usage of the built-in function lm.
Usage
plm(
formula,
data,
subset,
weights,
na.action,
method = "qr",
model = TRUE,
x = FALSE,
y = FALSE,
qr = TRUE,
singular.ok = TRUE,
contrasts = NULL,
offset,
...,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
plm.fit(
x,
y,
offset = NULL,
method = "qr",
tol = 1e-07,
singular.ok = TRUE,
...,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to lm. |
data |
Parameter passed to lm. |
subset |
Parameter passed to lm. |
weights |
Parameter passed to lm. |
na.action |
Parameter passed to lm. |
method |
Parameter passed to lm. |
model |
Parameter passed to lm. |
x |
Parameter passed to lm. |
y |
Parameter passed to lm. |
qr |
Parameter passed to lm. |
singular.ok |
Parameter passed to lm. |
contrasts |
Parameter passed to lm. |
offset |
|
... |
|
stopFun |
Parameter passed to pboost. |
keep |
Parameter passed to pboost. |
maxK |
Parameter passed to pboost. |
verbose |
Parameter passed to pboost. |
tol |
Parameter passed to lm.fit. |
Details
plm is an equivalent implementation to the sequential lasso method
proposed by Luo and Chen(2014, doi:10.1080/01621459.2013.877275).
Value
A lm model object fitted on the selected features.
References
Zengchao Xu, Shan Luo and Zehua Chen (2022). Partial profile score feature selection in high-dimensional generalized linear interaction models. Statistics and Its Interface. doi:10.4310/21-SII706
Shan Luo and Zehua Chen (2014). A Sequential Lasso Method for Feature Selection with Ultra-High Dimensional Feature Space. Journal of the American Statistical Association, 109(507):223–232. doi:10.1080/01621459.2013.877275
Examples
set.seed(2026)
n <- 300
p <- 200
x <- matrix(rnorm(n*p), n)
eta <- drop( x[, 1:3] %*% runif(3, 1.0, 1.5) )
y <- rnorm(n, eta, sd=sd(eta))
DF <- data.frame(y, x)
plm(y ~ ., DF, verbose=TRUE)
plm(y ~ ., DF, stopFun=BIC, verbose=TRUE)
pboost(y, x, lm, residuals, verbose=TRUE)
flm(y ~ ., DF, verbose=TRUE)
flm(y ~ ., DF, stopFun=BIC, verbose=TRUE)
frs(y, x, lm, verbose=TRUE)
Profile Boosting for Quantile Regression Models
Description
prq inherits the usage of the function quantreg::rq.
Usage
prq(
formula,
tau = 0.5,
data,
subset,
weights,
na.action,
method = "br",
model = TRUE,
contrasts = NULL,
...,
stopFun = "EBIC",
keep = NULL,
maxK = NULL,
verbose = FALSE
)
Arguments
formula |
Parameter passed to quantreg::rq. |
tau |
Parameter passed to quantreg::rq. |
data |
Parameter passed to quantreg::rq. |
subset |
Parameter passed to quantreg::rq. |
weights |
Parameter passed to quantreg::rq. |
na.action |
Parameter passed to quantreg::rq. |
method |
Parameter passed to quantreg::rq. |
model |
Parameter passed to quantreg::rq. |
contrasts |
Parameter passed to quantreg::rq. |
... |
Parameters passed to quantreg::rq. |
stopFun |
Parameter passed to pboost. |
keep |
Parameter passed to pboost. |
maxK |
Parameter passed to pboost. |
verbose |
Parameter passed to pboost. |
Value
A rq model object fitted on the selected features.
Examples
library(quantreg)
set.seed(2026)
n <- 300
p <- 20
x <- matrix(rnorm(n*p), n)
eta <- drop( x[, 1:3] %*% runif(3, 1.0, 1.5) )
y <- eta + (1.0 + x[, 3]) * rnorm(n)
DF <- data.frame(y, x)
tau <- 0.5
prq(y ~ ., tau, DF, verbose=TRUE)
BIC <- function(obj) AIC(obj, k=-1)
prq(y ~ ., tau, DF, stopFun=BIC, verbose=TRUE)
frq(y ~ ., tau, DF, stopFun=BIC, verbose=TRUE)
scoreFun <- function(object)
return(ifelse(object[["y"]] < fitted(object), tau - 1, tau))
pboost(y, x, rq, scoreFun, BIC, tau=tau, verbose=TRUE)
Profile Boosting for Spatial Auto-regressive Model
Description
Profile boosting variable selection for spatial auto-regressive (SAR) model
\bm{y} = \rho W \bm{y} + X \beta + \bm{\varepsilon},
where \bm{y}, \bm{\varepsilon} \in \mathbb{R}^n, X \in \mathbb{R}^{n \times p},
\rho \in (-1, 1).
psar() implements the PVS procedure for data matrix.
Usage
psar(x, y, w, stopFun = "EBIC", keep = NULL, maxK = NULL, verbose = FALSE)
Arguments
x |
Numeric feature matrix. |
y |
Response vector. |
w |
Weight matrix (row-sum scaled being one). |
stopFun |
Parameter passed to pboost. |
keep |
Parameter passed to pboost. |
maxK |
Parameter passed to pboost. |
verbose |
Parameter passed to pboost. |
Value
Model object fitted on the selected features.
Examples
set.seed(2026)
w <- set_rook_matrix(9, 9)
n <- NROW(w)
p <- 300
x <- matrix(rnorm(n*p), n) %*% chol(0.7^abs(outer(1:p, 1:p, "-")))
eta <- drop(x[, 1:3] %*% runif(3, 1.5, 2.0))
rho0 <- 0.2
sig0 <- 1.0
y <- solve(diag(n) - rho0 * w, rnorm(n, eta, sd=sig0)) |> drop()
## ---------- pboost ----------
system.time( egg <- psar(x, y, w, verbose=TRUE) )
y.tilde <- (diag(NROW(x)) - egg[["rho"]] * w) %*% y
beta.hat <- egg[["beta"]]
idx <- as.integer(sub("[[:alpha:]]", "", names(beta.hat)))
sig2.hat <- mean( (y.tilde - drop(x[, idx, drop=FALSE] %*% beta.hat))^2 )
print( egg[["sig2"]] - sig2.hat )
## ---------- frs ----------
fsar(x, y, w, verbose=TRUE)
Functions for Spatial Auto-regressive Model
Description
-
get_rho(): MLE of\rhoin SAR model. See psar. -
sar.fit(): Fit SAR model with given\rho. -
set_rook_matrix(): Construct Rook weight adjacency matrix. -
logLik(),BIC(),residuals(),coef().
Usage
get_rho(x, y, w)
sar.fit(x, y, w)
## S3 method for class 'sarpboost'
residuals(object, ...)
## S3 method for class 'sarpboost'
logLik(object, ...)
## S3 method for class 'sarpboost'
BIC(object, ...)
## S3 method for class 'sarpboost'
coef(object, ...)
set_rook_matrix(rNum, cNum)
Arguments
x |
Numeric feature matrix. |
y |
Response vector. |
w |
Weight matrix (row-sum scaled). |
object |
Object. |
... |
Arguments. |
rNum |
Number of row units in Rook structure. |
cNum |
Number of column units in Rook structure. |
Value
Value or list.