bootci

Загрузите доверительный интервал

Описание

пример

ci = bootci(nboot,bootfun,d) вычисляет 95%-й доверительный интервал начальной загрузки для каждой статистической величины, вычисленной функциональным bootfun. bootci функционируйте использует nboot загрузите выборки в его расчете, и создает каждую выборку начальной загрузки путем выборки с заменой из строк d.

пример

ci = bootci(nboot,bootfun,d1,...,dN) создает каждую выборку начальной загрузки путем выборки с заменой из строк нескалярных аргументов данных в d1,...,dN. Эти нескалярные аргументы должны иметь одинаковое число строк. bootci функционируйте передает выборки нескалярных данных и неизменных скалярных аргументов данных в d1,...,dN к bootfun.

пример

ci = bootci(nboot,{bootfun,d},Name,Value) задает опции с помощью одного или нескольких аргументов значения имени. Например, можно изменить тип доверительного интервала путем определения 'Type' аргумент значения имени.

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

пример

ci = bootci(nboot,{bootfun,d1,...,dN},Name,Value) задает опции с помощью одного или нескольких аргументов значения имени. Например, можно изменить уровень значения доверительного интервала путем определения 'Alpha' аргумент значения имени.

Обратите внимание на то, что необходимо передать bootfun и d1,...,dN аргументы к bootci как массив отдельной ячейки.

пример

[ci,bootstat] = bootci(___) также возвращает загруженную статистическую величину, вычисленную для каждого nboot начальная загрузка реплицирует выборки, с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах. Каждая строка bootstat содержит результаты применения bootfun к одной выборке начальной загрузки.

Примеры

свернуть все

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

Сгенерируйте 30 случайных чисел от нормального распределения со средним значением 1 и стандартное отклонение 1.

rng('default') % For reproducibility
y = normrnd(1,1,30,1);

Задайте более низкие и верхние допустимые пределы процесса. Задайте индекс возможностей.

LSL = -3;
USL = 3;
capable = @(x)(USL-LSL)./(6*std(x));

Вычислите 95%-й доверительный интервал для индекса возможностей при помощи 2 000 выборок начальной загрузки. По умолчанию, bootci использует смещение откорректированный и ускоренный метод процентили, чтобы создать доверительный интервал.

ci = bootci(2000,capable,y)
ci = 2×1

    0.5937
    0.9900

Вычислите studentized доверительный интервал для индекса возможностей.

sci = bootci(2000,{capable,y},'Type','student')
sci = 2×1

    0.5193
    0.9930

Вычислите доверительные интервалы начальной загрузки для коэффициентов нелинейной модели регрессии. Метод, используемый в этом примере, включает начальную загрузку предиктора и значений отклика, и принимает, что переменный предиктор случаен. Для метода, который принимает, переменный предиктор фиксируется и загружает остаточные значения, смотрите Доверительные интервалы Начальной загрузки для Коэффициентов модели Линейной регрессии.

Примечание: Этот пример использует nlinfit, который полезен, когда вам только нужны содействующие оценки или остаточные значения нелинейной модели регрессии, и необходимо повторить подбирающую модель многократно, как в случае начальной загрузки. Если необходимо исследовать подбиравшую модель регрессии далее, создайте нелинейный объект модели регрессии при помощи fitnlm. Можно создать доверительные интервалы для коэффициентов получившейся модели при помощи coefCI возразите функции, несмотря на то, что эта функция не использует начальную загрузку.

Сгенерируйте данные из нелинейной модели регрессии y=b1+b2exp(-b3x)+ϵ, где b1=1, b2=3, и b3=2 коэффициенты; переменный предиктор x экспоненциально распределяется со средним значением 2; и остаточный член ϵ нормально распределено со средним значением 0 и стандартным отклонением 0.1.

modelfun = @(b,x)(b(1)+b(2)*exp(-b(3)*x));

rng('default') % For reproducibility
b = [1;3;2];
x = exprnd(2,100,1);
y = modelfun(b,x) + normrnd(0,0.1,100,1);

Создайте указатель на функцию для нелинейной модели регрессии, которая использует начальные значения в beta0.

beta0 = [2;2;2];
beta = @(predictor,response)nlinfit(predictor,response,modelfun,beta0)
beta = function_handle with value:
    @(predictor,response)nlinfit(predictor,response,modelfun,beta0)

Вычислите 95%-е доверительные интервалы начальной загрузки для коэффициентов нелинейной модели регрессии. Создайте выборки начальной загрузки из сгенерированных данных x и y.

ci = bootci(1000,beta,x,y)
ci = 2×3

    0.9821    2.9552    2.0180
    1.0410    3.1623    2.2695

Первые два доверительных интервала включают истинные содействующие значения b1=1 и b2=3, соответственно. Однако третий доверительный интервал не включает истинное содействующее значение b3=2.

Теперь вычислите 99%-е доверительные интервалы начальной загрузки для коэффициентов модели.

newci = bootci(1000,{beta,x,y},'Alpha',0.01)
newci = 2×3

    0.9730    2.9112    1.9562
    1.0469    3.1876    2.3133

Все три доверительных интервала включают истинные содействующие значения.

Вычислите доверительные интервалы начальной загрузки для коэффициентов модели линейной регрессии. Метод, используемый в этом примере, включает начальную загрузку остаточных значений и принимает, что переменный предиктор фиксируется. Для метода, который принимает, переменный предиктор случаен и загружает предиктор и значения отклика, смотрите Доверительные интервалы Начальной загрузки для Нелинейных Коэффициентов модели Регрессии.

Примечание: Этот пример использует regress, который полезен, когда вам только нужны содействующие оценки или остаточные значения модели регрессии, и необходимо повторить подбирающую модель многократно, как в случае начальной загрузки. Если необходимо исследовать подбиравшую модель регрессии далее, создайте объект модели линейной регрессии при помощи fitlm. Можно создать доверительные интервалы для коэффициентов получившейся модели при помощи coefCI возразите функции, несмотря на то, что эта функция не использует начальную загрузку.

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

load hald

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

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

Вычислите 95%-е доверительные интервалы начальной загрузки для коэффициентов модели линейной регрессии. Создайте выборки начальной загрузки из остаточных значений. Используйте нормальные аппроксимированные интервалы с загруженной систематической ошибкой и стандартной погрешностью путем определения 'Type','normal'. Вы не можете использовать тип доверительного интервала по умолчанию в этом случае.

ci = bootci(1000,{@(bootr)regress(yfit+bootr,x),resid}, ...
    'Type','normal')
ci = 2×5

  -47.7130    0.3916   -0.6298   -1.0697   -1.2604
  172.4899    2.7202    1.6495    1.2778    0.9704

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

slopes = b(2:end)';
lowerBarLengths = slopes-ci(1,2:end);
upperBarLengths = ci(2,2:end)-slopes;
errorbar(1:4,slopes,lowerBarLengths,upperBarLengths)
xlim([0 5])
title('Coefficient Confidence Intervals')

Figure contains an axes. The axes with title Coefficient Confidence Intervals contains an object of type errorbar.

Только первый коэффициент неточки пересечения существенно отличается от 0.

Вычислите среднее и стандартное отклонение 100 выборок начальной загрузки. Найдите 95%-й доверительный интервал для каждой статистической величины.

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

rng('default') % For reproducibility
y = exprnd(5,100,1);

Чертите 100 выборок начальной загрузки от векторного y. Для каждой выборки начальной загрузки вычислите среднее и стандартное отклонение. Найдите 95%-й доверительный интервал начальной загрузки для среднего и стандартного отклонения.

[ci,bootstat] = bootci(100,@(x)[mean(x) std(x)],y);

ci(:,1) содержит нижние и верхние границы среднего доверительного интервала и c(:,2) содержит нижние и верхние границы доверительного интервала стандартного отклонения. Каждая строка bootstat содержит среднее и стандартное отклонение выборки начальной загрузки.

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

plot(bootstat(:,1),bootstat(:,2),'o')
xline(ci(1,1),':')
xline(ci(2,1),':')
yline(ci(1,2),':')
yline(ci(2,2),':')
xlabel('Mean')
ylabel('Standard Deviation')

Figure contains an axes. The axes contains 5 objects of type line, constantline.

Входные параметры

свернуть все

Количество выборок начальной загрузки, чтобы чертить в виде положительного целочисленного скаляра. Создать каждую выборку начальной загрузки, bootci случайным образом выбирает с заменой n из n строки нескалярных данных в d или d1,...,dN.

Пример: 100

Типы данных: single | double

Функция, чтобы примениться к каждой выборке в виде указателя на функцию. Функция может быть пользовательским или встроенной функцией. Необходимо задать bootfun с @ символ.

Пример: @mean

Типы данных: function_handle

Данные к выборке от в виде вектор-столбца или матрицы. То строки d соответствуйте наблюдениям. Когда вы используете несколько аргументов d1,...,dN ввода данных, можно задать некоторые аргументы как скалярные значения, но все нескалярные аргументы должны иметь одинаковое число строк.

Если вы используете один аргумент вектора d, можно задать его как вектор-строку. bootci затем выборки от элементов вектора.

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: bootci(100,{@mean,1:6'},'Alpha',0.1) задает, чтобы чертить 100 выборок начальной загрузки от значений 1 - 6, взять среднее значение каждой выборки, и затем вычислить 90%-й доверительный интервал для демонстрационного среднего значения.

Уровень значения в виде положительной скалярной величины между 0 и 1. bootci вычисляет 100*(1-Alpha) загрузите доверительный интервал каждой статистической величины, заданной функциональным bootfun.

Пример: 'Alpha',0.01

Типы данных: single | double

Тип доверительного интервала в виде одного из значений в этой таблице.

ЗначениеОписание
'norm' или 'normal' Нормальный аппроксимированный интервал с загруженной систематической ошибкой и стандартной погрешностью [1]
'per' или 'percentile'Основной метод процентили
'cper' или 'corrected percentile'Сместите откорректированный метод процентили [2]
'bca'

Сместите откорректированный и ускоренный метод процентили [3], [4] — Включает фактор z0, который вычисляется с помощью пропорции значений начальной загрузки, которые меньше исходного демонстрационного значения. Чтобы привести к разумным результатам, когда выборка шероховата, программное обеспечение вычисляет z0 включением половины значений начальной загрузки, которые совпадают с исходным демонстрационным значением.

'stud' или 'student'Доверительный интервал Studentized [3]

Пример: 'Type','student'

Количество выборок начальной загрузки для studentized стандартной погрешности оценивает в виде положительного целочисленного скаляра.

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

Примечание

Использовать этот аргумент значения имени, Type значением должен быть 'stud' или 'student'. Задайте любой NBootStd или StdErr, но не то и другое одновременно.

Пример: 'NBootStd',50

Типы данных: single | double

Функция использовалась для расчета studentized оценки стандартной погрешности в виде указателя на функцию.

bootci вычисляет доверительный интервал начальной загрузки studentized статистической величины, заданной функциональным bootfun, и оценивает стандартную погрешность статистики начальной загрузки при помощи функционального StdErr. StdErr функция должна взять те же аргументы в качестве bootfun и возвратите стандартную погрешность статистической величины, вычисленной bootfun.

Примечание

Использовать этот аргумент значения имени, Type значением должен быть 'stud' или 'student'. Задайте любой NBootStd или StdErr, но не то и другое одновременно.

Пример: 'StdErr',@std

Типы данных: function_handle

Веса наблюдения в виде неотрицательного вектора по крайней мере с одним положительным элементом. Число элементов в Weights должно быть равно количеству строк n в данных d или d1,...,dN. Получить одну выборку начальной загрузки, bootci случайным образом выбирает с заменой n из n строки данных с помощью этих весов в качестве вероятностей выборки многочлена.

Типы данных: single | double

Опции для вычисления итераций начальной загрузки в параллели и установке случайных чисел во время выборки начальной загрузки в виде структуры. Создайте Options структура с statset. Эта таблица приводит поля опции и их значения.

Имя поляЗначениеЗначение по умолчанию
UseParallelУстановите это значение к true вычислить итерации начальной загрузки параллельно.false
UseSubstreams

Установите это значение к true запускать расчеты параллельно восстанавливаемым способом.

Чтобы вычислить восстанавливаемо, установите Streams к типу, который позволяет подпотоки: 'mlfg6331_64' или 'mrg32k3a'.

false
StreamsЗадайте это значение как a RandStream объектный массив или массив ячеек таких объектов. Используйте отдельный объект кроме тех случаев, когда UseParallel значением является true и UseSubstreams значением является false. В этом случае используйте массив ячеек, который имеет тот же размер как параллельный пул.Если вы не задаете Streamsто bootci использует поток по умолчанию или потоки.

Примечание

Вам нужен Parallel Computing Toolbox™, чтобы запустить расчеты параллельно.

Пример: 'Options',statset('UseParallel',true)

Типы данных: struct

Выходные аргументы

свернуть все

Границы доверительного интервала, возвращенные как вектор, матрица или многомерный массив с двумя строками.

  • Если bootfun возвращает скаляр, затем ci вектор, содержащий нижние и верхние границы доверительного интервала.

  • Если bootfun возвращает вектор из длины m, затем ci матрица размера 2 m, где ci(1,:) нижние границы и ci(2,:) верхние границы.

  • Если bootfun возвращает многомерный массив, затем ci массив, где ci(1,:,...) массив нижних границ и ci(2,:,...) массив верхних границ.

Загрузите статистику, возвращенную как вектор-столбец или матрица с nboot 'Строки' . iстрока th bootstat соответствует результатам применения bootfun к ith загружают выборку. Если bootfun возвращает матрицу или массив, затем bootci функционируйте сначала преобразует этот выход в вектор-строку прежде, чем сохранить его в bootstat.

Ссылки

[1] Дэйвисон, A. C. и Д. В. Хинкли. Загрузите методы и их приложения. Издательство Кембриджского университета, 1997.

[2] Эфрон, Брэдли. Складной нож, начальная загрузка и другие планы передискретизации. Филадельфия: общество промышленной и прикладной математики, 1982.

[3] DiCiccio, Томас Дж. и Брэдли Эфрон. “Загрузите Доверительные интервалы”. Статистическая Наука 11, № 3 (1996): 189–228.

[4] Эфрон, Брэдли и Роберт Дж. Тибширэни. Введение в начальную загрузку. Нью-Йорк: Chapman & Hall, 1993.

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

Введен в R2006a