
Prediction over the same or a different set of regions (or points).
Source:R/pred_spm.R
predict_spm.RdRealizes predictions that can be useful when researchers are interested in predict a variable observed in one political division of a city (or state) on another division of the same region.
Usage
predict_spm(x, ...)
# S3 method for class 'spm_fit'
predict_spm(x, .aggregate = TRUE, ...)
# S3 method for class 'sf'
predict_spm(x, spm_obj, n_pts, type, outer_poly = NULL, id_var, ...)Arguments
- x
a
sfobject such that its geometries are either points or polygons.- ...
additional parameters
- .aggregate
logical. Should the predictions be aggregated? In case the input is only a "fit" object, the aggregation is made over the polygons on which the original data was observed. In case the inputxis composed bysf POLYGONS, the aggregation is made over this new partition of the study region.- spm_obj
an object of either class
spm_fitormspm_fit- n_pts
a
numericscalar standing for number of points to form a grid over the whole region to make the predictions- type
charactertype of grid to be generated. Seest_samplein the packagesf.- outer_poly
(object)
sf geometrystoring the "outer map" we want to compute the predictions in.- id_var
if
xis a set ofPOLYGONS(areal data) instead of a set of points, theid_varis the name (or index) of the unique identifier associated to each polygon.
Value
a list of size 4 belonging to the class spm_pred. This
list contains the predicted values and the mean and covariance matrix
associated with the conditional distribution used to compute the
predictions.
Examples
data(liv_lsoa) ## loading the LSOA data
data(liv_msoa) ## loading the MSOA data
msoa_spm <- sf_to_spm(sf_obj = liv_msoa, n_pts = 500,
type = "regular", by_polygon = FALSE,
poly_ids = "msoa11cd",
var_ids = "leb_est")
## fitting model
theta_st_msoa <- c("phi" = 1) # initial value for the range parameter
fit_msoa <-
fit_spm(x = msoa_spm,
theta_st = theta_st_msoa,
model = "matern",
nu = .5,
apply_exp = TRUE,
opt_method = "L-BFGS-B",
control = list(maxit = 500))
pred_lsoa <- predict_spm(x = liv_lsoa, spm_obj = fit_msoa, id_var = "lsoa11cd")
#> Warning: st_centroid assumes attributes are constant over geometries