corr_complex | R Documentation |
Various utilities for investigating complex Gaussian processes
corr_complex(z1, z2 = NULL, distance.function = complex_CF, means =
NULL, scales = NULL, pos.def.matrix = NULL)
complex_CF(z1,z2, means, pos.def.matrix)
scales.likelihood.complex(pos.def.matrix, scales, means, zold, z,
give_log = TRUE, func = regressor.basis)
interpolant.quick.complex(x, d, zold, Ainv, scales = NULL, pos.def.matrix = NULL,
means=NULL, func = regressor.basis, give.Z = FALSE,
distance.function = corr_complex, ...)
z , z1 , z2 |
Points in |
distance.function |
Function giving the (complex) covariance
between two points in |
means , pos.def.matrix , scales |
In function |
zold , d , give_log , func , x , Ainv , give.Z , ... |
Direct analogues of the
arguments in |
Function complex_CF()
returns a (slightly reparameterized)
characteristic function of a complex Gaussian distribution. The
covariance is given by
c(\mathbf{t}) = \exp(i\mathrm{Re}(\mathbf{t}^\ast\mathbf{\mu}) -
\mathbf{t}^\ast B\mathbf{t})
where \mathbf{t}=\mathbf{x}-\mathbf{x}'
is interpreted as
the distance between two observations, \mathbf{\mu}
is the
mean of the distribution (which is in general a complex vector), and
B
a positive-definite matrix.
Function corr_complex()
is the complex analogue of
corr.matrix()
. It returns a matrix with entry (i,j)
equal to the covariance of the process at observation i
and
observation j
, or
\mbox{cov}(\eta(\mathbf{x}_i),\eta(\mathbf{x}_j))
.
The elements are calculated by complex_CF()
.
This function includes only a single method, that of nested calls to
apply()
. I could not figure out how to generalize method 1 of
corr.matrix()
to the complex case.
Function scales.likelihood.complex()
is a complex version
of scales.likelihood()
which takes a positive definite matrix
and a mean. The formula used is
(\sigma^2)^{-(n-q)}|A|^{-1}
|H^\ast A^{-1}H|^{-1}
. Here and elsewhere,
A^\ast
means the complex conjugate of the transpose.
Function interpolant.quick.complex()
is a complex version
of interpolant.quick()
.
\mathbf{h}(\mathbf{x})^\ast\hat{\mathbf{\beta}} +
\mathbf{t}(\mathbf{x})^\ast
A^{-1}(\mathbf{y}-H\hat{\mathbf{\beta}})
This is the complex version of Oakley's equation 2.30 or Hankin's equation 5.
More details are given in the package vignette.
Robin K. S. Hankin
Hankin, R. K. S. 2005. “Introducing BACCO, an R bundle for Bayesian Analysis of Computer Code Output”, Journal of Statistical Software, 14(15)
J. Oakley 1999. Bayesian uncertainty analysis for complex computer codes, PhD thesis, University of Sheffield.
complex_CF(c(1,1i),c(1,-1i),means=c(1i,1i),pos.def.matrix=diag(2))
V <- latin.hypercube(7,2,complex=TRUE)
cm <- c(1,1+1i) # "complex mean"
cs <- matrix(c(2,1i,-1i,1),2,2) # "complex scales"
tb <- c(1,1i,1-1i) # "true beta"
A <- corr_complex(V,means=cm,pos.def.matrix=cs)
Ainv <- solve(A)
z <- drop(rcmvnorm(n=1,mean=regressor.multi(V) %*% tb, sigma=A))
betahat.fun(V,Ainv,z) # should be close to 'tb'
#scales.likelihood.complex(cs,cm,V,z) # log-likelihood evaluated true parameters
interpolant.quick.complex(x=0.1i+V[1:3,],d=z,zold=V,Ainv=Ainv,pos.def.matrix=cs,means=cm)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.