Specifyinig priors for inla.spde2.matern parameters

308 views
Skip to first unread message

Mark R Payne

unread,
Apr 7, 2016, 9:02:38 AM4/7/16
to R-inla discussion group
Dear INLArs,

I am fitting a family of space-time models (one per year, for ten years) using inla.spde2.matern for the spatial component. The majority of the models behave well and seem to converge to similar values for the range and variance of the field. However, there are a couple of instances where the model misbehaves badly, and ends up in an extremely different configuration - essentially the spatial term ends up being extremely smooth, and the variability in the observations gets dumped into the observation error instead.

I would like to solve this problem by specifying a (relatively tight) prior that eliminates these undesirable solutions. In particular, I am looking at the parameters in inla.spde2.matern called "prior.variance.nominal" and "prior.range.nominal". However, as far as I see it, these arguments only set the mean of the priors on these parameters - how do I set the precision as well?

Best wishes,

Mark

Finn Lindgren

unread,
Apr 7, 2016, 9:15:34 AM4/7/16
to Mark R Payne, R-inla discussion group
Use theta.prior.prec to specify the prior precisions. These are the precisions in the log-scale for the thetas. The interpretation depends on which parameterisation you use (via B.tau and B.kappa).  From your problem description it sounds like something like
theta.prior.prec=c(0.1, 1)
might help to suppress large range estimates. Unless you have replications of the model, this is often needed to disambiguate between spatial covariance and expectation.

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 https://groups.google.com/group/r-inla-discussion-group.
For more options, visit https://groups.google.com/d/optout.

Mark R. Payne

unread,
Apr 8, 2016, 3:57:14 AM4/8/16
to Finn Lindgren, Mark R Payne, R-inla discussion group
Thanks Finn - that seems to be doing the trick...

A minor question of clarification: can theta.prior.prec be used together
with prior.variance.nominal and prior.range.nominal?

Best wishes,

Mark

On 07/04/16 15:15, Finn Lindgren wrote:
> Use theta.prior.prec to specify the prior precisions. These are the
> precisions in the log-scale for the thetas. The interpretation depends
> on which parameterisation you use (via B.tau and B.kappa). From your
> problem description it sounds like something like
> theta.prior.prec=c(0.1, 1)
> might help to suppress large range estimates. Unless you have
> replications of the model, this is often needed to disambiguate between
> spatial covariance and expectation.
>
> Finn
>
> On 7 Apr 2016, at 14:02, Mark R Payne <markpay...@gmail.com
> <mailto:markpay...@gmail.com>> wrote:
>
>> Dear INLArs,
>>
>> I am fitting a family of space-time models (one per year, for ten
>> years) using inla.spde2.matern for the spatial component. The majority
>> of the models behave well and seem to converge to similar values for
>> the range and variance of the field. However, there are a couple of
>> instances where the model misbehaves badly, and ends up in an
>> extremely different configuration - essentially the spatial term ends
>> up being extremely smooth, and the variability in the observations
>> gets dumped into the observation error instead.
>>
>> I would like to solve this problem by specifying a (relatively tight)
>> prior that eliminates these undesirable solutions. In particular, I am
>> looking at the parameters in inla.spde2.matern called
>> "prior.variance.nominal" and "prior.range.nominal". However, as far as
>> I see it, these arguments only set the mean of the priors on these
>> parameters - how do I set the precision as well?
>>
>> Best wishes,
>>
>> Mark
>>
>> --
>> 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
>> <mailto:r-inla-discussion...@googlegroups.com>.
>> To post to this group, send email to
>> r-inla-disc...@googlegroups.com
>> <mailto:r-inla-disc...@googlegroups.com>.

Finn Lindgren

unread,
Apr 8, 2016, 4:28:35 AM4/8/16
to Mark R. Payne, Mark R Payne, R-inla discussion group

> On 8 Apr 2016, at 08:57, Mark R. Payne <mp...@aqua.dtu.dk> wrote:
> A minor question of clarification: can theta.prior.prec be used together with prior.variance.nominal and prior.range.nominal?

Yes.

The paper
https://www.jstatsoft.org/article/view/v063i19
has more to say on the parameterisation as well as an alternative method for specifying the priors.

Finn

INLA help

unread,
Apr 8, 2016, 4:45:21 AM4/8/16
to Finn Lindgren, Mark R. Payne, Mark R Payne, R-inla discussion group
On Fri, 2016-04-08 at 09:28 +0100, Finn Lindgren wrote:
> >
> > On 8 Apr 2016, at 08:57, Mark R. Payne <mp...@aqua.dtu.dk> wrote:
> > A minor question of clarification: can theta.prior.prec be used
> > together with prior.variance.nominal and prior.range.nominal?
> Yes.
>
> The paper
> https://www.jstatsoft.org/article/view/v063i19
> has more to say on the parameterisation as well as an alternative
> method for specifying the priors.


and

http://arxiv.org/abs/1503.00256
--
Håvard Rue
he...@r-inla.org


Reply all
Reply to author
Forward
0 new messages