spreg {lazy.stat}R Documentation

Spline Regression Analysis: Regress y on spline expanded univariate regressor variable x.

Description

Spline Regression Analysis: Regress y on spline expanded univariate regressor variable x.

Usage

spreg(
  y,
  x,
  degree = 3,
  knots = NULL,
  n = 0,
  nknots = n,
  intercept = 1,
  xmin = NULL,
  xmax = NULL,
  type = "b",
  maxiter = 50,
  eps = 1e-06,
  epsg = 1e-06,
  MP = 1,
  epsSwp = 1e-08,
  nopermute = 0,
  rescale = 0,
  orth = 0,
  xrange = NULL,
  plotbase = 0,
  printbase = 0,
  print = 0,
  xlim = NULL,
  ylim = NULL,
  title = NULL,
  xlab = "new",
  plot = 0
)

Arguments

y

Input criterion variable vector

x

Input regressor vector.

degree

Degree of polynomial to be used.

knots

vector consisting of (interior) knots to be used.

n

# of knots to be used in [xmin, xmax]. Same as nknots

nknots

# of knots to be used in [xmin, xmax].

intercept

= 0 to omit the intercept when type="p".

xmin

minimum of interior knots.

xmax

maximum of interior knots.

type

= "p" for piecewise spline,
= "b" for b-spline
= "m" to perform monotone spline regression.

maxiter

Max # of iterations for monotone spline

eps

Criterion for relative improvement of rss for monotone spline

epsg

Criterion for max(abs(gradient)) of rss for monotone spline

MP

Type of ginv to be used

epsSwp

Criterion to judge if the pivot is zero in matSwp

nopermute

= 0 not to permute rows/cols in matSwp

rescale

= 1 to rescale all the p-spline basis in [0,1].

orth

= 1 to orthogonalize the p-spline basis.

xrange

= new range of x or NULL

plotbase

= 1 to plot the spline basis matrix.

printbase

= 1 to print the spline basis matrix.

print

= 1 to print the result

xlim

xlim for plot.

ylim

ylim for plot.

title

Plot title.

xlab

="org" to use old value of x when p-spline with xrange.

plot

= 1 to plot the result

Details

When knots are present, it has priority over nknots.

When type="m", b-spline base is be created and the regression coefficient beta will be estimated with the constraints:
beta[1] <= beta[2] <= .... <= beta[ncol(X)]

Value

List of: x
y
type
rescale, orth, reflect
xrange, xrange0, Xrange0, knots_org
beta
yhat
X=length(x) x (nknots+degree+1) spline basis matrix
knots The interior knots
boundary.knots The boundary knots for bspline

Examples

# artificial data
set.seed(1701)
x <- seq( 0, 3, length=50 )
yhat <- -sin(1*pi*x^(1/2))^3
y <- yhat+0.1*rnorm(length(x))

# data plot
plot( x, y, type="p", ylim=c(-1.5,1.5), main="Data and True Func" )
lines( x, yhat )

# Simple Spline Regression
res=spreg( y, x, n=5, plot=1, ylim=c(-1.5,1.5) )

# Monotore Spline Regression
res=spreg( y, x, n=5, plot=1, ylim=c(-1.5,1.5), type="m" )

# Monotore LS Regression
resm=mlsreg( y,x, method=3, print=1, plot=1 )



[Package lazy.stat version 0.1.4 Index]