Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

I am trying to fit an ordinal regression model using the logit link function in R using ordinal package; the response variables have five levels.

The number of explanatory variables is much larger than the number of samples ($p \gg n$)

Could any one help me with the following problem:

  1. Start with a model that contains only the intercept.
  2. For the current model, explore the improvement in fit by adding additional variables.
  3. Add the baseline for the variables that performed the best (using AIC, deviance, etc.)
  4. Go back to step 2 until the maximal number of variables in the model is reached.

Unfortunately, glmnet, cannot handle ordinal regression otherwise it would have been great. Is there a way of reducing the ordinal regression problem to multinomial regression using indicator variables? This would be of great benefit as I could use glmnet for variable selection.

This is sample data (in my case $n \sim 100$, and $p \sim 10000$):

structure(list(resp = structure(c(1L, 1L, 2L, 2L, 2L), .Label = c("a", 
"b"), class = c("ordered", "factor")), x1 = 1:5, x2 = c(0.1, 
0.2, 0.3, 0.4, 0.5), x3 = c(0.01, 0.04, 0.09, 0.16, 0.25), x4 = c(1, 
4, 9, 16, 25), x5 = c(0.001, 0.002, 0.003, 0.004, 0.005), x6 = c(-5, 
-4, -3, -2, -1), x7 = c(-0.5, -0.4, -0.3, -0.2, -0.1), x8 = c(0.25, 
0.16, 0.09, 0.04, 0.01), x9 = c(25, 16, 9, 4, 1), x10 = c(0.0316227766016838, 
0.0447213595499958, 0.0547722557505166, 0.0632455532033676, 0.0707106781186548
)), .Names = c("resp", "x1", "x2", "x3", "x4", "x5", "x6", "x7", 
"x8", "x9", "x10"), row.names = c(NA, -5L), class = "data.frame")

Thanks a lot for any help or pointers!

share|improve this question
how about stepAIC() in package MASS? – Chase May 6 '11 at 4:09
@chase thanks. I had thought about polr, but I wanted to use clm and polr is slow with my data size (and so is clm) – suncoolsu May 6 '11 at 9:09

Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.