3
$\begingroup$

This question comes from a reviewer's comment on a manuscript I recently submitted. I analyzed a multivariate data set (6 response variables, 21 observations for each) using redundancy analysis (RDA) in R with the vegan package. I wanted to determine which explanatory variables could best explain the variation of my 6 response variables taken together.

After removing highly correlated (>0.85) explanatory variables, I still had 25 possible explanatory variables for 21 multivariate observations.

I then standardized my response and explanatory variables and ran the following codes:

rdax.r <- rda(std_flx~., data=std.div.rda.r)
rday.r <- rda(std_flx~1, data=std.div.rda.r)
rdax_select.r <-ordistep(rdax.r, scope=formula(rday.r), direction="both", Pin = 0.05, Pout = 0.1, perm.max = 9999)

The idea here is to use ordistep to sequentially test and remove non-significant explanatory variables.

My final model kept 9 explanatory variables that best explained the variation of my 21 multivariate observations.

My questions: 1) is it appropriate to do this since my full model has 25 explanatory variables but only 21 observations? 2) Is the ratio of explanatory to response variable is too high?

My understanding is that it’s ok since ordistep is sequentially testing the significance of each term and dropping the non-significant ones. Moreover, this technique is similar to the DistLM analysis using the software PRIMER with a stepwise procedure based on AICc, but I my case, I'm basing my selection procedure on p-values.

$\endgroup$
6
  • $\begingroup$ Alternatively, could you suggest someone that might be able to help me answer this important question? $\endgroup$ Commented Jun 23, 2016 at 12:25
  • $\begingroup$ What was the reviewer's comment? $\endgroup$
    – Maddenker
    Commented Jun 28, 2016 at 19:37
  • $\begingroup$ @Maddenker The reviewer's comment was that the number of explanatory variables was high compared to the number of observations, which tend to increase R2 values. $\endgroup$ Commented Jun 29, 2016 at 13:16
  • $\begingroup$ However, in my case I'm testing (and selecting) which explanatory variables are significantly explaining my 6 response variable variation. $\endgroup$ Commented Jun 29, 2016 at 13:19
  • $\begingroup$ So you had a total of 126 observations? Maybe the reviewer didn't understand that. It is still a low number of observations, enough to be concerned with. $\endgroup$
    – Maddenker
    Commented Jun 30, 2016 at 14:58

2 Answers 2

5
+50
$\begingroup$

I would suggest you use LASSO or Ridge regression, which is meant to handle collinear variables as well as situations with $n<p$ (number of observations less than number of predictors). These occur often in biological data. Tibshirani is one of the pioneers of LASSO regression which is a more proficient regression tool that Ridge regression. What it does is actually determines using cross-validation the most appropriate variables based on your explanatory variables. The beauty of it is that it coerces insignificant variables to 0 through its penalization procedure. Here is a link to guide you on the applications side: https://web.stanford.edu/~vcs/talks/MicrosoftMay082008.pdf.

To run LASSO, use the glmnet package in R. It actually has all your diagnostic tools and is simple to use. Here is the link to guide you through the glmnet package: http://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html. Step AICc, BIC, etc. are used as a "poor man's method" for regression. Often times in the presence of collinear data, the stepwise procedure overshoots the true value of $R^2$. Also the tests used to decide to include a variable or exclude a variable are biased since they are based on the same data (talking about measuring both the testing data and the training data during a validation procedure). Also, from a methods standpoint, people tend not to think about how, why, or when a variable is or is not included in the model: they tend to accept it as is and run with it.

$\endgroup$
8
  • $\begingroup$ I have to admit that beside few questions on CV, I wasn't aware of LASSO and Ridge regression, this opens new possibilities that I have to explore. However, before my RDA, I removed collinear explanatory variables and ran the vif multicollinearity test, and VIF values are all < 5, so this shouldn't be an issue with my analysis. I'm also aware how variables are included or excluded from RDA, I discuss each one included in the final results and they all make biological sense. So my question remains, is there something fundamentally bad in the analysis I performed? $\endgroup$ Commented Jun 29, 2016 at 13:08
  • $\begingroup$ I needed more space to add "even if better options may exist" $\endgroup$ Commented Jun 29, 2016 at 13:09
  • 2
    $\begingroup$ @Mud Warrior It is questionable to use stepwise regression for the reasons I discussed. The questions you have to ask yourself are "Why are these variables included or excluded? Why did we consider these variables in the first place?" Basically stepwise inclusion/exclusion negates asking these questions and relegates you to just accept the model as is without question. So you can use AICc as your method as long as you scrutinize your model and think critically of the implications of including and excluding some variables and not others, but LASSO and Ridge are better methods. $\endgroup$
    – akash87
    Commented Jun 29, 2016 at 14:46
  • $\begingroup$ Keeping in mind that Lasso and Ridge are better methods than RDA. If someone go into the full analysis of the RDA model obtained through stepwise selection (which I did), you're saying that this method is not the best but still appropriate if you're # of observations is less than you're # of predictors, right? Do you have a reference for this? I went through Legendre & Legendre (2012) Numerical Ecology, 3rd edition, and although they suggest it, it is not clearly stated. $\endgroup$ Commented Jun 29, 2016 at 18:49
  • 1
    $\begingroup$ @MudWarrior Here is a link to the lecture slides from professor Joseph Cavanaugh of University of Iowa. He has a lot of background in this area and his slides are my go-to reference when I am stuck. myweb.uiowa.edu/cavaaugh/ms_lec_3_ho.pdf This is also now available on wikipedia. $\endgroup$
    – akash87
    Commented Jun 29, 2016 at 18:59
2
$\begingroup$

Alternatively, you could try sparse Redundancy Analysis (incorporates the ridge, lasso, and the elastic net penalization), which helps you to select the optimal number of explanatory variables through penalization and cross validation.

You can find more details in the followin article:

Attila Csala, Frans P J M Voorbraak, Aeilko H Zwinderman, Michel H Hof, Sparse redundancy analysis of high-dimensional genetic and genomic data, Bioinformatics, Volume 33, Issue 20, 15 October 2017, Pages 3228–3234, https://doi.org/10.1093/bioinformatics/btx374

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.