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!

2 Kommentare

Shouldn't you be repeating the regression command 1000 times? Something like:
for i = 1:1000
Y = A(:,i);
b(i) = regress(Y,X);
end
then do analysis on the 1000 b values reported?
Alma Bezares
Alma Bezares am 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

jgg
jgg am 22 Apr. 2016

0 Stimmen

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);
end
Your estimates are stored in the betas matrix so you can average or consider standard deviation etc.

Weitere Antworten (0)

Kategorien

Mehr zu Linear and Nonlinear Regression finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 21 Apr. 2016

Kommentiert:

am 22 Apr. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by