Существует множество способов расчета CI начальной загрузки и p-значений. Основная проблема заключается в том, что загрузчик не может генерировать данные при нулевой гипотезе. Тест на перестановку является жизнеспособной альтернативой этому. Чтобы использовать правильный загрузчик, вы должны сделать некоторые предположения о распределении выборки статистики теста.
β*0= β^- β^*β*0= β^*- β^
нормальный бутстрап
Одним из подходов является нормальная начальная загрузка, где вы берете среднее и стандартное отклонение распределения начальной загрузки, вычисляете распределение выборки под нулевым значением, сдвигая распределение и используя нормальные процентили из нулевого распределения в точке оценки в исходной выборке начальной загрузки. , Это разумный подход, когда распределение начальной загрузки нормальное, обычно здесь достаточно визуального осмотра. Результаты, использующие этот подход, обычно очень близки к надежной или основанной на сэндвичах оценке ошибок, которая устойчива к предположениям о гетероскедастичности и / или конечной выборочной дисперсии. Допущение нормальной тестовой статистики является более сильным условием допущений в следующем тесте начальной загрузки, который я буду обсуждать.
процентиль бутстрап
F*0) вычитая распределение начальной загрузки из оценок, а затем вычисляя, какой процент DSNH является «более экстремальным», чем ваша оценка, используя 2 × мин ( F*0( β^) , 1 - F*0( β^) )
Студенческий бутстрап
п
Пример программирования
В качестве примера я буду использовать city
данные в пакете начальной загрузки. Доверительные интервалы начальной загрузки рассчитываются с помощью этого кода:
ratio <- function(d, w) sum(d$x * w)/sum(d$u * w)
city.boot <- boot(city, ratio, R = 999, stype = "w", sim = "ordinary")
boot.ci(city.boot, conf = c(0.90, 0.95),
type = c("norm", "basic", "perc", "bca"))
и произвести этот вывод:
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
Based on 999 bootstrap replicates
CALL :
boot.ci(boot.out = city.boot, conf = c(0.9, 0.95), type = c("norm",
"basic", "perc", "bca"))
Intervals :
Level Normal Basic
90% ( 1.111, 1.837 ) ( 1.030, 1.750 )
95% ( 1.042, 1.906 ) ( 0.895, 1.790 )
Level Percentile BCa
90% ( 1.291, 2.011 ) ( 1.292, 2.023 )
95% ( 1.251, 2.146 ) ( 1.255, 2.155 )
Calculations and Intervals on Original Scale
95% -й доверительный интервал для нормальной начальной загрузки получается путем вычисления:
with(city.boot, 2*t0 - mean(t) + qnorm(c(0.025, 0.975)) %o% sqrt(var(t)[1,1]))
Таким образом, p-значение получается:
> with(city.boot, pnorm(abs((2*t0 - mean(t) - 1) / sqrt(var(t)[1,1])), lower.tail=F)*2)
[1] 0.0315
Который соглашается, что 95% -й нормальный CI не включает нулевое значение отношения 1.
Процент CI получается (с некоторыми отличиями в связи с методами для связей):
quantile(city.boot$t, c(0.025, 0.975))
И значение р для процентиля начальной загрузки:
cvs <- quantile(city.boot$t0 - city.boot$t + 1, c(0.025, 0.975))
mean(city.boot$t > cvs[1] & city.boot$t < cvs[2])
Дает значение 0,035, которое также согласуется с доверительным интервалом с точки зрения исключения 1 из значения. В общем, мы не можем заметить, что, хотя ширина процентиля CI почти равна ширине нормального CI, и что процентиль CI дальше от нуля, что процентиль CI должен обеспечивать более низкие значения p. Это связано с тем, что форма распределения выборки, лежащего в основе CI для метода процентилей, является ненормальной.