File: control.Rd

package info (click to toggle)
boot 1.3-32-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,220 kB
  • sloc: makefile: 2
file content (152 lines) | stat: -rw-r--r-- 5,951 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
\name{control}
\alias{control}
\title{
  Control Variate Calculations
}
\description{
  This function will find control variate estimates from a bootstrap
  output object.  It can either find the adjusted bias estimate using
  post-simulation balancing or it can estimate the bias, variance, third
  cumulant and quantiles, using the linear approximation as a control
  variate.
}
\usage{
control(boot.out, L = NULL, distn = NULL, index = 1, t0 = NULL,
        t = NULL, bias.adj = FALSE, alpha = NULL, \dots)
}
\arguments{
  \item{boot.out}{
    A bootstrap output object returned from \code{boot}.  The bootstrap
    replicates must have been generated using the usual nonparametric
    bootstrap.
  }
  \item{L}{
    The empirical influence values for the statistic of interest.  If
    \code{L} is not supplied then \code{empinf} is called to calculate
    them from \code{boot.out}.
  }
  \item{distn}{
    If present this must be the output from \code{smooth.spline} giving
    the distribution function of the linear approximation.  This is used
    only if \code{bias.adj} is \code{FALSE}.  Normally this would be
    found using a saddlepoint approximation. If it is not supplied in
    that case then it is calculated by \code{saddle.distn}.
  }
  \item{index}{
    The index of the variable of interest in the output of
    \code{boot.out$statistic}.
  }
  \item{t0}{
    The observed value of the statistic of interest on the original data
    set \code{boot.out$data}.  This argument is used only if
    \code{bias.adj} is \code{FALSE}. The input value is ignored if
    \code{t} is not also supplied.  The default value is is
    \code{boot.out$t0[index]}.
  }
  \item{t}{
    The bootstrap replicate values of the statistic of interest.  This
    argument is used only if \code{bias.adj} is \code{FALSE}.  The input
    is ignored if \code{t0} is not supplied also.  The default value is
    \code{boot.out$t[,index]}.
  }
  \item{bias.adj}{
    A logical variable which if \code{TRUE} specifies that the adjusted
    bias estimate using post-simulation balance is all that is required.
    If \code{bias.adj} is \code{FALSE} (default) then the linear
    approximation to the statistic is calculated and used as a control
    variate in estimates of the bias, variance and third cumulant as
    well as quantiles.
  }
  \item{alpha}{
    The alpha levels for the required quantiles if \code{bias.adj} is
    \code{FALSE}.
  }
  \item{\dots}{
    Any additional arguments that \code{boot.out$statistic} requires.
    These are passed unchanged every time \code{boot.out$statistic} is
    called.  \code{boot.out$statistic} is called once if \code{bias.adj}
    is \code{TRUE}, otherwise it may be called by \code{empinf} for
    empirical influence calculations if \code{L} is not supplied.
  }
}
\value{
  If \code{bias.adj} is \code{TRUE} then the returned value is the
  adjusted bias estimate.

  If \code{bias.adj} is \code{FALSE} then the returned value is a list
  with the following components
  
  \item{L}{
    The empirical influence values used.  These are the input values if
    supplied, and otherwise they are the values calculated by
    \code{empinf}.
  }
  \item{tL}{
    The linear approximations to the bootstrap replicates \code{t} of
    the statistic of interest.
  }
  \item{bias}{
    The control estimate of bias using the linear approximation to
    \code{t} as a control variate.
  }
  \item{var}{
    The control estimate of variance using the linear approximation to
    \code{t} as a control variate.
  }
  \item{k3}{
    The control estimate of the third cumulant using the linear
    approximation to \code{t} as a control variate.
  }
  \item{quantiles}{
    A matrix with two columns; the first column are the alpha levels
    used for the quantiles and the second column gives the corresponding
    control estimates of the quantiles using the linear approximation to
    \code{t} as a control variate.
  }
  \item{distn}{
    An output object from \code{smooth.spline} describing the
    saddlepoint approximation to the bootstrap distribution of the
    linear approximation to \code{t}.  If \code{distn} was supplied on
    input then this is the same as the input otherwise it is calculated
    by a call to \code{saddle.distn}.
  }
}
\details{
  If \code{bias.adj} is \code{FALSE} then the linear approximation to
  the statistic is found and evaluated at each bootstrap replicate.
  Then using the equation \emph{T* = Tl*+(T*-Tl*)}, moment estimates can
  be found.  For quantile estimation the distribution of the linear
  approximation to \code{t} is approximated very accurately by
  saddlepoint methods, this is then combined with the bootstrap
  replicates to approximate the bootstrap distribution of \code{t} and
  hence to estimate the bootstrap quantiles of \code{t}.
}
\references{
  Davison, A.C. and Hinkley, D.V. (1997) 
  \emph{Bootstrap Methods and Their Application}. Cambridge University Press.
  
  Davison, A.C., Hinkley, D.V. and Schechtman, E. (1986) Efficient bootstrap 
  simulation. \emph{Biometrika}, \bold{73}, 555--566.

  Efron, B. (1990) More efficient bootstrap computations.
  \emph{Journal of the American Statistical Association}, \bold{55}, 79--89.
}
\seealso{
\code{\link{boot}}, \code{\link{empinf}}, \code{\link{k3.linear}}, \code{\link{linear.approx}}, \code{\link{saddle.distn}}, \code{\link{smooth.spline}}, \code{\link{var.linear}}
}
\examples{
# Use of control variates for the variance of the air-conditioning data
mean.fun <- function(d, i)
{    m <- mean(d$hours[i])
     n <- nrow(d)
     v <- (n-1)*var(d$hours[i])/n^2
     c(m, v)
}
air.boot <- boot(aircondit, mean.fun, R = 999)
control(air.boot, index = 2, bias.adj = TRUE)
air.cont <- control(air.boot, index = 2)
# Now let us try the variance on the log scale.
air.cont1 <- control(air.boot, t0 = log(air.boot$t0[2]),
                     t = log(air.boot$t[, 2]))
}
\keyword{nonparametric}