parseCovFormula: Parse a Formula or Expression Describing a Composite...

Description Usage Arguments Details Value Caution Note Author(s) Examples

View source: R/CovFormulas.R

Description

Parse a formula (or expression) describing a composite covariance kernel.

Usage

1

Arguments

formula

A formula or expression describing a covariance kernel. See Examples.

where

An environment where kernel objects and top parameters are searched for.

trace

Integer level of verbosity.

Details

The formula involves existing covariance kernel objects and must define a valid kernel composition rule. For instance the sum and the product of kernels, the convex combination of kernels are classically used. The kernels objects are used in the formula with parentheses as is they where functions calls with no formal arguments e.g. obj( ). Non-kernel objects used in the formula must be numeric scalar parameters and are called top parameters. The covariance objects must exist in the environment defined by where because their slots will be used to identify the inputs and the parameters of the composite kernel defined by the formula.

Value

A list with the results of parsing. Although the results content is easy to understand, the function is not intended to be used by the final user, and the results may change in future versions.

Caution

Only relatively simple formulas are correctly parsed. So use only formulas having a structure similar to one of those given in the examples. In case of problems, error messages are likely to be difficult to understand.

Note

The parsing separates covariance objects from top parameters. It retrieves information about the kernel inputs and parameters from the slots. Obviously, any change in the covariances objects after the parsing (e.g. change in the parameters names or values) will not be reported in the results of the parsing, so kernel any needed customization must be done prior to the parsing.

Author(s)

Yves Deville

Examples

 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
## =========================================================================
## build some kernels (with their inputNames) in the global environment
## =========================================================================

myCovExp3 <- kMatern(d = 3, nu = "1/2")
inputNames(myCovExp3) <- c("x", "y", "z")

myCovGauss2 <- kGauss(d = 2)
inputNames(myCovGauss2) <- c("temp1", "temp2")

k <- kMatern(d = 1)
inputNames(k) <- "x"

ell <- kMatern(d = 1)
inputNames(ell) <- "y"

## =========================================================================
## Parse a formula. This formula is stupid because 'myCovGauss2'
## and 'myCovExp3' should be CORRELATION kernels and not
## covariance kernels to produce an identifiable model.
## =========================================================================

cov <- ~ tau2 * myCovGauss2() * myCovExp3() + sigma2 * k()
pf <- parseCovFormula(cov, trace = 1)

## =========================================================================
## Parse a formula with ANOVA composition
## =========================================================================

cov1 <- ~ tau2 * myCovGauss2() * myCovExp3() + sigma2 * (1 + k()) * (1 + ell())
pf1 <- parseCovFormula(cov1, trace = 1) 

kergp documentation built on March 18, 2021, 5:06 p.m.