randomly sampling with replacement from a sample.
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Jan
2014-4-4
"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?
采纳的回答
dpb
2014-4-3
...sampling with replacement 1000 trucks from the 113,000 in the data...
y=truckdata(randi(113000,1000,1));
2 个评论
Joseph Cheng
2014-4-3
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.
更多回答(1 个)
Jos (10584)
2014-4-4
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)
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!