Some code for
geostan::stan_car was cleaned up to avoid sending duplicate variables to the Stan model when a spatial ME (measurement error) model was used: https://github.com/ConnorDonegan/geostan/issues/17. This should not change any functionality or results.
This release was built using rstan 2.26.23, which incorporates Stan’s new syntax for declaring arrays. Some models seems to run a little bit faster, but otherwise there are no changes that users should notice.
The warnings issued about the sp package can be ignored; these are due to geostan’s dependence on spdep, which imports sp but does not use any of the deprecated functions.
A new vignette shows how to implement some of geostan’s spatial models directly in Stan, using the custom Stan functions that make the CAR and SAR models sample quickly, and using some geostan functions that make the data cleaning part easy.
The package now provides some support for spatial regression with raster data, including for layers with hundreds of thousands of observations (possibly more, depending on one’s computational resources). Two new additions make this possible.
slim = TRUE The model fitting functions (
stan_icar) now provide the option to trim down the parameters for which MCMC samples are collected. For large N and/or many N-length vectors of parameters, this option can speed up sampling considerably and reduce memory usage. The new
drop argument provides users control over which parameter vectors will be ignored. This functionality may be helpful for any number of purposes, including modeling large data sets, measurement error models, and Monte Carlo studies.
prep_car_data2 These two functions can quickly prepare required data for SAR and CAR models when using raster layers (observations on a regularly spaced grid). The standard and more generally applicable functions
prep_sar_data are limited in terms of the size of spatial weights matrices they can handle.
These new functions are dicussed in a new vignette titled “Raster regression.”
sp_diag) will now take a spatial connectivity matrix from the fitted model object provided by the user. This way the matrix will be the same one that was used to fit the model. (All of the model fitting functions have been updated to support this functionality.)
spatial, etc.) were previously packed into one page. Now, the documentation is spread over a few pages and the methods are grouped together in a more reasonable fashion.
The simultaneously-specified spatial autoregressive (SAR) model—referred to as the spatial error model (SEM) in the spatial econometrics literature—has been implemented. The SAR model can be applied directly to continuous data (as the likelihood function) or it can be used as prior model for spatially autocorrelated parameters. Details are provided on the documentation page for the
Previously, when getting fitted values from an auto-normal model (i.e., the CAR model with
family = auto_gaussian()) the fitted values did not include the implicit spatial trend. Now, the
fitted.geostan_fit method will return the fitted values with the implicit spatial trend; this is consistent with the behavior of
residuals.geostan_fit, which has an option to
detrend the residuals. This applies to the SAR and CAR auto-normal specifications. For details, see the documentation pages for
The documentation for the models (
stan_sar) now uses Latex to typeset the model equations.
bridge_sampler(geostan_fit$stanfit)). By default, geostan only collects MCMC samples for parameters that are expected to be of some interest for users. To become compatible with bridgesampling, the
keep_all argument was added to all of the model fitting functions. For important background and details see the bridgesampling package documentation and vignettes on CRAN.
lisa function would automatically center and scale the variate before computing local Moran’s I. Now, the variate will be centered and scaled by default but the user has the option to turn the scaling off (so the variate will be centered, but not divided by its standard deviation). This function also row-standardized the spatial weights matrix automatically, but there was no reason why. That’s not done anymore.
The distance-based CAR models that are prepared by the
prep_car_data function have changed slightly. The conditional variances were previously a function of the sum of neighboring inverse distances (in keeping with the specification of the connectivity matrix); this can lead to very skewed frequency distributions of the conditional variances. Now, the conditional variances are equal to the inverse of the number of neighboring sites. This is in keeping with the more common CAR model specifications.
geostan now supports Poisson models with censored count data, a common problem in public health research where small area disease and mortality counts are censored below a threshold value. Model for censored outcome data can now be implemented using the
censor_point argument found in all of the model fitting functions (stan_glm, stan_car, stan_esf, stan_icar).
The measurement error models have been updated in three important respects:
?prep_me_data for usage.
stan_car, ME models automatically employed the CAR model as a prior for the modeled covariates. That has changed, so that the default behavior for the ME models is the same across all
stan_* models (CAR, GLM, ESF, ICAR).
The second change listed above is particularly useful for variables that are highly skewed, such as the poverty rate. To determine whether a transformation should be considered, it can be helpful to evaluate results of the ME model (with the untransformed covariate) using the
me_diag function. The logit transform is done on the ‘latent’ (modeled) variable, not the raw covariate. This transformation cannot be applied to the raw data by the user because that would require the standard errors of covariate estimates (e.g., ACS standard errors) to be adjusted for the transformation.
predict method has been introduced for fitted geostan models; this is designed for calculating marginal effects. Fitted values of the model are still returned using
fitted and the posterior predictive distribution is still accessible via