Step-Wise Forward Variable Selection in a Multivariate Fuzzy Set Ordination
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.
step.mfso(dis,start,add,numitr=100,scaling=1)
dis |
a dissimilarity of distance object from |
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’ 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).
Produces a table of the analysis but does not produce any objects
David W. Roberts droberts@montana.edu
Roberts, D.W. 2007. Statistical analysis of multidimensional fuzzy set ordinations. Ecology in press
## 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))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.