notExp2 {mgcv} | R Documentation |

`notLog2`

and `notExp2`

are alternatives to `log`

and `exp`

or `notLog`

and `notExp`

for
re-parameterization of variance parameters. They are used by the
`pdTens`

and `pdIdnot`

classes which in turn implement
smooths for `gamm`

.

The functions are typically used to ensure that smoothing parameters are
positive, but the `notExp2`

is not monotonic: rather it cycles between
`effective zero' and `effective infinity' as its argument changes. The
`notLog2`

is the inverse function of the `notExp2`

only over an
interval centered on zero.

Parameterizations using these functions ensure that estimated smoothing
parameters remain positive, but also help to ensure that the likelihood is
never indefinite: once a working parameter pushes a smoothing parameter below
`effetive zero' or above `effective infinity' the cyclic nature of the
`notExp2`

causes the likelihood to decrease, where otherwise it might
simply have flattened.

This parameterization is really just a numerical trick, in order to get
`lme`

to fit `gamm`

models, without failing due to indefiniteness.
Note in particular that asymptoticresults on the likelihood/REML criterion are
not invalidated by the trick,
unless parameter estimates end up close to the effective zero or effective
infinity: but if this is the case then the asymptotics would also have been invalid
for a conventional monotonic parameterization.

This reparameterization was made necessary by some modifications to the
underlying optimization method in `lme`

introduced in nlme 3.1-62. It is
possible that future releases will return to the `notExp`

parameterization.

Note that you can reset `effective zero' and `effective infinity': see below.

notExp2(x,d=.Options$mgcv.vc.logrange,b=1/d) notLog2(x,d=.Options$mgcv.vc.logrange,b=1/d)

`x` |
Argument array of real numbers (`notExp` ) or positive real numbers (`notLog` ). |

`d` |
the range of `notExp2` runs from `exp(-d)` to
`exp(d)` . To change the range used by `gamm` reset
`mgcv.vc.logrange` using `options` . |

`b` |
determines the period of the cycle of `notExp2` . |

An array of function values evaluated at the supplied argument values.

Simon N. Wood simon.wood@r-project.org

http://www.maths.bath.ac.uk/~sw283/

## Illustrate the notExp2 function: x <- seq(-50,50,length=1000) op <- par(mfrow=c(2,2)) plot(x,notExp2(x),type="l") lines(x,exp(x),col=2) plot(x,log(notExp2(x)),type="l") lines(x,log(exp(x)),col=2) # redundancy intended x <- x/4 plot(x,notExp2(x),type="l") lines(x,exp(x),col=2) plot(x,log(notExp2(x)),type="l") lines(x,log(exp(x)),col=2) # redundancy intended par(op)

[Package *mgcv* version 1.3-23 Index]