## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5 ) ## ----------------------------------------------------------------------------- library(risdr) sim <- simulate_risdr_data( n = 160, p = 20, d = 2, rho = 0.6, sigma = 0.7, model = "linear_quadratic", seed = 2026 ) ## ----------------------------------------------------------------------------- str(sim[c("X", "y", "beta", "Sigma", "n", "p", "d")], max.level = 1) ## ----------------------------------------------------------------------------- fit <- fit_risdr( X = sim$X, y = sim$y, sdr_method = "dr", cov_method = "oas", nslices = 6, d_max = 6, selector = "cicomp", standardize = TRUE, stabilize = TRUE ) fit summary(fit) ## ----------------------------------------------------------------------------- fit$d_table criterion_weights(fit$d_table, criterion = "CICOMP") ## ----------------------------------------------------------------------------- cv <- select_dimension_cv( X = sim$X, y = sim$y, sdr_method = "dr", cov_method = "oas", d_max = 5, v = 5, nslices = 6, metric = "RMSE", seed = 2026 ) cv$selected_d cv$cv_table ## ----------------------------------------------------------------------------- predicted <- predict(fit, sim$X[1:12, , drop = FALSE]) evaluate_prediction( y_true = sim$y[1:12], y_pred = predicted, d = fit$d ) ## ----------------------------------------------------------------------------- fit_ridge <- fit_risdr( X = sim$X, y = sim$y, sdr_method = "sir", cov_method = "ridge", d = 2, d_max = 5, cov_args = list(lambda = 0.15), stabilization_args = list(eps = 1e-7), sdr_args = list(slice_type = "quantile") ) ## ----fig.show="hold"---------------------------------------------------------- plot_scree(fit, n_eigen = 10) plot_sufficient(fit, direction = 1) plot_dimension_selection(fit)