| PCG_smooth {mgss} | R Documentation | 
High-dimensional spline smoothing using a matrix-free PCG-method.
Description
Fits a smooth spline to a set of given observations using penalized splines with curvature or difference penalty and multiple covariates. The underlying linear system is solved with a matrix-free preconditioned conjugated gradient (PCG) method using a diagonal preconditioner.
Usage
PCG_smooth(
  m,
  q,
  lambda,
  X,
  y,
  pen_type = "curve",
  l = NULL,
  alpha_start = NULL,
  K_max = NULL,
  tolerance = 1e-06,
  print_error = TRUE
)
Arguments
m | 
 Vector of non-negative integers. Each entry gives the number of inner knots for the respective covariate.  | 
q | 
 Vector of positive integers. Each entry gives the spline degree for the respective covariate.  | 
lambda | 
 Positive number as weight for the penalty term.  | 
X | 
 Matrix containing the covariates as columns and the units as rows.  | 
y | 
 Vector of length   | 
pen_type | 
 Utilized penalization method. Either   | 
l | 
 Positive integer vector of length   | 
alpha_start | 
 Vector of length   | 
K_max | 
 Positive integer as upper bound for the number of PCG-iterations. Defaults to   | 
tolerance | 
 Positive number as error tolerance for the stopping criterion of the PCG-method. Defaults to   | 
print_error | 
 Logical, indicating if the iteration error should be printed or not.  | 
Value
Returns a list containing the input m, q, and Omega. Further gives the fitted spline coefficients alpha, the fitted values fitted_values, the residuals residuals, the root mean squared error rmse and the R-squared value R_squared.
Examples
data <- generate_test_data(100, 2)
X <- data$X_train
y <- data$y_train
PCG_smooth(m = c(7,7), q = c(3,3), lambda = 0.1, X = X, y = y)