Existem várias maneiras de calcular os ICs de inicialização e os valores de p. A questão principal é que é impossível para o bootstrap gerar dados sob uma hipótese nula. O teste de permutação é uma alternativa viável baseada em reamostragem para isso. Para usar um bootstrap adequado, você deve fazer algumas suposições sobre a distribuição de amostragem da estatística de teste.
β∗0 0= β^- β^∗β∗0 0= β^∗- β^
inicialização normal
Uma abordagem é um bootstrap normal em que você obtém a média e o desvio padrão da distribuição do bootstrap, calcula a distribuição de amostragem sob o nulo deslocando a distribuição e usando os percentis normais da distribuição nula no ponto da estimativa na amostra original do bootstrap . Essa é uma abordagem razoável quando a distribuição do bootstrap é normal, a inspeção visual geralmente é suficiente aqui. Os resultados dessa abordagem geralmente são muito próximos da estimativa de erro robusta ou baseada em sanduíche, robusta contra a heterocedasticidade e / ou suposições de variância finita da amostra. A suposição de uma estatística de teste normal é uma condição mais forte das suposições no próximo teste de autoinicialização que discutirei.
porcentagem de autoinicialização
F∗0 02 × min ( F∗0 0( β^) , 1 - F∗0 0( β^) ))
Bootstrap estudantilizado
p
Exemplo de programação
Como exemplo, usarei os city
dados no pacote de inicialização. Os intervalos de confiança da inicialização são calculados com este código:
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"))
e produza esta saída:
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
O IC de 95% para o bootstrap normal é obtido calculando:
with(city.boot, 2*t0 - mean(t) + qnorm(c(0.025, 0.975)) %o% sqrt(var(t)[1,1]))
O valor p é assim obtido:
> with(city.boot, pnorm(abs((2*t0 - mean(t) - 1) / sqrt(var(t)[1,1])), lower.tail=F)*2)
[1] 0.0315
O que concorda que o IC normal de 95% não inclui o valor da razão nula de 1.
O IC do percentil é obtido (com algumas diferenças devido aos métodos de empate):
quantile(city.boot$t, c(0.025, 0.975))
E o valor p para o bootstrap de percentil é:
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])
Dá um p de 0,035, que também concorda com o intervalo de confiança em termos da exclusão de 1 do valor. Em geral, não podemos observar que, enquanto a largura do IC do percentil é quase tão ampla quanto o IC normal e que o IC do percentil está mais distante do nulo que o IC do percentil deve fornecer valores p inferiores. Isso ocorre porque o formato da distribuição amostral subjacente ao IC para o método do percentil não é normal.