1

Ich möchte ein BCa Konfidenzintervall für mehrstufige Bootstrap mit boot.ci() berechnen. Hier ist ein Beispiel von: Non-parametric bootstrapping on the highest level of clustered data using boot() function from {boot} in R , die den boot Befehl verwendet.Confidence Interval von hierarchischen Bootstrap

# creating example df 
rho <- 0.4 
dat <- expand.grid(
    trial=factor(1:5), 
    subject=factor(1:3) 
) 
sig <- rho * tcrossprod(model.matrix(~ 0 + subject, dat)) 
diag(sig) <- 1 
set.seed(17); dat$value <- chol(sig) %*% rnorm(15, 0, 1) 

# function for resampling 
resamp.mean <- function(dat, 
        indices, 
        cluster = c('subject', 'trial'), 
        replace = TRUE){ 
    cls <- sample(unique(dat[[cluster[1]]]), replace=replace) 
    sub <- lapply(cls, function(b) subset(dat, dat[[cluster[1]]]==b)) 
    sub <- do.call(rbind, sub) 
    mean(sub$value) 
} 

dat.boot <- boot(dat, resamp.mean, 4) # produces and estimated statistic 

boot.ci(data.boot) # produces errors 

Wie kann ich boot.ci auf dem boot Ausgang benutzen?

Antwort

0

Sie haben zu wenige Bootstrap-Resamples verwendet. Wenn Sie boot.ci aufrufen, sind Einflussgrößen erforderlich, und wenn nicht angegeben, werden sie von empinf erhalten, was bei zu wenigen Beobachtungen fehlschlagen kann. Eine ähnliche Erläuterung finden Sie in here.

Versuchen

dat.boot <- boot(dat, resamp.mean, 1000) 
boot.ci(dat.boot, type = "bca") 

die gibt:

> boot.ci(dat.boot, type = "bca") 

BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS 
Based on 1000 bootstrap replicates 

CALL : 
boot.ci(boot.out = dat.boot, type = "bca") 

Intervals : 
Level  BCa   
95% (-0.2894, 1.2979) 
Calculations and Intervals on Original Scale 
Some BCa intervals may be unstable 

Als Alternative können Sie L (die Einfluss Maßnahmen) selbst sorgen.

# proof of concept, use appropriate value for L! 
> dat.boot <- boot(dat, resamp.mean, 4) 
> boot.ci(dat.boot, type = "bca", L = 0.2) 
BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS 
Based on 4 bootstrap replicates 

CALL : 
boot.ci(boot.out = dat.boot, type = "bca", L = 0.2) 

Intervals : 
Level  BCa   
95% (0.1322, 1.2979) 
Calculations and Intervals on Original Scale 
Warning : BCa Intervals used Extreme Quantiles 
Some BCa intervals may be unstable 
+1

@coffeiseinjunky Danke! Ich fühle mich nicht lächerlich, dass ich so viel Zeit damit verbracht habe, den Code zu bewerten, wenn das Problem so prosaisch war! –

+0

Ich bin froh, dass ich helfen konnte. – coffeinjunky