Matlab Bootstrap未完成重采样

标签 matlab statistics-bootstrap

我想在 Matlab 中执行 Bootstrap 。我有 100 个原始数据点,我希望 Bootstrap 的每次迭代仅选择 57 个点并随机替换。我该如何实现它?

我似乎无法在 Matlab 函数 bootstrp 中找到此功能。

问候,

最佳答案

要从向量中随机选择 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)

关于Matlab Bootstrap未完成重采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21024678/

相关文章:

algorithm - 如何将坦克的左右电机速度转换为路径/曲率

matlab - 在 MATLAB 中查找一个向量中的元素在另一个向量中的位置

r - 如何在r中重新采样LDA?

r - 如何引导被一个因素阻止的 R 中的数据集?

image-processing - 在matlab中更改灰度图像中的灰度级数

matlab - 将矩阵分解为第二列相等的子矩阵,而不使用 for 循环

r - 如何使用 R 中的 bootstrap 方法计算 beta 回归拟合值的置信区间

Pandas,使用用于绘图的引导置信区间计算许多方法

R 使用每个 id 的多个观测值进行引导重采样,并返回重采样数据作为结果

matlab - 在循环内更改 for 循环索引变量