# What is the difference between doing linear regression on y with x versus x with y?

What is the difference between doing linear regression on y with x versus x with y?

I guess my confusion arises from the fact that the Pearson correlation coefficient of x and y is the same no matter whether you compute pearson(x, y) or pearson(y, x). This suggests that doing a linear regression of y given x or x given y should be the same, but I don't think that's the case.

Can someone shed light on when the relationship is not symmetric, and how that relates to the Pearson correlation coefficient (which i always think of as summarizing the best fit line)?

-
Every correlation matrix will be symmetric because $\mathrm{cov}\left(x,y\right)=\mathrm{cov}\left(y,x\right)$. I encourage you to work out the math to see that this is indeed true. If you know the relationship between $x$ and $y$ (or whatever the variables of interest are) is not symmetric a priori, it might benefit you to look in to other methods of analysis. – cpcloud Feb 13 '12 at 6:02
Interesting points were made on a related question, Effect of switching response and explanatory variable in simple linear regression. – chl Feb 13 '12 at 10:20

The best way to think about this is to imagine a scatterplot of points with $y$ on the vertical axis and $x$ represented by the horizontal axis. Given this framework, you see a cloud of points, which may be vaguely circular, or may be elongated into an ellipse. What you are trying to do in regression is find what might be called the 'line of best fit'. However, while this seems straightforward, we need to figure out what we mean by 'best', and that means we must define what it would be for a line to be good, or for one line to be better than another, etc. Specifically, we must stipulate a loss function. A loss function gives us a way to say how 'bad' something is, and thus, when we minimize that, we make our line as 'good' as possible, or find the 'best' line.

Traditionally, when we conduct a regression analysis, we find estimates of the slope and intercept so as to minimize the sum of squared errors. These are defined as follows:

$$SSE=\sum_{i=1}^N(y_i-(\hat\beta_0+\hat\beta_1*x_i))^2$$

In terms of our scatterplot, this means we are minimizing the sum of the vertical distances between the observed data points and the line.

On the other hand, it is perfectly reasonable to regress $x$ onto $y$, but in that case, we would put $x$ on the vertical axis, and so on. If we kept our plot as is (with $x$ on the horizontal axis), regressing $x$ onto $y$ (again, using a slightly adapted version of the above equation with $x$ and $y$ switched) means that we would be minimizing the sum of the horizontal distances between the observed data points and the line. This sounds very similar, but is not quite the same thing. (The way to recognize this is to do it both ways, and then algebraically convert one set of parameter estimates into the terms of the other. Comparing the first model with the rearranged version of the second model, it becomes easy to see that they are not the same.)

Note that neither way would produce the same line we would intuitively draw if someone handed us a piece of graph paper with points plotted on it. In that case, we would draw a line straight through the center, but minimizing the vertical distance yields a line that is slightly flatter (i.e., with a shallower slope), whereas minimizing the horizontal distance yields a line that is slightly steeper.

A correlation is symmetrical; $x$ is as correlated with $y$ as $y$ is with $x$. The Pearson product-moment correlation can be understood within a regression context, however. The correlation coefficient, $r$, is the slope of the regression line when both variables have been standardized first. That is, you first subtracted off the mean from each observation, and then divided the differences by the standard deviation. The cloud of data points will now be centered on the origin, and the slope would be the same whether you regressed $y$ onto $x$, or $x$ onto $y$ (but note the comment by @DilipSarwate below).

Now, why does this matter? Using our traditional loss function, we are saying that all of the error is in only one of the variables (viz., $y$). That is, we are saying that $x$ is measured without error and constitutes the set of values we care about, but that $y$ has sampling error. This is very different from saying the converse. This was important in an interesting historical episode: In the late 70's and early 80's in the US, the case was made that there was discrimination against women in the workplace, and this was backed up with regression analyses showing that women with equal backgrounds (e.g., qualifications, experience, etc.) were paid, on average, less than men. Critics (or just people who were extra thorough) reasoned that if this was true, women who were paid equally with men would have to be more highly qualified, but when this was checked, it was found that although the results were 'significant' when assessed the one way, they were not 'significant' when checked the other way, which threw everyone involved into a tizzy. See here for a famous paper that tried to clear the issue up.

The formula for the slope of a simple regression line is a consequence of the loss function that has been adopted. If you are using the standard Ordinary Least Squares loss function (noted above), you can derive the formula for the slope that you see in every intro textbook. This formula can be presented in various forms; one of which I call the 'intuitive' formula for the slope. Consider this form for both the situation where you are regressing $y$ on $x$, and where you are regressing $x$ on $y$: $$\overbrace{\hat\beta_1=\frac{\text{Cov}(x,y)}{\text{Var}(x)}}^{y\text{ on } x}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\overbrace{\hat\beta_1=\frac{\text{Cov}(y,x)}{\text{Var}(y)}}^{x\text{ on }y}$$ Now, I hope it's obvious that these would not be the same unless $\text{Var}(x)$ equals $\text{Var}(y)$. If the variances are equal (e.g., because you standardized the variables first), then so are the standard deviations, and thus the variances would both also equal $\text{SD}(x)\text{SD}(y)$. In this case, $\hat\beta_1$ would equal Pearson's $r$, which is the same either way by virtue of the principle of commutativity: $$\overbrace{r=\frac{\text{Cov}(x,y)}{\text{SD}(x)\text{SD}(y)}}^{\text{correlating }x\text{ with }y}~~~~~~~~~~~~~~~~~~~~~~~~~~~\overbrace{r=\frac{\text{Cov}(y,x)}{\text{SD}(y)\text{SD}(x)}}^{\text{correlating }y\text{ with }x}$$

-
+1 for mention of minimising the loss function. Alternatives to the vertical or horizontal distances include using the perpendicular distance to the line or the area of the rectangle, which each produce different regression lines. – Henry Feb 13 '12 at 8:26
+1 for a very good explanation! – Xi'an Feb 13 '12 at 9:37
+1 Nice answer! – cpcloud Feb 13 '12 at 16:25
I do not think that the statement "the slope would be the same whether you regressed $y$ onto $x$, or $x$ onto $y$." is correct if the convention is to plot $x$ on the horizontal axis and $y$ on the vertical axis. In this case, the slopes are reciprocals of each other. If we follow the convention of independent variable on horizontal axis and dependent variable on vertical axis, then yes, the slope is the same either way. But with this convention, the vertical distances versus horizontal distances explanation does not apply; it is always the vertical distance of points from the line. – Dilip Sarwate Feb 13 '12 at 16:46
@DilipSarwate, what you're saying is true. My point in using the terms "vertical" & "horizontal" is to make visually apparent the idea that the error is understood as sampling error in $y$, or sampling error in $x$. Should we plot $x$ on the vertical axis and regress $x$ onto $y$, the minimized distances will be vertical, but the minimized error will still be sampling error in $x$. It may be that my answer isn't clear enough; I may edit it, if I can think of a better way. – gung Feb 13 '12 at 17:11

I'm going to illustrate the answer with some R code and output.

First, we construct a random normal distribution, y, with a mean of 5 and a SD of 1:

y <- rnorm(1000, mean=5, sd=1)

Next, I purposely create a second random normal distribution, x, which is simply 5x the value of y for each y:

x <- y*5

By design, we have perfect correlation of x and y:

cor(x,y)
[1] 1
cor(y,x)
[1] 1

However, when we do a regression, we are looking for a function that relates x and y so the results of the regression coefficients depend on which one we use as the dependent variable, and which we use as the independent variable. In this case, we don't fit an intercept because we made x a function of y with no random variation:

lm(y~x-1)
Call:
lm(formula = y ~ x - 1)

Coefficients:
x
0.2

lm(x ~ y-1)
Call:
lm(formula = x ~ y - 1)

Coefficients:
y
5

So the regressions tell us that y=0.2x and that x=5y, which of course are equivalent. The correlation coefficient is simply showing us that there is an exact match in unit change levels between x and y, so that (for example) a 1-unit increase in y always produces a 0.2-unit increase in x.

-