IDE: Construct IDE object, fit and predict

View source: R/IDEfunctions.R

IDER Documentation

Construct IDE object, fit and predict

Description

The integro-difference equation (IDE) model is constructed using the function IDE, fitted using the function IDE.fit and used for prediction using the function predict.

Usage

IDE(
  f,
  data,
  dt,
  process_basis = NULL,
  kernel_basis = NULL,
  grid_size = 41,
  forecast = 0,
  hindcast = 0
)

fit.IDE(object, method = "DEoptim", fix = list(), ...)

## S3 method for class 'IDE'
predict(object, newdata = NULL, covariances = FALSE, ...)

Arguments

f

R formula relating the dependent variable (or transformations thereof) to covariates

data

data object of class STIDF

dt

object of class difftime identifying the temporal discretisation used in the model

process_basis

object of class Basis as defined in the package FRK

kernel_basis

a list of four objects of class Basis as defined in the package FRK. The first corresponds to the spatial decomposition of the kernel amplitude, the second to the kernel aperture, the third to the kernel horizontal offset, and the fourth to the kernel vertical offset. If left NULL, a spatially-invariant kernel is assumed

grid_size

an integer identifying the number of grid points to use (in one dimension) for numerical integrations

forecast

an integer indicating the number of steps to forecast (where each step corresponds to one difftime)

hindcast

an integer indicating the number of steps to hindcast (where each step corresponds to one difftime)

object

object of class IDE to for fitting or predicting

method

method used to estimate the parameters. Currently only "DEoptim" is allowed, which calls an evolution algorithm from the package DEoptim

fix

list of parameters which are fixed and not estimated (e.g., list(sigma2_eps = 0.01)). Currently only the measurement-error variance (sigma2_eps) can be fixed

...

other parameters passed to DEoptim or predict

newdata

data frame or object of class STIDF containing the spatial and temporal points at which to predict

covariances

a flag indicating whether prediction covariances should be returned or not when predicting

Details

The first-order spatio-temporal IDE process model used in the package IDE is given by

Y_t(s) = \int_{D_s} m(s,x;θ_p) Y_{t-1}(x) \; dx + η_t(s); \;\;\; s,x \in D_s,

for t=1,2,…, where m(s,x;θ_p) is a transition kernel, depending on parameters θ_p that specify “redistribution weights” for the process at the previous time over the spatial domain, D_s, and η_t(s) is a time-varying (but statistically independent in time) continuous mean-zero Gaussian spatial process. It is assumed that the parameter vector θ_p does not vary with time. In general, \int_{D_s} m(s,x;θ_p) d x < 1 for the process to be stable (non-explosive) in time.

The redistribution kernel m(s,x;θ_p) used by the package IDE is given by

m(s,x;θ_p) = {θ_{p,1}(s)} \exp≤ft(-\frac{1}{θ_{p,2}(s)}≤ft[(x_1 - θ_{p,3}(s) - s_1)^2 + (x_2 - θ_{p,4}(s) - s_2)^2 \right] \right),

where the spatially-varying kernel amplitude is given by θ_{p,1}(s) and controls the temporal stationarity, the spatially-varying length-scale (variance) parameter θ_{p,2}(s) corresponds to a kernel scale (aperture) parameter (i.e., the kernel width increases as θ_{p,2} increases), and the mean (shift) parameters θ_{p,3}(s) and θ_{p,4}(s) correspond to a spatially-varying shift of the kernel relative to location s. Spatially-invariant kernels (i.e., where the elements of θ_p are not functions of space) are assumed by default. The spatial dependence, if present, is modelled using a basis-function decomposition.

IDE.fit() takes an object of class IDE and estimates all unknown parameters, namely the parameters θ_p and the measurement-error variance, using maximum likelihood. The only method currently used is the genetic algorithm in the package DEoptim. This has been seen to work well on several simulation and real-application studies on multi-core machines.

Once the parameters are fitted, the IDE object is passed onto the function predict() in order to carry out optimal predictions over some prediction spatio-temporal locations. If no locations are specified, the spatial grid used for discretising the integral at every time point in the data horizon are used. The function predict returns a data frame in long format. Change-of-support is currently not supported.

Value

Object of class IDE that contains get and set functions for retrieving and setting internal parameters, the function update_alpha which predicts the latent states, update_beta which estimates the regression coefficients based on the current predictions for alpha, and negloglik, which computes the negative log-likelihood.

See Also

show_kernel for plotting the kernel

Examples

SIM1 <- simIDE(T = 5, nobs = 100, k_spat_invariant = 1)
IDEmodel <- IDE(f = z ~ s1 + s2,
                data = SIM1$z_STIDF,
                dt = as.difftime(1, units = "days"),
                grid_size = 41)

#fit_results_sim1 <- fit.IDE(IDEmodel,
#                            parallelType = 1)
#ST_grid_df <- predict(fit_results_sim1$IDEmodel)


IDE documentation built on May 30, 2022, 5:07 p.m.