Description Usage Arguments Details Value Note Examples
The function converts a GeDS fit which has a B-spline representation to a piecewise polynomial form.
1 | PPolyRep(object, n = 3)
|
object |
the |
n |
integer value (2, 3 or 4) specifying the order (= degree + 1) of the GeDS fit which should be converted to a piecewise polynomial form.
By default equal to |
This function converts a selected GeDS fit from a GeDS-class
object
represented in terms of B-splines into an object where the fit is represented in terms
of piecewise polynomials.
The function wraps polySpline
in order to let it
accept GeDS-class
objects as input.
Hence the function provides a useful link between the package GeDS and the package splines, allowing
the user to take advantage of the functions provided in the splines package.
An object that inherits from classes "spline"
and "polySpline"
. It is a list
whose arguments are:
knots |
a vector of size k + 2 containing the complete set of knots (internal knots plus the limits of the interval) of the GeDS fit. |
coefficients |
a (k + 2) \times n matrix containing the coefficients of the polynomials in the required piecewise polynomial representation. |
Let us note that the first k+1 rows of the matrix contain the n
coefficients
of the k+1 consecutive pieces of the piecewise polynomial representation. The last (k+2)-th
row is extraneous and it appears as a result of the use of the function polySpline
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # Generate a data sample for the response variable
# Y and the single covariate X
set.seed(123)
N <- 500
f_1 <- function(x) (10*x/(1+100*x^2))*4+4
X <- sort(runif(N, min = -2, max = 2))
# Specify a model for the mean of Y to include only
# a component non-linear in X, defined by the function f_1
means <- f_1(X)
# Add (Normal) noise to the mean of Y
Y <- rnorm(N, means, sd = 0.1)
# Fit a Normal GeDS regression using NGeDS
Gmod <- NGeDS(Y ~ f(X), beta = 0.6, phi = 0.995, Xextr = c(-2,2))
# construct the PP representation of the cubic GeDS fit
# and apply some functions of the package splines
Polymod <- PPolyRep(Gmod, 4)
require(splines)
class(Polymod)
splineKnots(Polymod)
knots(Gmod, n = 4)
plot(Polymod)
# Generate a plot showing the PP representation
# based on the same example
knt <- splineKnots(Polymod)
coeffs <- coef(Polymod)
plot(Gmod, n = 4, legend = FALSE, main = "Cubic Curves")
cols <- sample(heat.colors(length(knt)), length(knt))
for(i in 1:(length(knt))){
curve(coeffs[i,1] + coeffs[i,2]*(x - knt[i])+
coeffs[i,3]*(x - knt[i])^2+
coeffs[i,4]*(x - knt[i])^3,
add = TRUE, col = cols[i])
abline(v = knt[i])
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.