我想在Matlab中执行bootstrap。我有100个原始数据点,我希望bootstrap的每次迭代都随机选择57个点进行替换。我该怎么做呢?
我似乎在Matlab函数bootstrp中找不到这个功能。
致以敬意,
发布于 2014-01-09 23:49:25
要使用替换从向量中随机选择n点:使用randi生成(可能重复的)索引:
vector = (1:100).^2; %// example data
n = 57;
ind = randi(numel(vector),1,n); %// n random integers between 1 and numel(vector)
sample = vector(ind);直接使用bootstrp:让fun表示要传递给bootstrp的函数。您只需要选择每个100值样本的前57个值:
vector = (1:100).^2; %// example data
n = 57;
nboot = 10;
bootstrp(nboot, @(x) fun(x(1:57)), vector)https://stackoverflow.com/questions/21024678
复制相似问题