sim_dgp: Simulating from a data generating process

View source: R/simulation.R

sim_dgpR Documentation

Simulating from a data generating process

Description

This function can be used to generate data from a data generating process for SDM, SAR, SEM, and SLX type models.

Usage

sim_dgp(
  n,
  tt,
  rho,
  beta1 = c(),
  beta2 = c(),
  beta3 = c(),
  sigma2,
  n_neighbor = 4,
  W = NULL,
  do_symmetric = FALSE,
  intercept = FALSE,
  spatial_error = FALSE
)

Arguments

n

Number of spatial observations n.

tt

Number of time observations T.

rho

The true \rho parameter

beta1

Vector of dimensions k_1 \times 1. Provides the values for \beta_1 Defaults to c(). Note: has to be of same length as \beta_2.

beta2

Vector of dimensions k_1 \times 1. Provides the values for \beta_2 Defaults to c(). Note: has to be of same length as \beta_1.

beta3

Vector of dimensions k_2 \times 1. Provides the values for \beta_3 Defaults to c().

sigma2

The true \sigma^2 parameter for the DGP. Has to be a scalar larger than zero.

n_neighbor

Number of neighbors for the generated n \times n spatial weight W matrix. Defaults to 4.

W

Exogeneous spatial weight matrix for the data generating process. Defaults to NULL, in which case a nearest neighbor matrix with n_neighbor will be generated.

do_symmetric

Should the generated spatial weight matrix be symmetric? (default: FALSE)

intercept

Should the first column of Z be an intercept? Defaults to FALSE. If intercept = TRUE, \beta_3 has to be at least of length 1.

spatial_error

Should a spatial error model be constructed? Defaults to FALSE.

Details

For the SDM, SAR, and SLX models the generated spatial panel model takes the form

Y = \rho W Y + X \beta_1 + W X \beta_2 + Z \beta_3 + \epsilon,

with \epsilon \sim N(0,I_n\sigma^2).

For the SEM model the generated spatial panel model takes the form

Y = X \beta_1 + W X \beta_2 + Z \beta_3 + \epsilon,

with \epsilon \sim N(0,(I_n - \rho W)\sigma^2).

The function generates the N \times 1 vector Y. The elements of the explanatory variable matrices X (N \times k_1) and Z (N \times k_2) are randomly generated from a Gaussian distribution with zero mean and unity variance (N(0,1)).

The non-negative, row-stochastic n by n matrix W is constructed using a k-nearest neighbor specification based on a randomly generated spatial location pattern, with coordinates sampled from a standard normal distribution.

Values for the parameters \beta_1, \beta_2, and \beta_3, as well as \rho and \sigma^2 have to be provided by the user. The length of \beta_1 and \beta_2 have to be equal.

  • A spatial Durbin model (SDM) is constructed if \rho is not equal to zero, spatial_error is FALSE, and \beta_1, \beta_2, and \beta_3 are all supplied by the user.

  • A spatial autoregressive model is constructed if \rho is not equal to zero, spatial_error is FALSE, and only \beta_3 is supplied by the user.

  • An SLX type model is constructed if \rho is equal to zero, spatial_error is FALSE, and \beta_1, \beta_2 are supplied by the user.

  • An SEM type model is constructed if spatial_error is TRUE and either only \beta_3 or \beta_1, \beta_2, and \beta_3 are supplied by the user.

Value

A list with the generated X, Y and W and a list of parameters.

Examples

# SDM data generating process
dgp_dat = sim_dgp(n =20, tt = 10, rho = .5, beta1 = c(1,-1),
                  beta2 = c(0,.5),beta3 = c(.2),sigma2 = .5)

estimateW documentation built on June 8, 2025, 10:07 a.m.