rstDPP: Simulate a spatio-temporal Determinantal Point Process (DPP)...

View source: R/Simulate_ST_DPP.R

rstDPPR Documentation

Simulate a spatio-temporal Determinantal Point Process (DPP) based on spectral density

Description

Generates a realization of a spatio-temporal determinantal point process (DPP) using a user-defined spectral density model. The function supports both separable (model = "S") and non-separable (model = "NS") dependence structures and allows for either exponential or Mat\'ern-type spectral densities. The simulation is performed on a 3D spatio-temporal frequency grid and can incorporate user-specified intensity functions for thinning.

Usage

rstDPP(
  mode = c("stationary", "inhom"),
  model = c("S", "NS"),
  spectral = c("exp", "matern"),
  alpha_s,
  alpha_t = NULL,
  lambda_max,
  nu = 2,
  eps = 1,
  lambda_s = NULL,
  lambda_non_s = NULL,
  grid_size = 4
)

Arguments

mode

Character. Type of dependence model:

"Stationary"

A homogeneous spatio-temporal DPP is generated.

"Inhomogeneous"

A non-homogeneous spatio-temporal DPP is generated.

model

Character. Type of dependence model:

"S"

Separable spatio-temporal covarince function model, where space and time components are separable.

"NS"

Non-separable spatio-temporal model, allowing interaction between space and time.

spectral

Character. Type of spectral density function to use: "exp" for exponential spectral form or "matern" for a Mat\'ern-type spectral model.

alpha_s

Numeric. Spatial decay or range parameter in the spectral density.

alpha_t

Numeric. Temporal decay or range parameter in the spectral density.

lambda_max

Numeric. The maximum intensity value used for thinning. Must be specified.

nu

Numeric. Smoothness parameter for the Mat\'ern-type spectral density (only relevant if spectral = "matern"). Default is 2.

eps

Numeric. Degree of separability for the Mat\'ern model: eps = 0 corresponds to full non-separability, eps = 1 yields complete separability, and intermediate values provide partial separability.

lambda_s

Optional. Intensity function lambda_s(u, t) for separable models. If not provided, a default function is used.

lambda_non_s

Optional. Intensity function lambda_non_s(u, t) for non-separable models. If not provided, a default function is used.

grid_size

Numeric. Half-width of the spatio-temporal frequency grid. The total grid size is (2 * grid_size + 1)^3.

Details

This function implements a spectral simulation method for spatio-temporal DPPs, following the theoretical framework introduced in Vafaei et al. (2023) and Ghorbani et al. (2025).

The algorithm proceeds as follows:

  1. Construct a 3D grid of spatial and temporal frequency components (\omega_x, \omega_y, \tau).

  2. Evaluate the chosen spectral density \phi(\omega, \tau) across the grid.

  3. Use the resulting spectral values as eigenvalues to simulate a realization of a DPP via spatstat.model::rdpp().

  4. Optionally apply thinning using a user-defined intensity function \lambda(u, t), scaled by lambda_max, to induce inhomogeneity.

Two spectral families are supported:

  • Exponential form:

    \phi(\omega, \tau) \propto \exp\left[-(\pi \alpha_s |\omega|)^2\right] \left(1 + 4 (\pi \alpha_t \tau)^2\right)^{-1}.

  • Mat\'ern-type form:

    \phi_{\epsilon}(\omega, \tau) \propto \left( \alpha_s^2 \alpha_t^2 + \alpha_t^2 |\omega|^2 + \alpha_s^2 \tau^2 + \epsilon |\omega|^2 \tau^2 \right)^{-\nu},

    where \epsilon \in [0, 1] determines the degree of separability between space and time.

This framework enables simulation of spatio-temporal point patterns that exhibit varying degrees of spatial–temporal dependence, providing a versatile tool for evaluating separability tests and modeling non-separable dynamics.

Value

A numeric matrix with three columns (x, y, t) representing the retained spatio-temporal events after thinning.

References

Vafaei, N., Ghorbani, M., Ganji, M., and Myllymäki, M. (2023). Spatio-temporal determinantal point processes. arXiv:2301.02353.

Ghorbani, M., Vafaei, N., and Myllymäki, M. (2025). A kernel-based test for the first-order separability of spatio-temporal point processes. TEST, 34, 580-611. https://doi.org/10.1007/s11749-025-00972-y

See Also

plot_stpp for visualizing spatio-temporal point patterns.

Examples


# Simulate a stationary separable Mat\'ern ST-DPP
 if (requireNamespace("spatstat", quietly = TRUE)) {
sim <- rstDPP(
  mode     = "stationary",
  model    = "S",
  spectral = "matern",
  alpha_s  = 10,
  alpha_t  = 4.7,
  nu       = 2,
  eps      = 1,
  lambda_max = 70,
  grid_size  = 2
)
 plot_stDPP(sim, type = "3D",  alpha_s = 10, alpha_t = 4.7)
# example 2
# Generate realization
sim <- rstDPP(mode = "stationary",
                model = "S",
                spectral = "matern",
                alpha_s = 10, alpha_t = 4.7,
                nu = 2,
               eps = 1,
               lambda_s = 70,
               lambda_non_s = NULL,
               grid_size = 2,
               lambda_max=70)
head(sim)
}


SepTest documentation built on Feb. 3, 2026, 5:07 p.m.

Related to rstDPP in SepTest...