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)
## ]



[Package calibrator version 1.2-8 Index]