Solved – Regression for a dependent variable which is rank order (ranking)

rankingregression

I am looking for a package to analyze rank-order data in the form of regression. My outcome (dependent) variable is a rank ordering in the sense that the respondents to a questionnaire were asked a single question: to assign the values 1 to 4 to four different objects (e.g. to rank four cars as best , second best etc). Their first preference was number 1, their second was number 2 etc. So, for each respondent we have four observations.

My first reaction was to analyze the data as a repeated-measures design where I considered the four rankings as four observations for the same person (one response per option). This would be an easy case of ordinal regression (e.g. proportional odds model) using the excellent package of Frank Harrel (thank you Frank). However, these are not four independent observations per person, because if a respondent assigned the values to the first three objects, then the rank of the fourth object is pre-determined.

Does anyone know if there is a package that can fit a more appropriate model such as the Sin‐Ho Jung and Zhiliang Ying (2003) "Rank‐based regression with repeated measurements data", Biometrica, 90 (3), 732-740.

Best Answer

One person assigns a value to four objects and the values are ordered. If three objects are assigned values, the value to be assigned to the fourth object is predetermined.

Now, this means that for each observation, we have a permutation of {1,2,3,4}.

All possible permutations are 24 for this set. Each permutation can be given an id. This id column will represent all 4 readings for that observation. Now, this id column will replace the four columns in dependent variable and we can regress it using say, logistic model. Number of classes will be 24, so this thing will depend upon what all permutations you have and the number of observations as well. So, depending upon no. of observations and no. of actual permutations present, you can give "id"s accordingly. Now, when you predict the permutation, we will at once know the permutation e.g. by 12 if we mean {2,1,4,3} then if predicted reading is 12, we will at once get the column of readings.

Related Question