[R] constrained splines in GLM
Mayeul KAUFFMANN
mayeul.kauffmann at tiscali.fr
Fri Oct 15 15:57:46 CEST 2004
Hi,
I would like to use constrained splines in a GLM model (Poisson link)
to take into account the nonlinear effect of some covariate. The
constraints I need are described below.
I have several variables that I need concurrently in the same model.
I looked at package mgcv but I do not know if/how I can use it in GLM (not
GAM) : I could
not manage to adapt the mono.con(mgcv) example to GLM.
The help for package fda is not complete.
Not sure that backSpline(splines) does what I need.
isoreg (modreg) seems to do univariate regressions.
Some of my covariates are linear.
Three covariates (x1,x2 and x3) must be transformed in a decreasing and
convex way like
this:
o
o
 o
 o
 o
 o
 ooooo

Currently, I use exp(x1/alpha1)+exp(x2/alpha2)+exp(x3/alpha3), I try
several alpha's
and choose the best according to loglikelihood.
One variable should have only one local maximum (that is, the derivative
should be zero
only once, which is at the top), like this:

 TOP
 oo
 o o
 o o
o o o
 o o

with bs() or ns() and no constraint, I get:

 TOP
 oo
o o o
 o o o
 o
 o o

which is nonsense (note there are very few observations on the left part)
I also tried some parametric forms, choosing via loglikelihood. But with
four covariates,
it is a lot of parameters to try (several hours with little flexible
functions).
I am looking for something similar to ns or bs (package splines), which
are very
convenient to place in the formula of a GLM model. I tried them, adjusting
knots, but
could not manage what I want. Constraints on some derivatives may do the
trick, but I do
not know how to implement them in R.
Any help or comment would be greatly appreciated !
Mayeul KAUFFMANN
UniversitÃ© Pierre MendÃ¨s France  Grenoble
France
More information about the Rhelp
mailing list