Seconding everything Michael and Herra said. Since it can be tricky to
get even simple versions of what you describe working, I'd start as
simple as possible--no spatial model--and build from there. (Maybe
you've already done this?) Certainly email the list with code if you
get stuck.
I have to say that the existence of multi_gp is news to me; are there
examples somewhere of it being used? (It's weird to me that the mean
is fixed at 0...)
The model you're describing is interesting--do I understand correctly
that you have a linear model prevalence = intercept + b1 * age + b2 *
treatment and you want intercept, b1, and b2 to be spatially varying?
I was going to suggest above that you stick with a Gaussian
observation model if possible as that seems to help a lot with speed,
but now I'm not actual clear on what your observation model is, since
the GP is a prior on the coefficients, right? So are you using a
Binomial distribution for the prevalence?
An alternative you might consider if there are non-linearities in the
relationship between age and prevalence is that a GP would also be
appropriate there as well, and you could even do everything in one
model:
f(age, location, treatment) ~ GP(0, K_location * (1 + K_age + K_treatment))
Or more interpretable:
f(age, location, treatment) ~ GP(b0 + b1 * age + b2 * treatment,
K_location * (1 + K_age + K_treatment))
In this model f(.) is the log-prevalence. As noted above a Gaussian
observation model helps a lot with speed, so if you can accept the
approximation, I've had success using a "pseudo-likelihood" approach
with case counts k_i out of a population n_i with \hat p_i =
(k_i+1)/(n_i+2):
k_i/n_i ~ GP(invlogit(b0 + b1 * age_i), K_age + diag(\hat p_i (1-\hat
p_i) / n_i))
Seth
> quite simple: say we have inputs X and Y, then we would jointly model them
> with a single GP, ie.
>
> (X,Y) ~ GP(0, K), where covariance function
>
> K = [b11 * K_x, b12 * K_y,
> b21 * K_x, b22 * K_y]
>
> and B = [b11, b12; b21, b22] is positive definite matrix capturing
> correlations between X and Y. For example, if B is the identity matrix, then
> they are independent etc. Unfortunately, the computational burden is quite
> large, this doesn't really scale up nicely. How many health centers there is
> in the dataset?
>