This function selects the structural dimension d of a fitted psdr model using the BIC-type criterion proposed by Li, Artemiou and Li (2011). The criterion evaluates cumulative eigenvalues of the working matrix, applying a penalty that depends on the tuning parameter rho and the sample size.
Selects the structural dimension \(d\) of a principal SDR model using the BIC-type criterion of Li et al. (2011):
$$ G(d) = \sum_{j=1}^{d} v_j \;-\; \rho \frac{d \log n}{\sqrt{n}} \, v_1 , $$
where \(v_j\) are the eigenvalues of the working matrix M.
To improve robustness, cross-validation is used to choose \(\rho\) based on the stability of the selected structural dimension across folds. Specifically, for each candidate \(\rho\), the data are split into \(K\) folds, and a dimension estimate \(\hat{d}^{(k)}(\rho)\) is obtained from fold \(k\).
The CV stability metric is defined as
$$ \mathrm{Var}_{CV}(\rho) = \frac{1}{K} \sum_{k=1}^{K} \left\{ \hat{d}^{(k)}(\rho) - \overline{d}(\rho) \right\}^{2}, $$
where
$$ \overline{d}(\rho) = \frac{1}{K} \sum_{k=1}^{K} \hat{d}^{(k)}(\rho). $$
The value of \(\rho\) that minimizes \(\mathrm{Var}_{CV}(\rho)\) is selected, yielding a dimension estimate that is both theoretically justified (via the BIC-type criterion) and empirically stable (via cross-validation).
The function returns the selected \(\rho\), the corresponding estimated dimension \(d\), the matrix of BIC-type criterion values, and the CV-based stability metrics.
psdr_bic(
obj,
rho_grid = seq(0.001, 0.05, length = 10),
cv_folds = 5,
plot = TRUE,
seed = 123,
...
)A list of class "psdr_bic" containing:
rho_star - selected rho minimizing cross-validated variation
d_hat - estimated structural dimension
G_values - matrix of BIC-type scores for each rho
cv_variation - variation (variance) of d_hat across folds
fold_dhat - per-fold estimated dimensions
A fitted psdr object.
Numeric vector of candidate \(\rho\) values. Default seq(0.001, 0.05, length=10).
Number of cross-validation folds for stability evaluation. Default is 5.
Logical; if TRUE, plots the BIC-type criterion curve and CV stability.
Random seed for reproducibility.
Additional graphical arguments for plot.
Jungmin Shin, c16267@gmail.com, Seung Jun Shin, sjshin@korea.ac.kr, Andreas Artemiou artemiou@uol.ac.cy
Li, B., Artemiou, A. and Li, L. (2011) Principal support vector machines for linear and nonlinear sufficient dimension reduction, Annals of Statistics 39(6): 3182–3210.
psdr
# \donttest{
set.seed(1)
n <- 200; p <- 5;
x <- matrix(rnorm(n*p), n, p)
y <- x[,1]/(0.5+(x[,2]+1)^2)+0.2*rnorm(n)
fit <- psdr(x, y, loss="svm")
bic_out <- psdr_bic(fit, rho_grid=seq(0.05, 0.1, length=5), cv_folds=5)
bic_out$d_hat
# }
Run the code above in your browser using DataLab