We wish to model ratings (1-9) based on several predictors. We hypothesize that the effect of some predictors may vary across the ratings. That is, some predictors might distinguish higher ratings (e.g., 7-9) better than lower ratings. In this case, how reasonable is it to discretize the dependent variable into a few categories (e.g., 1-3 into 'low', 4-6 into 'middle', and 7-9 into 'high'), include the resulting categorical variable as another predictor, and examine the interaction between this variable and the other predictors in (ordinal) regression modeling?

Besides the potential issue of discretization (i.e., loss of information), the categorical variable is derived entirely from the dependent variable. Does this cause any problems? I have a feeling that it may, but cannot tell what exactly is the problem. I understand that the main effects of the predictors would not reflect their effects across the entire span of the ratings, but would the interaction terms be non-credible as well?

  • $\begingroup$ When the predictor variable is derived from the dependent variable, you are in a situation referred to as "mathematical coupling", which can undermine your statistical analysis (as illustrated by Peter). $\endgroup$ Commented Oct 30, 2018 at 3:13

1 Answer 1


Yes, including the dependent variable as an independent variable will cause huge problems. It will make the results meaningless. Let's see (this is R code, everything after a # is a comment):

set.seed(1234)   # Random seed
x1 <- rnorm(1000)  #Normal IVs
x2 <- rnorm(1000)
x3 <- rnorm(1000)

yraw <- x1 + x2 + x3 + rnorm(1000,0, 10)
y1to9  <- (yraw + -1*min(yraw)  + 1)
y1to9  <- trunc(y1to9*(9/(max(y1to9))))  #Create a Y variable that goes 1 to 9

cuty <- cut(y1to9,3)

model1 <- lm(y1to9~x1 + x2 + x3)  # Regular model
summary(model1)  #Gives sensible values

model2 <- lm(y1to9~x1 + x2 + x3 + cuty)  # Adding the cut of y
summary(model2)  #X1, x2, x3 not sig; R^2 is 0.75

So, by adding the variable you describe, we get nonsensical results.

If we add the interactions:

model3 <- lm(y1to9~x1 + x2 + x3 + cuty + x1*cuty + x2*cuty +x3*cuty)  # Adding the cut of y

things don't improve.


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.