# Multiple orthogonal regression in R [duplicate]

I have a project in which I need to perform orthogonal regression in a multiple regression case. For the non-multiple case, I've found Teetor's R Cookbook suggests using principle components:

reg_orth = prcomp( ~ y + x, data=ds[train,])
reg_orth_slope = reg_orth$rotation[2,1]/reg_orth$rotation[1,1]
reg_orth_int = reg_orth$center- reg_orth_slope * reg_orth$center
reg_orth_pred = ds[test,'y'] * reg_orth_slope + reg_orth_int


This is fine and seems to work great, but I actually have 5 independent variables that I want to use to predict my dependent variable. I tried to consider what is done to compute the slope and intercept, above, but with 5 independent variables, I'm not sure what to do.

I would have thought orthogonal regression would be quite common, but I'm not finding any information on it in the multiple regression case.

• What makes you think you need orthogonal regression ? Dec 30, 2013 at 22:43
• There is some question as to variability in measurement of the dependent variable as well as variability in the independent variables. I want to compare the results that I've gotten thus far using OLS and robust regression to results from an orthogonal approach to see if taking into account all sources of variability helps the model. Dec 30, 2013 at 22:59
• Maybe you can try the total least squares approach. But I'm really not sure this is what you're looking for, I don't know this topic. I asked a question about it some time ago, and I have never made some progress then. Dec 31, 2013 at 7:40
• Thanks for the comment, and sorry for the delayed response. I've looked at total least squares, but I cannot find an implementation for multidimensional data. Everything I've found so far is univariate - y~x. Jan 3, 2014 at 16:54
• You asked about "multivariate regression", but from your question it was clear that you were in fact talking about "multiple regression". Multiple means having several independent variables, whereas multivariate means having several dependent variables. Apart from that, I vote to close your question as a duplicate of another one, where I have just provided an extensive answer. Please see there! Feb 7, 2015 at 0:51