Regression with averages and collinearity 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? 

 A: 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...
