I am stuck with the definition of a regression model regarding the inclusion of a constant averaged by the dependent variable.

I have a dataset M=(id, x1,x2,x3,x4) where:

id: is the id of the product 
x1: is a continuous variable denoting price (0 to 999 USD) 
x2: is a categorical variable denoting whether the product belongs to category A
x3: is a categorical variable denoting whether the product belongs to category B
x4: is a discrete variable having the customer rating with values V=(1,2,3,4,5) 

Through a transformation for each product id I generate the averages for x4 as AVG(x4)_{i} where i={1,2,3,4,5}. Now my dataset becomes

M=(id, x1, x2, x3, AVG(x4)_{1}, AVG(x4)_{2}, AVG(x4)_{3}, AVG(x4)_{4}, AVG(x4)_{5})

I want to regress AVG(x4)_{i} on x1, x2, x3, however because x1 from theory has a direct interaction with the dependent variable, I want to regress the model:

AVG(x4)_{i} = b1*x1+b2*x2+b3*x3+b4*(AVG(x4)_{i}*x1)+C+e

for each value of i.

  • Is that definition of the model correct?
  • Should b4 dropped due to collinearity?
  • $\begingroup$ I don't understand. If ID is just an ID, then you don't want to transform it. And what are you averaging X4 over? That is, what is the denominator? X4 seems to have one value for each ID. $\endgroup$
    – Peter Flom
    Commented Aug 24, 2012 at 14:03

1 Answer 1


Stepping back a moment, I'm guessing from the setup that the actual question is something like: what might the effect of changing price be on how much people tend to like a product. You seem to be thinking of the retrospective question: what sort of price and type do products that people like have. Perhaps the first version is more helpful. Certainly it's not quite the same question (and the second shouldn't be used for price changing decisions).

So, in the first formulation product ids are the units of analysis and customer ratings are combined ordinal responses to them. A reasonable analysis might therefore treat x4 as an ordinal variable multiply observed and regress it on x1-3. Ordinal logistic regression might be a good start. You can read about that a lot of places on the web, although the wikipedia page is pretty thin.

Practically, if you are an R user the package ordinal is comprehensive, or there's the polr function in MASS. For Stata, Rodriguez's notes usually come with code. Not sure how to do it in SPSS...


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.