R: Step-Wise Forward Variable Selection in a Multivariate Fuzzy...
step.mfso
R Documentation
Step-Wise Forward Variable Selection in a Multivariate Fuzzy Set Ordination
Description
A simple routine to screen variables for addition to a multivariate
fuzzy set ordination (MFSO). The routine operates by adding variables one at a time
to an existing MFSO (which can be NULL), and calculating the correlation coefficient
between the underlying dissimilarity matrix (object of class ‘dist’) and the
pair-wise distances in the MFSO ordination.
Usage
step.mfso(dis,start,add,numitr=100,scaling=1)
Arguments
dis
a dissimilarity of distance object from dist,
dsvdis, or vegdist
or other ‘dist’ object
start
either NULL (to find the first variable to add) or a data.frame
of binary or quantitative variables to use in the base model
add
a data.frame of binary or quantitative variables to screen for
addition to the model
numitr
the number of random permutations of a vector to use in establishing
the probability of observing as large an increase in correlation
as observed
scaling
the scaling parameter to pass along to mfso
Details
‘mfso’ is intended as a tool for analysis of multiple competing hypotheses,
and the analyst is expected to have a priori models to compare. Nonetheless,
‘mfso’ can be used in a hypothesis generating variable screening mode by
maximizing the correlation between the underlying dissimilarity matrix and the
pair-wise distances in the ‘mfso’ ordination.
The step.mfso function is an inelegant approach to step-wise forward variable
selection in mfso. It considers each variable offered in turn, calculates the
mfso resulting from adding that variable to the given mfso, permutes that
variable ‘numitr’ times, and determines a probability of observing as large
an increase in correlation as observed. After testing all variables for inclusion, it
simply prints a table of the calculations, and the analyst has to rerun the routine
adding the selected variable to data.frame ‘start’ and deleting it from ‘add’.
While it would be nice to automate the production of the step-wise ‘mfso’, to date
I have only implemented this limited function. In addition, model parsimony is ensured by
the permutation routine, rather than an AIC-based approach, and doesn't directly
penalize for degrees of freedom (number of variables).
Value
Produces a table of the analysis but does not produce any objects
## Not run: require(labdsv) # make data available
## Not run: data(bryceveg) # get vegetation data
## Not run: data(brycesite) # get environmental data
## Not run: dis.bc <- dsvdis(bryceveg,'bray.curtis') # produce dist object
## Not run: attach(brycesite) # make variables easily available
## Not run: step.mfso(dis.bc,start=NULL,add=data.frame(elev,slope,av))
## Not run: step.mfso(dis.bc,start=data.frame(elev),add=data.frame(slope,av))