Description Usage Arguments Details Value Note Author(s) References See Also Examples
Algorithmic constants and parameters for a constrained additive
ordination (CAO), by fitting a reducedrank vector generalized
additive model (RRVGAM), are set using this function.
This is the control function for cao
.
1 2 3 4 5 6 7 8 9 10 11  cao.control(Rank = 1, all.knots = FALSE, criterion = "deviance", Cinit = NULL,
Crow1positive = TRUE, epsilon = 1.0e05, Etamat.colmax = 10,
GradientFunction = FALSE, iKvector = 0.1, iShape = 0.1,
noRRR = ~ 1, Norrr = NA,
SmallNo = 5.0e13, Use.Init.Poisson.QO = TRUE,
Bestof = if (length(Cinit)) 1 else 10, maxitl = 10,
imethod = 1, bf.epsilon = 1.0e7, bf.maxit = 10,
Maxit.optim = 250, optim.maxit = 20, sd.sitescores = 1.0,
sd.Cinit = 0.02, suppress.warnings = TRUE,
trace = TRUE, df1.nl = 2.5, df2.nl = 2.5,
spar1 = 0, spar2 = 0, ...)

Rank 
The numerical rank R of the model, i.e., the number of latent
variables. Currently only 
all.knots 
Logical indicating if all distinct points of the smoothing
variables are to be used as knots. Assigning the value

criterion 
Convergence criterion. Currently, only one is supported: the deviance is minimized. 
Cinit 
Optional initial C matrix which may speed up convergence. 
Crow1positive 
Logical vector of length 
epsilon 
Positive numeric. Used to test for convergence for GLMs fitted in FORTRAN. Larger values mean a loosening of the convergence criterion. 
Etamat.colmax 
Positive integer, no smaller than 
GradientFunction 
Logical. Whether 
iKvector, iShape 
See 
noRRR 
Formula giving terms that are not to be included in the
reducedrank regression (or formation of the latent variables).
The default is to omit the intercept term from the latent
variables. Currently, only 
Norrr 
Defunct. Please use 
SmallNo 
Positive numeric between 
Use.Init.Poisson.QO 
Logical. If 
Bestof 
Integer. The best of 
maxitl 
Positive integer. Maximum number of NewtonRaphson/Fisherscoring/localscoring iterations allowed. 
imethod 
See 
bf.epsilon 
Positive numeric. Tolerance used by the modified vector backfitting algorithm for testing convergence. 
bf.maxit 
Positive integer. Number of backfitting iterations allowed in the compiled code. 
Maxit.optim 
Positive integer.
Number of iterations given to the function 
optim.maxit 
Positive integer.
Number of times 
sd.sitescores 
Numeric. Standard deviation of the
initial values of the site scores, which are generated from
a normal distribution.
Used when 
sd.Cinit 
Standard deviation of the initial values for the elements
of C.
These are normally distributed with mean zero.
This argument is used only if 
suppress.warnings 
Logical. Suppress warnings? 
trace 
Logical indicating if output should be produced for each
iteration. Having the value 
df1.nl, df2.nl 
Numeric and nonnegative, recycled to length S.
Nonlinear degrees
of freedom for smooths of the first and second latent variables.
A value of 0 means the smooth is linear. Roughly, a value between
1.0 and 2.0 often has the approximate flexibility of a quadratic.
The user should not assign too large a value to this argument, e.g.,
the value 4.0 is probably too high. The argument 
spar1, spar2 
Numeric and nonnegative, recycled to length S.
Smoothing parameters of the
smooths of the first and second latent variables. The larger the value, the
more smooth (less wiggly) the fitted curves. These arguments are an
alternative to specifying 
... 
Ignored at present. 
Many of these arguments are identical to qrrvglm.control
.
Here, R is the Rank
, M is the number
of additive predictors, and S is the number of responses
(species).
Thus M=S for binomial and Poisson responses, and
M=2S for the negative binomial and 2parameter gamma distributions.
Allowing the smooths too much flexibility means the CAO optimization
problem becomes more difficult to solve. This is because the number
of local solutions increases as the nonlinearity of the smooths
increases. In situations of high nonlinearity, many initial values
should be used, so that Bestof
should be assigned a larger
value. In general, there should be a reasonable value of df1.nl
somewhere between 0 and about 3 for most data sets.
A list with the components corresponding to its arguments, after some basic error checking.
The argument df1.nl
can be inputted in the format c(spp1 = 2,
spp2 = 3, 2.5)
, say, meaning the default value is 2.5, but two species
have alternative values.
If spar1 = 0
and df1.nl = 0
then this represents fitting
linear functions (CLO). Currently, this is handled in the awkward
manner of setting df1.nl
to be a small positive value, so that
the smooth is almost linear but not quite.
A proper fix to this special case should done in the short future.
T. W. Yee
Yee, T. W. (2006). Constrained additive ordination. Ecology, 87, 203–213.
Green, P. J. and Silverman, B. W. (1994). Nonparametric Regression and Generalized Linear Models: A Roughness Penalty Approach, London: Chapman & Hall.
cao
.
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  ## Not run:
hspider[,1:6] < scale(hspider[,1:6]) # Standardized environmental vars
set.seed(123)
ap1 < cao(cbind(Pardlugu, Pardmont, Pardnigr, Pardpull, Zoraspin) ~
WaterCon + BareSand + FallTwig +
CoveMoss + CoveHerb + ReflLux,
family = poissonff, data = hspider,
df1.nl = c(Zoraspin = 2.3, 2.1),
Bestof = 10, Crow1positive = FALSE)
sort(deviance(ap1, history = TRUE)) # A history of all the iterations
Coef(ap1)
par(mfrow = c(2, 3)) # All or most of the curves are unimodal; some are
plot(ap1, lcol = "blue") # quite symmetric. Hence a CQO model should be ok
par(mfrow = c(1, 1), las = 1)
index < 1:ncol(depvar(ap1)) # lvplot is jagged because only 28 sites
lvplot(ap1, lcol = index, pcol = index, y = TRUE)
trplot(ap1, label = TRUE, col = index)
abline(a = 0, b = 1, lty = 2)
persp(ap1, label = TRUE, col = 1:4)
## End(Not run)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.