## MULTIPLE LINEAR REGRESSION - 5 Predictors

### Priya (view profile)

on 19 Jul 2013

I wish to perform multiple linear regression of 5 - 6 predictors (X) at a time.

I have total no. of 50 predictors.

I want to find regression coefficients for all possible combinations of predictors from the master dataset of 50 predictors taking 5 and 6 predictors at a time.

Y = a.X1 + b.X2 + c.X3 + d.X4 + e.X5 + f (5 predictors) Y = a.X1 + b.X2 + c.X3 + d.X4 + e.X5 + f.X6 + g (6 predictors)

I also want to find out the correlation coefficient between original Y and predicted Y after multiple Linear Regression.

dpb

### dpb (view profile)

on 19 Jul 2013
```>> nchoosek(50,5)+nchoosek(50,6)
ans =
18009460
>>
```

Methinks you needs must rethink your wants...

Whilst it's certainly possible to code a set of loops to do it and maybe one might have sufficient memory to hold the results and perhaps it might even complete in your lifetime simply the sheer number will mean that the likelihood of finding any reason to choose one specific model over another is near zero. You may be able to reject quite a few as being of little value but w/ that many possible combinations the odds are there will be virtually nothing to cause one to select one specific model over another; surely not if you're thinking you're just going to go on blind maximum R-sq.

You'd be far better off to have a physical or other reason to know which are likely predictor variables of interest and pare down the space drastically on that basis.

And, of course, fitting w/o visualization first is always also fraught w/ danger..."beware the nonsense correlation".

Priya

### Priya (view profile)

on 23 Jul 2013

Thanks a lot for your guidance. Suppose I have to make 3 combinations of 5 properties:

x = {A,B,C,D,E} % array of total 5 property data

So I am running 3 "for" loops:

for i = 1 : size(x,1)

for j = i : size(x,1)

for k = j : size(x,1)

and then i used regress function. It takes a lot of time. Is there any other fast approach to try such combinations without using any for loop..

dpb

### dpb (view profile)

on 23 Jul 2013

Well, you could try things like ndgrid and/or arrayfun ('uniformoutput','false' will be required) but I'd hold out little hope would save any great amount of time...

If you didn't preallocate for the results, doing that will make a noticeable improvement in the loop construct formulation. I'd not expect the for...end itself here to be the real time problem but simply the amount of "stuff" you're doing in sheer numbers.

## Products

No products are associated with this question.

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi