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-by-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 с заменой с помощью этих весов в качестве вероятностей выборки многочлена.

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

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

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

    • Объектный массив Streams — A RandStream или массив ячеек таких объектов. Если вы не задаете 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