bootstrp

Загрузите выборку

Синтаксис

bootstat = bootstrp(nboot,bootfun,d1,...)
[bootstat,bootsam] = bootstrp(...)
bootstat = bootstrp(...,'Name',Value)

Описание

bootstat = bootstrp(nboot,bootfun,d1,...) чертит nboot загрузите выборки данных, вычисляет статистику по каждой выборке с помощью bootfun, и возвращает результаты в матричном bootstat. nboot должно быть положительное целое число. bootfun указатель на функцию, заданный с @. Каждая строка bootstat содержит результаты применения bootfun к одной выборке начальной загрузки. Если bootfun возвращает матрицу или массив, затем этот выход преобразован в вектор-строку для устройства хранения данных в bootstat.

Третьи и более поздние входные параметры (d1,...) данные (скаляры, вектор-столбцы или матрицы) раньше создавал входные параметры к bootfun. bootstrp создает каждую выборку начальной загрузки путем выборки с заменой из строк нескалярных аргументов данных (они должны иметь одинаковое число строк). bootfun принимает скалярные неизменные данные.

[bootstat,bootsam] = bootstrp(...) возвращает n- nboot матрица индексов начальной загрузки, bootsam. Каждый столбец в bootsam содержит индексы значений, которые чертились от исходных наборов данных, чтобы составить соответствующую выборку начальной загрузки. Например, если d1,... каждый содержит 16 значений и nboot = 4, затем bootsam 16 4 матрица. Первый столбец содержит индексы этих 16 значений, чертивших от d1,..., для первой из четырех выборок начальной загрузки второй столбец содержит индексы для второй из четырех выборок начальной загрузки и так далее. (Индексы начальной загрузки являются тем же самым для всех наборов входных данных.), Чтобы получить выходные выборки bootsam не применяя функцию, набор bootfun опустеть ([]).

bootstat = bootstrp(...,'Name',Value) использует дополнительные аргументы, заданные одним или несколькими Name,Value парные аргументы. Пары "имя-значение" должны появиться после аргументов данных. Доступные пары "имя-значение":

  • 'Weights' — Веса наблюдения. weights значение должно быть вектором неотрицательных чисел по крайней мере с одним положительным элементом. Число элементов в weights должно быть равно количеству строк в нескалярных входных параметрах к bootstrp. Чтобы получить одну начальную загрузку реплицируют, bootstrp выборки N из N с заменой с помощью этих весов в качестве вероятностей выборки многочлена.

  • 'Options' — Значение является структурой, которая содержит опции, задающие, вычислить ли итерации начальной загрузки параллельно, и задающий, как использовать случайные числа во время выборки начальной загрузки. Создайте структуру опций с statset. Применимый statset параметры:

    • 'UseParallel' — Если true Parallel Computing Toolbox™ установлен, вычислите итерации начальной загрузки параллельно. Если Parallel Computing Toolbox не установлен, расчет происходит в последовательном режиме. Значением по умолчанию является false, значение последовательного расчета.

    • UseSubstreams — Установите на true вычислить параллельно восстанавливаемым способом. Значением по умолчанию является false. Чтобы вычислить восстанавливаемо, установите Streams к типу, позволяющему подпотоки: 'mlfg6331_64' или 'mrg32k3a'.

    • StreamsRandStream объектный массив или массив ячеек таких объектов. Если вы не задаете Streams, bootstrp использует поток по умолчанию или потоки. Если вы принимаете решение задать Streams, используйте отдельный объект кроме случая

      • UseParallel true

      • UseSubstreams false

      В этом случае используйте массив ячеек тот же размер в качестве Параллельного пула.

Примеры

свернуть все

В этом примере показано, как вычислить стандартную погрешность коэффициента корреляции с помощью передискретизации начальной загрузки выборочных данных.

Загрузите набор данных, содержащий баллы LSAT и GPA юридической школы для 15 студентов. Эти 15 точек данных передискретизируются, чтобы создать 1 000 различных наборов данных, и корреляция между этими двумя переменными вычисляется для каждого набора данных.

load lawdata
rng default  % For reproducibility
[bootstat,bootsam] = bootstrp(1000,@corr,lsat,gpa);

Отобразите первые 5 загруженных коэффициентов корреляции.

bootstat(1:5,:)
ans = 5×1

    0.9874
    0.4918
    0.5459
    0.8458
    0.8959

Отобразите индексы данных, выбранных для первых 5 выборок начальной загрузки.

bootsam(:,1:5)
ans = 15×5

    13     3    11     8    12
    14     7     1     7     4
     2    14     5    10     8
    14    12     1    11    11
    10    15     2    12    14
     2    10    13     5    15
     5     1    11    11     9
     9    13     5    10     3
    15    15    15     3     3
    15    11     1     2     4
      ⋮

figure
histogram(bootstat)

Гистограмма показывает изменение коэффициента корреляции через все выборки начальной загрузки. Демонстрационный минимум положителен, указывая, что отношение между счетом LSAT и GPA не случайно.

Наконец, вычислите стандарт начальной загрузки ошибки для предполагаемого коэффициента корреляции.

se = std(bootstat)
se = 0.1285

В этом примере показано, как оценить плотность ядра загруженных средних значений.

Вычислите выборку 100 загруженных средних значений случайных выборок, взятых из вектора Y.

rng default;  % For reproducibility
y = exprnd(5,100,1);
m = bootstrp(100,@mean,y);

Постройте оценку плотности этих загруженных средних значений.

figure;
[fi,xi] = ksdensity(m);
plot(xi,fi);

В этом примере показано, как вычислить и построить средние значения и стандартные отклонения загруженных 100 выборок от вектора данных.

Вычислите выборку 100 загруженных средних значений и стандартные отклонения случайных выборок, взятых из векторного y.

rng('default')  % For reproducibility
y = exprnd(5,100,1);
stats = bootstrp(100,@(x)[mean(x) std(x)],y);

Постройте оценочные пары начальной загрузки.

plot(stats(:,1),stats(:,2),'o')

В этом примере показано, как оценить стандартные погрешности для вектора коэффициентов в линейной регрессии путем начальной загрузки остаточных значений.

Загрузите выборочные данные.

load hald

Выполните линейную регрессию и вычислите остаточные значения.

x = [ones(size(heat)),ingredients];
y = heat;
b = regress(y,x);
yfit = x*b;
resid = y - yfit;

Оцените стандартные погрешности путем начальной загрузки остаточных значений.

se = std(bootstrp(...
         1000,@(bootr)regress(yfit+bootr,x),resid))
se = 1×5

   56.1752    0.5940    0.5815    0.5989    0.5691

Расширенные возможности

Смотрите также

| | | | | | | |

Представлено до R2006a