Google Answers Logo
View Question
 
Q: Analyzing rank-order data ( Answered,   2 Comments )
Question  
Subject: Analyzing rank-order data
Category: Science > Math
Asked by: chrissandvig-ga
List Price: $10.00
Posted: 21 Jul 2003 13:15 PDT
Expires: 20 Aug 2003 13:15 PDT
Question ID: 233464
I have some data (hypothetically let's say that it is consumer data)
where consumer preferences for 20 items are ordered 1-20.  That is
that a group of consumers likes product 1 best and product 20 the
least (out of 20 products).

I also have data from questionnnaires where the consumers rate
specific attributes of the products. For example, they may rate a
product 1 for color (like very much), 5 for functionality (like OK)
and 10 for reliability (poor).  I have data on about 40 attributes for
each item.

What I would like to determine is the weighting (importance) that each
factor had on the consumers' overall evaluation of the products.  I am
not interested in individual consumers, but in the group overall.  For
instance, I would like to be able to say that color accounts for
approximately 30% of their choice, functionality 10%, reliability 0%,
etc.

I would like to know how to analyze this data and need references to
the technique used.

Thank you.

Clarification of Question by chrissandvig-ga on 21 Jul 2003 17:53 PDT
The difference between my problem and a typical regression model is
that my dependent variable is a rank position rather than a value. 
The problem looks something like this:

Y = a * X1 + b * X2 + c * X3 ...

where
Y is the rank position(1-20)

X1, X2 .. are independent variables, such as consumer perceptions of
reliability, quality, etc.

a, b, c ... are the weights that need to be determined.

Sample data looks something like this:

Rank(Y)   Quality  Reliability  Performance
1           1          7           2
2           3          3           1
3           4          4           5
4           4          2           3
.
.
20          10         9           10

For this data it is possible to see that quality is weighted most
heavily, followed by performance and reliabilty doesn't get much
weight.

Can this data be analyzed to determine the weights of the independent
variable?  If so, please provide the method and a reference.

Request for Question Clarification by elmarto-ga on 22 Jul 2003 18:13 PDT
Hi chrissandvig!
The only way I can think of to address this question would involve
using a regression-like technique (not a "typical" regression model),
but also would involve the following:

- You have 20 products, and several people that tried each of them. I
think then that you should run 20 different regressions, one for each
product. Then you would see how the attributes affect each product
(allowing each product to be affected differently by their attributes)

- You will get a coefficient (beta) for each attribute. The
interpretation of this coefficient will be "for every extra 'point'
assigned to this attribute, the probability that this product will be
ranked 1st, 2nd, ..., 20th will vary in such and such way (function of
beta)". This is different from the interpretation you want, in which
you would like to know that some attribute accounts for some
"percentage of the choice".

If this is acceptable to you, I'll go on with the answer. If it isn't,
I'll leave it to some other Researcher who might come up with a better
method to answer your question. Please tell me what you think about
this.


Best wishes!
elmarto

Clarification of Question by chrissandvig-ga on 25 Jul 2003 09:02 PDT
Dear elmarto,

Thank you for your thoughts on this problem. The approach that you
have suggested may work in some situations.  Unfortunately I don't
think that it will work on my data for two reasons:

1. I have only one ranking for the items rather than one for each
consumer. The data may be aggregated from multiple consumers or it may
be ranked via an algorithm that produces the same results every time.

2. I need to use a recognized method of analysis.  

cs

p.s. I apologize that it took me a few days to get back to you - I was
away on vacation.

Request for Question Clarification by jeremymiles-ga on 28 Jul 2003 02:07 PDT
Given the large number of categories in your ordinal outcome scale,
OLS (typical) regression is likely to give very similar to appropriate
answers.  Some software will not treat variables with that many
categories as ordinal, even if you tell it to.

Alternatively, you could transform your outcome so as to normalise it.
  You could avoid the problem of predicting a rank of < 1 or > 20, but
you would still have predicted ranks which were not integers.

If you wanted to use a rank based technique, this would be possible,
but the interpretation of this kind of model is much more difficult. 
What software (if any) are you planning to use for this  analysis.

jeremymiles-ga

Clarification of Question by chrissandvig-ga on 28 Jul 2003 10:27 PDT
I would prefer to use SPSS but also have access to SAS.

Request for Question Clarification by jeremymiles-ga on 29 Jul 2003 06:09 PDT
You could use the SPSS ordinal logistic regression function (Analyze,
Regression, Ordinal).

jeremymiles-ga

Clarification of Question by chrissandvig-ga on 29 Jul 2003 11:53 PDT
Thanks Jeremy - I'll look into the ordinal logistic regression function.
Chris
Answer  
Subject: Re: Analyzing rank-order data
Answered By: hedgie-ga on 29 Jul 2003 22:42 PDT
 
Regression analysis is not suitable for your data
  since it assumes a linear relationship between the
  variables. As you dependent variable is rank, there
  is no basis for such an expectation. For the same reason,
  that variable does not has normal distribution.
  This is just rephrasing what you have already said.

  Technique which determines which independent variables
  are important is called Factor Analysis
http://www.statsoftinc.com/textbook/stfacan.html

  You may also consider transforming the rank data
  into 'preference rating' by assuming some (standard) 
  distribution of preferences. You then can use conventional
  techniques, such as ANOVA or step-wise regression.
http://www.wikipedia.org/wiki/Analysis_of_variance
  
Here is a paper which describes the conversion of rank
into 'preferences' in some detail:
http://www.ats.ucla.edu/stat/stata/faq/prank.htm

 Please, do ask for clarification if needed and,
 please, do in such a case indicate level of mathematics
 you are comfortable with
 so I can tailor the explanation to your needs.


SEARCH TERMS
z-score,
rank data
Factor analysis

hedgie
Comments  
Subject: Re: Analyzing rank-order data
From: entropix-ga on 22 Jul 2003 11:39 PDT
 
I don't have an exact answer to your question. However, I could
suggest the following method that I thought of. Perhaps, if you rank
everything based solely on quality, solely on reliability, and solely
on performance and examine the number of deviations you get, you could
see which are more important. For example:

Rank(Y)   Quality  Reliability  Performance 
1           1          7           2 
2           3          3           1 
3           4          2           3 
4           4          4           5 
5           10         9           10 
(Note: I switched 3 and 4 because #4 was clearly rated higher no
matter what constants you use, so that would be a data flaw.)

So ranking by quality (and leaving those with the same value in
correct numerical order, i.e. 3, 4 not 4, 3), we obtain 1, 2, 3, 4, 5.
Ranking by reliability we get 4, 2, 3, 1, 5. Ranking by performance we
obtain 2, 1, 4, 3, 5. Quality has 0 deviations, reliability has 2
deviations (1 and 4), and performance has 4 deviations (1, 2, 3, 4).
Expressing these in terms of "correct" matches rather than deviations
we have 5, 3, and 1. I tried weighting them 5:3:1, but that didn't
really work. What I _did_ find though was that sorting the deviations
and then reversing them i.e. {q, r, p} = {0, 2, 4} becomes {q, r, p} =
{4, 2, 0}, and then using THAT as a weight DOES work. I'm not sure if
this will work always, probably not in fact, but you can try it.
Anyway, if you test the function f(q, r, p) = 4q + 2r, you'll find
that it almost gives 1, 2, 3, 4, 5 (f for 1 and 2 is equal to 18, but
if you allow for ties...) I realize this isn't a very good answer, but
hey, it's a couple of quick thoughts in a comment, not an answer :/

- Entropix
Subject: Re: Analyzing rank-order data
From: chrissandvig-ga on 26 Jul 2003 11:24 PDT
 
Entropix,
Your idea makes sense and I appreciate your thoughts.  However I need
to use a recognized analytical technique. I suspect that if such a
technique does exist that it may look similar to your method.
cs

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy