sbconf {scaleboot} | R Documentation |
A confidence interval for a scalar parameter is obtained by inverting the approximately unbiased p-value. This function is very slow, and it is currently experimental.
sbconf(x, ...) ## Default S3 method: sbconf(x,sa, probs=c(0.05,0.95), model="poly.2", k=2,s=1,sp=-1, cluster=NULL,...) ## S3 method for class 'sbconf': sbconf(x, probs=x$probs,model=x$model, k=x$k,s=x$s,sp=x$sp, nofit=FALSE, ...) ## S3 method for class 'sbconf': plot(x,model=x$model,k=x$k,s=x$s,sp=x$sp, models = attr(x$fits,"models"), log.xy = "", xlab="test statistic",ylab=NULL, type.plot = c("p","l","b"), yval=c("aic","zvalue","pvalue"), sd=2,add=FALSE, col=1:6, pch=NULL,lty=1:5,lwd=par("lwd"), mk.col=col[1], mk.lwd=lwd[1], mk.lty=lty[1], ...)
x |
an object used to select a method. For sbconf.default ,
x is a list vector of size length{sa}
with each element being a vector of bootstrap replicates of a
statistic or a list vector of a scalar component. |
... |
further arguments passed to or from other methods. |
sa |
vector of scales in sigma squared (σ^2). |
probs |
a vector of probabilities at which p-values are inverted. |
model |
a character to specify a model for an AU p-value. This
should be included in sboptions("models") , for which
model fitting is made internally. |
k |
a numeric to specify an order of AU p-value. |
s |
σ_0^2 |
sp |
σ_p^2 |
cluster |
snow cluster object which may be generated by
function makeCluster . |
nofit |
logical. No further calls to sbfit are made. |
models |
AIC values are plotted for these models. |
log.xy |
character string to be passed to plot.default . |
xlab |
a label for the x axis. |
ylab |
a label for the y axis. |
type.plot |
a character to be passed to plot.default . |
yval |
determines y-axis. "aic" for AIC values of models, "zvalue" for AU corrected z-values, and "pvalue" for AU corrected p-values. |
sd |
If positive, draws curves +-sd*standard error for z-values and p-values. |
add |
logical. Should not the frame be drawn? |
col |
vector of colors of plots. |
pch |
vector of pch's of plots. |
lty |
vector of lty's of plots. |
lwd |
numeric of lwd of plots. |
mk.col |
color for crosses drawn at probs . |
mk.lwd |
lwd for crosses drawn at probs . |
mk.lty |
lty for crosses drawn at probs . |
Let x[[i]]
be a vector of bootstrap replicates for a statistic
with scale sa[i]
. For a threshold value y
, the bootstrap
probability is
bp[i]=sum(x[[i]]<y)/length(x[[i]])
. sbconf
computes
bp
for several y
values, and finds a value y
at
which the AU p-value, given by sbfit
, equals a probability value
specified in probs
. In this manner, AU p-values are inverted to obtain
bootstrap confidence intervals.
See the examples below for details.
sbconf
method returns an object of class "sbconf"
.
The print
method for an object of class "sbconf"
prints
the confidence intervals.
Hidetoshi Shimodaira
## Not run: ## An example to calculate confidence intervals ## The test statistic is that for "t4" in data(mam15) ## In the following, we used 40 cpu's. ## library(snow) library(scaleboot) cl <- makeCluster(40) data(mam15) ## Definition of a test statistic of interest. ## "myfun" returns the maximum difference of log-likelihood value ## for a tree named a. myfun <- function(x,w,a) maxdif(wsumrow(x,w))[[a]] maxdif <- function(x) { i1 <- which.max(x) # the largest element x <- -x + x[i1] x[i1] <- -min(x[-i1]) # the second largest value x } wsumrow <- function(x,w) { apply(w*x,2,sum)*nrow(x)/sum(w) } clusterExport(cl,c("maxdif","wsumrow")) ## multiscale bootstrap parameters nb <- 10000 sa <- 10^seq(-2,2,length=13) ## Compute multiscale bootstrap replicates ## (It took 80 secs using 40 cpu's) sim <- scaleboot(mam15.mt,nb,sa,myfun,"t4",count=FALSE, cluster=cl,onlyboot=TRUE, names.hp=na,nofit=nofit,models=models) ## Modify option "probs0" to a fine grid with 400 points ## default: 0.001 0.010 0.100 0.900 0.990 0.999 ## NOTE: This modification is useful only when cl != NULL, ## in which case calls to sbfit for the grid points ## are made in parallel, although iterations seen later ## are made sequentially. sboptions("probs0",pnorm(seq(qnorm(0.001),qnorm(0.999),length=400))) ## Calculate bootstrap confidence intervals using "k.1" p-value. ## (It took 70 secs using 40 cpu's) ## First, sbfit is applied to bp's determined by option "probs0" ## Then, additional fitting is made only twice for iteration. ## p[1]=0.05 iter=1 t=4.342723 e=0.0003473446 r=0.0301812 ## p[2]=0.95 iter=1 t=42.76558 e=0.002572495 r=0.1896809 conf1 <- sbconf(sim$stat,sim$sa,model="sing.3",k=1,cluster=cl) ## The confidence interval with "k.1" is printed as ## 0.05 0.95 ## 4.342723 42.765582 conf1 ## Calculate bootstrap confidence intervals ## using "k.2" and "k.3" p-values. ## (It took only 10 secs) ## p[1]=0.05 iter=1 t=-2.974480 e=0.003729190 r=0.04725755 ## p[2]=0.95 iter=1 t=39.51767 e=0.001030929 r=0.06141937 ## 0.05 0.95 ## -2.974480 39.517671 conf2 <- sbconf(conf1,model="sing.3",k=2) conf2 ## p[1]=0.05 iter=1 t=-3.810157 e=0.01068678 r=0.08793868 ## p[2]=0.95 iter=1 t=39.32669 e=0.001711107 r=0.09464663 ## 0.05 0.95 ## -3.810157 39.326686 conf3 <- sbconf(conf2,model="sing.3",k=3) conf3 ## plot diagnostics plot(conf3) # AIC values for models v.s. test statistic value plot(conf3,yval="zval",type="l") # corrected "k.3" z-value stopCluster(cl) ## End(Not run)