| E.theta.toy {calibrator} | R Documentation |
Expectation and variance with respect to theta
Description
Function
E.theta.toy returns expectation of H_1(D) with respect to
\theta; Edash.theta.toy returns expectation with
respect to E'. Function E.theta.toy also returns
information about nonlinear behaviour of h1(x,theta).
Usage
E.theta.toy(D2=NULL, H1=NULL, x1=NULL, x2=NULL, phi, give.mean=TRUE)
Edash.theta.toy(x, t.vec, k, H1, fast.but.opaque=FALSE, a=NULL, b=NULL,
phi=NULL)
Arguments
D2 |
Observation points |
H1 |
Regression function for D1 |
phi |
hyperparameters. Default value of |
x |
lat/long point (for |
t.vec |
Matrix whose rows are parameter values (for |
k |
Integer specifying column (for |
give.mean |
In |
fast.but.opaque |
In |
a |
Constant term, needed if |
b |
Linear term, needed if |
x1 |
In |
x2 |
In |
Note
A terse discussion follows; see the calex.pdf vignette and the
1D case study in directory inst/doc/one/dim/ for more details
and examples.
Function E.theta.toy(give.mean=FALSE,...) does not
return the variance! The matrix returned is a different size
from the variance matrix!
It returns the thing that must be added to
crossprod(E_theta(h1(x,theta)),t(E_theta(h1(x,theta)))) to give
E_theta(h1(x,theta).t(h1(x,theta))).
In other words, it returns
E_theta(h1(x,theta).t(h1(x,theta)))-
crossprod(E_theta(h1(x,theta)),t(E_theta(h1(x,theta)))).
If the terms of
h1() are of the form c(o,theta) (where o is a
vector that is a function of x alone, and independent of
theta), then the function will include the variance matrix, in
the lower right corner (zeroes elsewhere).
Function E.theta() must be updated if h1.toy()
changes: unlike E.theta() and Edash.theta(), it does not
“know” where the elements that vary with theta are, nor
their (possibly x-dependent) coefficients.
This form of the function requires x1 and x2 arguments,
for good form's sake, even though the returned value is independent of
x in the toy example. To see why it is
necessary to include x, consider a simple case with
h_1(x,\theta)=(1,x\theta)^T. Now
E_\theta\left(h(x,\theta)\right) is just
(1,x\overline{\theta})^T but
E_\theta\left(h_1(x,\theta)h_1(x,\theta)^T\right)
is a 2-by-2 matrix (M, say) with
E_\theta(M)=h_1(x,\overline{\theta})h_1(x,\overline{\theta})^T +
\mbox{variance terms}.
E_\theta\left(
\begin{array}{cc}
1 & x\theta\\
x\theta & x^2\theta^2
\end{array}\right)
All three functions here are intimately connected to the form of
h1.toy() and changing it (or indeed H1.toy()) will
usually require rewriting all three functions documented here. Look
at the definition of E.theta.toy(give=F), and you will see that
even changing the meat of h1.toy() from c(1,x) to
c(x,1) would require a redefinition of E.theta.toy(g=F).
The only place that E.theta.toy(g=F) is used is internally in
hh.fun().
Author(s)
Robin K. S. Hankin
References
-
M. C. Kennedy and A. O'Hagan 2001. Bayesian calibration of computer models. Journal of the Royal Statistical Society B, 63(3) pp425-464
-
M. C. Kennedy and A. O'Hagan 2001. Supplementary details on Bayesian calibration of computer models, Internal report, University of Sheffield. Available at http://www.tonyohagan.co.uk/academic/ps/calsup.ps
-
R. K. S. Hankin 2005. Introducing BACCO, an R bundle for Bayesian analysis of computer code output, Journal of Statistical Software, 14(16)
See Also
Examples
data(toys)
E.theta.toy(D2=D2.toy, H1=H1.toy,phi=phi.toy)
E.theta.toy(D2=D2.toy[1,], H1=H1.toy,phi=phi.toy)
E.theta.toy(D2=x.toy, H1=H1.toy,phi=phi.toy)
Edash.theta.toy(x=x.toy,t.vec=t.vec.toy,k=1, H1=H1.toy,phi=phi.toy)