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.
This vignette is meant to be the minimal package-side introduction to
crs. It focuses on one clean first run and a simple
reminder of where spline methods fit relative to the rest of the
ecosystem.
Longer conceptual and tuning material is better carried by the gallery site:
library(crs)
#> crs 0.15-41: vignette("crs_getting_started", package = "crs")
set.seed(42)
n <- 250
x1 <- runif(n)
x2 <- runif(n)
y <- sin(2 * pi * x1) + x2 + rnorm(n, sd = 0.2)
dat <- data.frame(y, x1, x2)
fit <- crs(y ~ x1 + x2, data = dat)
summary(fit)
#> Call:
#> crs.formula(formula = y ~ x1 + x2, data = dat)
#>
#> Indicator Bases/B-spline Bases Regression Spline
#>
#> There are 2 continuous predictors
#> Spline degree/number of segments for x1: 6/1
#> Spline degree/number of segments for x2: 1/1
#> Model complexity proxy: degree-knots
#> Knot type: quantiles
#> Basis type: additive
#> Pruning of final model: FALSE
#> Training observations: 250
#> Rank of model frame: 8
#> Trace of smoother matrix: 8
#>
#> Residual standard error: 0.194 on 242 degrees of freedom
#> Multiple R-squared: 0.9428, Adjusted R-squared: 0.9411
#> F-statistic: 569.6 on 7 and 242 DF, p-value: < 2.2e-16
#>
#> Cross-validation score: 0.039118
#> Number of multistarts: 5
#> Estimation time: 0.5 secondsplot(x1, y, cex = 0.35, col = "grey")
grid_x1 <- seq(min(x1), max(x1), length.out = 200)
newdata <- data.frame(
x1 = grid_x1,
x2 = mean(x2)
)
pred <- predict(fit, newdata = newdata)
lines(grid_x1, pred, col = 2, lwd = 2)crsUse crs when regression splines, derivative structure,
or shape restrictions are the natural tool. For kernel-based workflows,
see the np package instead.
Two common next stops after this first vignette are:
?crssigtest for spline significance testing,If cross-validated spline search feels expensive, begin by confirming the modeling problem on a smaller example first. Then narrow the search only if needed by restricting options such as degree or knot complexity.
It is also useful to remember that crs contains simple
linear-regression-style specifications as special cases when the basis
is restricted appropriately.
?crs and ?crssigtest for help pagesdemo(package = "crs")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.