sar {estimateW}R Documentation

A Markov Chain Monte Carlo (MCMC) sampler for the panel spatial autoregressive model (SAR) with exogenous spatial weight matrix.

Description

The sampler uses independent Normal-inverse-Gamma priors for the slope and variance parameters, as well as a four-parameter beta prior for the spatial autoregressive parameter \rho. The function is used as an illustration on using the beta_sampler, sigma_sampler, and rho_sampler classes.

Usage

sar(
  Y,
  tt,
  W,
  Z = matrix(1, nrow(Y), 1),
  niter = 200,
  nretain = 100,
  rho_prior = rho_priors(),
  beta_prior = beta_priors(k = ncol(Z)),
  sigma_prior = sigma_priors()
)

Arguments

Y

numeric N \times 1 matrix containing the dependent variables, where N = nT is the number of spatial (n) times the number of time observations (T, with tt=T). Note that the observations have organized such that Y = [Y_1',...,Y_T']'.

tt

single number greater or equal to 1. Denotes the number of time observations. tt = T.

W

numeric, non-negative and row-stochastic n by n exogenous spatial weight matrix. Must have zeros on the main diagonal.

Z

numeric N \times k_3 design matrix of independent variables. The default value is a N \times 1 vector of ones (i.e. an intercept for the model).

niter

single number greater or equal to 1, indicating the total number of draws. Will be automatically coerced to integer. The default value is 200.

nretain

single number greater or equal to 0, indicating the number of draws kept after the burn-in. Will be automatically coerced to integer. The default value is 100.

rho_prior

list of prior settings for estimating \rho, generated by the smart constructor rho_priors

beta_prior

list containing priors for the slope coefficients, generated by the smart constructor beta_priors.

sigma_prior

list containing priors for the error variance \sigma^2, generated by the smart constructor sigma_priors

Details

The considered panel spatial autoregressive model (SAR) takes the form:

Y_t = \rho W Y_t + Z_t \beta + \varepsilon_t,

with \varepsilon_t \sim N(0,I_n \sigma^2). The row-stochastic n by n spatial weight matrix W is non-negative and has zeros on the main diagonal. \rho is a scalar spatial autoregressive parameter.

Y_t (n \times 1) collects the n cross-sectional (spatial) observations for time t=1,...,T. Z_t (n \times k_3) is a matrix of explanatory variables. \beta (k_3 \times 1) is an unknown slope parameter matrix.

After vertically staking the T cross-sections Y=[Y_1',...,Y_T']' (N \times 1), Z=[Z_1',...,Z_T']' (N \times k_3), with N=nT, the final model can be expressed as:

Y = \rho \tilde{W}Y + Z \beta + \varepsilon,

where \tilde{W}=I_T \otimes W and \varepsilon \sim N(0,I_N \sigma^2). Note that the input data matrices have to be ordered first by the cross-sectional spatial units and then stacked by time. This is a wrapper function calling sdm with no spatially lagged dependent variables.

Examples

n = 20; tt = 10
dgp_dat = sim_dgp(n =n, tt = tt, rho = .5, beta3 = c(1,.5), sigma2 = .5)
res = sar(Y = dgp_dat$Y,tt = tt, W = dgp_dat$W,
          Z = dgp_dat$Z,niter = 100,nretain = 50)

[Package estimateW version 0.0.1 Index]