betahat.fun.koh {calibrator} | R Documentation |
Expectation of beta, given theta, phi and d
Description
Determines the mean of \beta
, given parameters \theta
,
hyperparameters \phi
, and the vector of code outputs and observations
d
. It is named so as to avoid conflict with
function betahat.fun
of package emulator.
Usage
betahat.fun.koh(D1, D2, H1, H2, theta, d, phi)
betahat.fun.koh.vector(D1, D2, H1, H2, theta, d, phi)
Arguments
D1 |
Matrix whose rows are observation points and parameter values at which the code has been run |
D2 |
Matrix whose rows are the observation points |
H1 |
Regression function for D1 |
H2 |
Regression function for D2 |
theta |
Parameters |
d |
Vector of code outputs and observations |
phi |
Hyperparameters |
Details
This function is defined between equations 2 and 3 of the
supplement. It is used in functions Ez.eqn9.supp()
and
p.eqn8.supp()
.
The user should always use betahat.fun.koh()
, which is a
wrapper for betahat.fun.koh.vector()
. The forms differ in
their treatment of \theta
. In the former,
\theta
must be a vector; in the latter,
\theta
may be a matrix, in which case
betahat.fun.koh.vector()
is applied to the rows.
In betahat.fun.koh()
, the rownames are assigned by a kludgy
call to H.fun()
, which itself uses a kludge to determine
colnames.
The function returns
\hat{\mathbf\beta} (\theta)=
{\mathbf W}(\theta)^T {\mathbf H}(\theta)^T {\mathbf
V}_d(\theta)^{-1}{\mathbf d}.
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)
Examples
data(toys)
betahat.fun.koh(theta=theta.toy, d=d.toy, D1=D1.toy, D2=D2.toy,
H1=H1.toy, H2=H2.toy, phi=phi.toy)
betahat.fun.koh.vector(theta=theta.toy, d=d.toy, D1=D1.toy,
D2=D2.toy, H1=H1.toy, H2=H2.toy, phi=phi.toy)
## should be identical
jj.theta <- rbind(theta.toy,theta.toy+1,theta.toy+2,theta.toy*0)
betahat.fun.koh(theta=jj.theta, d=d.toy, D1=D1.toy, D2=D2.toy,
H1=H1.toy, H2=H2.toy, phi=phi.toy)
## Now try with true hyperparameters:
phi.true <- phi.true.toy(phi=phi.toy)
## And magically create the REAL parameters:
theta.REAL <- create.new.toy.datasets(export=TRUE)$REAL.PARAMS
jj.theta <- rbind(jj.theta, theta.REAL)
## Generate some data:
jj <- create.new.toy.datasets(D1.toy , D2.toy)
d.toy <- jj$d.toy
## And finally, observe that the estimated values for beta are pretty
## close to the real values (which omniscient beings can extract using
## reality() and computer.model()):
betahat.fun.koh(theta=jj.theta, d=d.toy, D1=D1.toy, D2=D2.toy,
H1=H1.toy, H2=H2.toy, phi=phi.true)
## [
## that is, compare the last column of the above with
## c(computer.model(ex=T)$REAL.COEFFS, reality(ex=T)$REAL.BETA2)
## ]