alpha parameter in inla.spde.create

560 views
Skip to first unread message

Lennon

unread,
Mar 18, 2013, 10:13:25 AM3/18/13
to r-inla-disc...@googlegroups.com
     ‘model="matern"’

              (kappa^2(u)-Delta)^(alpha/2) (tau(u) x(u)) = W(u)         
     
     ‘param’:

        • ‘alpha’ = 1 or 2



and alpha = nu -d/2.

My question is what does alpha mean? In 2d space, alpha = nu-1, if I specify alpha = 1 then it is modelling matern nu=0?  and how do we model matern with roughness 2?

Thanks

Finn Lindgren

unread,
Mar 18, 2013, 10:21:34 AM3/18/13
to Lennon, r-inla-disc...@googlegroups.com
On 18 March 2013 14:13, Lennon <lenno...@gmail.com> wrote:
> My question is what does alpha mean? In 2d space, alpha = nu-1, if I specify
> alpha = 1 then it is modelling matern nu=0?

alpha is the, possibly fractional, order of the differential operator
in the SPDE.
For Matérn models, the corresponding smoothness parameter nu is
alpha-dimension/2.
As you write, dim=2, alpha=1 gives nu=0, which isn't strictly a valid
Matérn model, since it gives a generalised covariance function. In
that case, the SPDE generates a process which only has meaning as a
random measure, and cannot strictly be interpreted in individual
locations. The discretised version is however still interpretable
with great care; for a regular lattice it gives a first order
conditional autoregression model, which has been quite popular as a
simple smoothing model.

> and how do we model matern with
> roughness 2?

For dim=2, that corresponds to alpha=3. The SPDE/GMRF JRSSB Lindgren
et al 2011 paper (see "papers" on r-inla.org) details what the
precision matrix for that case is, but it is not currently available
as a model in r-inla.

However, if your model lives on a regular lattice however, the
"matern2d" model should allow you to construct such a model.

Finn

Finn Lindgren

unread,
Mar 18, 2013, 10:51:22 AM3/18/13
to r-inla-disc...@googlegroups.com
On 18/03/13 14:13, Lennon wrote:
> �model="matern"�
>
> (kappa^2(u)-Delta)^(alpha/2) (tau(u) x(u)) = W(u)
> �param�:
>
> � �alpha� = 1 or 2

Additional comment:
Please note that the above documentation is for inla.spde.create(). All
current development is done for the newer alternative
inla.spde2.matern(), which uses a slightly different parameterisation
(theta1=log(tau) and theta=log(kappa)), and supports approximation of
all alpha between 0 and 2.

Values below 1 should be treated with extreme care due to the
generalised nature of such fields, but alpha=1.5 will give an
approximation to an exponential covariance model. Also note that only
alpha=2 has received extensive testing at this point in time.

Finn

Lennon

unread,
Mar 18, 2013, 3:30:07 PM3/18/13
to r-inla-disc...@googlegroups.com
Thanks!!

James Thorson

unread,
Nov 4, 2015, 12:14:15 PM11/4/15
to R-inla discussion group
Hi all,

I'd love to follow up on this thread.  Colleagues and I have implemented the Lindgren et al. (2011) SPDE approximation in Template Model Builder (TMB: https://cran.r-project.org/web/packages/TMB/index.html), as described elsewhere (e.g., http://icesjms.oxfordjournals.org/content/early/2015/01/13/icesjms.fsu243.abstract).  In this implementation, we use an irregular mesh, and I have compared the results for alpha=1 or alpha=2 (using the latter by default). Alpha=1 appears to give similar results to Alpha=2, while being (approximately) twice as fast (as makes sense given that it is more separable).

I see above:
The discretised version is however still interpretable 
with great care; for a regular lattice it gives a first order 
conditional autoregression model, which has been quite popular as a 
simple smoothing model.
What is meant by "with great care"?  Does this advice imply that, if you're using an irregular 2D lattice, alpha=1 is *not* identical to an CAR model -- or alternatively, that a CAR is not defined for a 2D irregular lattice?

Obviously a two-fold speedup is significant in some applications, so I'd like to understand whether the alpha=1 (nu=0) case for a 2D irregular lattice is worth pursuing.

cheers,
jim

Finn Lindgren

unread,
Nov 4, 2015, 12:45:30 PM11/4/15
to James Thorson, R-inla discussion group
Alpha=1 is a CAR(1), and alpha=2 is a CAR(2).

In 1d, the continuous limits have smoothness 0.5 and 1.5, respectively; alpha=1 corresponds to a discretised ornstein-uhlenbeck process.

In 2d, the alpha=1 case does not have a _pointwise_ limit, since the smoothness is 0. The limit is only defined with respect to integrals over subregions (hence the "with care"; you  need to consider which integrals your discretised model corresponds to). See papers by Besag and Mondal&Besag for details (references are in the 2011 Lindgren et al paper on the precise connection between GMRfs and SPDEs and Matérn models)
Alpha=2 on the other hand gives smoothness 1, so the continuous limit is well-behaved.

If only point estimates are desired, one does not always see a big difference, especially if regular lattices are used. The differences however are very important for posterior uncertainties, and in particular when irregular meshes are used.

If there is lots of data so that it dominates the prior, then the model doesn't matter so much.

Finn
--
You received this message because you are subscribed to the Google Groups "R-inla discussion group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to r-inla-discussion...@googlegroups.com.
To post to this group, send email to r-inla-disc...@googlegroups.com.
Visit this group at http://groups.google.com/group/r-inla-discussion-group.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages