fusion.dinla | R Documentation |

Fit a spatial fusion model using INLA based on the unifying framework proposed by Wang and Furrer (2021). One or more latent Gaussian process(es) is assumed to be associated with the spatial response variables.

## S3 method for class 'dinla' fusion(data, n.latent = 1, bans = 0, pp.offset, verbose = FALSE, alpha = 3/2, prior.range, prior.sigma, prior.args, mesh.locs, mesh.max.edge, mesh.args, inla.args, ...)

`data` |
an object of class |

`n.latent` |
integer. Number of latent processes to be modeled. |

`bans` |
either 0 or a matrix of 0s and 1s with dimension J times n.latent, where J is the total number of response variables. If |

`pp.offset` |
numeric, vector of numeric or matrix of numeric. Offset term for point pattern data. |

`verbose` |
logical. If TRUE, prints progress and debugging information |

`alpha` |
numeric between 0 and 2. Determines the covariance model, defined as |

`prior.range` |
vector of length 2, with (range0, Prange) specifying that P( |

`prior.sigma` |
vector of length 2, with (sigma0, Psigma) specifying that P( |

`prior.args` |
named list. Other prior arguments for |

`mesh.locs` |
matrix with two columns, or a |

`mesh.max.edge` |
vector of length one or two. The largest allowed triangle edge length for inner (and optional outer extension) mesh. |

`mesh.args` |
named list. Other mesh arguments passed to |

`inla.args` |
named list. Other inla arguments passed to |

`...` |
additional arguments not used |

The prior used for modeling the latent spatial processes is `inla.spde2.matern`

. Each spatial component is named as `sij`

, where `i`

denotes the ith latent process and `j`

denotes the jth variable. For example, `s12`

is the first latent process that is associated with the second variable. The first variable (with the following ordering: geostatistical, lattice, point pattern data) that a spatial component is associated with will have the original component, then the subsequent spatial components associated with other variables are treated as 'copies' of the original component modified by a coefficient `Beta`

, as one of the latent parameters.

The INLA approximation only works for Matern covariance function, which can be written as

*C(d) = σ^2/(2^{ν-1}Γ(ν)) * (d√{2ν}/ρ)^ν K_ν (d√{2ν}/ρ),*

where *d* is the Euclidean distance, *K_ν* is a modified Bessel function, *ρ* is the spatial range, *σ^2* is the partial sill and *ν* is the smoothness parameter. NOTE: the range parameter in INLA output is defined as “practical range” as *ρ√{8ν}*.

The returned value is a list consists of

`model` |
an object of class |

`mesh` |
an object of class |

`data` |
the data structure used to fit the model |

Craig Wang

Wang, C., Furrer, R. and for the SNC Study Group (2021). Combining heterogeneous spatial datasets with process-based spatial fusion models: A unifying framework, Computational Statistics & Data Analysis

`fusionData`

for preparing data, `fitted`

for extracting fitted values, `predict`

for prediction.

## example based on simulated data ## Not run: if (require("INLA", quietly = TRUE)) { dat <- fusionSimulate(n.point = 50, n.area = 20, n.grid = 4, psill = 1, phi = 1, nugget = 0, tau.sq = 0.5, point.beta = list(rbind(1,5)), area.beta = list(rbind(-1, 0.5)), distributions = c("normal","poisson"), design.mat = matrix(c(1,1,1))) geo_data <- data.frame(x = dat$mrf[dat$sample.ind, "x"], y = dat$mrf[dat$sample.ind, "y"], cov.point = dat$data$X_point[,2], outcome = dat$data$Y_point[[1]]) lattice_data <- sp::SpatialPolygonsDataFrame(dat$poly, data.frame(outcome = dat$data$Y_area[[1]], cov.area = dat$data$X_area[,2])) dat_inla <- fusionData(geo.data = geo_data, geo.formula = outcome ~ cov.point, lattice.data = lattice_data, lattice.formula = outcome ~ cov.area, pp.data = dat$data$lgcp.coords[[1]], distributions = c("normal","poisson"), method = "INLA") mod_inla <- fusion(data = dat_inla, n.latent = 1, bans = 0, prior.range = c(1, 0.5), prior.sigma = c(1, 0.5), mesh.locs = dat_inla$locs_point, mesh.max.edge = c(0.5, 1)) summary(mod_inla) } ## End(Not run)

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.