data generation using bootstrap method

8 次查看(过去 30 天)
som
som 2012-12-5
评论: peach_R 2024-11-9,7:09
Hi all,
I have a data series like 'a':
a= [50;46;28;31;38;49;52;33;38;32;61;90;42;42;45;29;36;30;27;20;31;30;34;23;];
I want to genarate more data which originated from 'a' using bootstrap method.
How can I write this program?
Thanks in advance.

回答(1 个)

José-Luis
José-Luis 2012-12-5
编辑:José-Luis 2012-12-5
Bootstrapping consists in selecting a subset of the data. That sounds like a job for randperm()
a = randi(60,1,50);
subsetSize = numel(a) - 1; %How many values in your bootstrap
numSamples = 10; %number of simulations
your_data = ones(numSamples,subsetSize); %one sample per row
for ii = 1:numSamples
your_data(ii,:) = a(randperm(subsetSize));
end
Note that you could also generate all possible subsets:
allSets = nchoosek(1:numel(a),subsetSize);
your_data = a(allSets);
And select your data from it, if you want to avoid repeated values.
  1 个评论
peach_R
peach_R 2024-11-9,7:09
I wonder why it starts from a = randi(60,1,50) as I think that 60 means integer from 1 to 60 not from elements in 'a'.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Predictive Maintenance Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by