OLS regression for bootstrapped data

2 views (last 30 days)
Hi, I bootstrapped some data 1000 times and now I want to regress each one of the columns of that bootstrapped data (A) on two vectors. This is: Y= each column in A; X=two vectors, but the "regress" command is not working. Any suggestion? All the data has the same number of rows. Thanks!
Alma Bezares
Alma Bezares on 22 Apr 2016
Yes, that's exactly what I want to do. Do the regression 1000 times. The problem is that if I use the code that you suggested, it only does the regression on column 1000 and not on the rest of them. If I set Y=(1:i), the command won't work as I'm dealing with a matrix again.

Sign in to comment.

Accepted Answer

jgg on 22 Apr 2016
To answer your question based on my comment. The command Y = A(:,i) selects the i-th column from the A matrix, so this will give you your 1000 results. For instance,
X = randn(5000,2); %fake data; use real data
A = randn(5000,1000); %fake data;
betas = zeros(1000,2);
for i = 1:1000
Y = A(:,i);
betas(i,:) = regress(Y,X);
Your estimates are stored in the betas matrix so you can average or consider standard deviation etc.
  1 Comment
Alma Bezares
Alma Bezares on 22 Apr 2016
That seems to work. Thanks a lot!!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!