randomly sampling with replacement from a sample.

1 view (last 30 days)
Hi,
I am simulating traffic data on a highway bridge.
I want to generate 1000 trucks a day for a total of 2500 days and find the max for each day.
This means sampling with replacement 1000 trucks from the 113,000 in the data 2500 times and finding the max each time.
As far as I am aware I cannot change the size of a bootstrap sample so I have being trying to use datasample.
The code I have tried is:
myStatistic=@max
nreps=2500
y=datasample(data,1000);
for i=1:nreps; populationStat(i)=myStatistic(data(;,i));
This does not work. What code or method should I be using.
Thanks in advance
  2 Comments
Jan
Jan on 4 Apr 2014
"Does not work" is not useful to explain a problem. What happens? Do you get an error message or do the results differ from your expectations?
Paraic Hickey
Paraic Hickey on 4 Apr 2014
I got an error message : index exceeds the matrix size. I think I have it working now though. Thanks for your help

Sign in to comment.

Accepted Answer

dpb
dpb on 3 Apr 2014
...sampling with replacement 1000 trucks from the 113,000 in the data...
y=truckdata(randi(113000,1000,1));
  2 Comments
Paraic Hickey
Paraic Hickey on 3 Apr 2014
Thanks
how do I loop this to create 2500 samples of 1000 and find the max of each sample set?
Joseph Cheng
Joseph Cheng on 3 Apr 2014
probably reading up on randi. reading the documentation on randi will give you an idea that you can go randi(maxpossiblenumber,2500,1000). then use max(answer,[],2) to get the max of each row.

Sign in to comment.

More Answers (1)

Jos (10584)
Jos (10584) on 4 Apr 2014
You can use BOOTSTRP. An example:
% data
Data = 1:20 ; % 113,000 values in your data
Nreps = 5 % 2500 in your case
Nselected = 3 % 1000 in your case
FH = @(X) max(X(1:Nselected)) ; % statistics function, max of first values
% engine
popStat = bootstrp(Nreps, FH, Data)

Community Treasure Hunt

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

Start Hunting!