Learn R Programming

CDatanet (version 2.1.1)

simsart: Simulate data from the Tobit Model with Social Interactions

Description

simsart is used to simulate censored data with social interactions (see details). The model is presented in Xu and Lee(2015).

Usage

simsart(
  formula,
  contextual,
  Glist,
  theta,
  tol = 1e-15,
  maxit = 500,
  RE = FALSE,
  data
)

Value

A list consisting of:

yst

ys (see details), the latent variable.

y

the censored variable.

yb

expectation of y under rational expectation.

Gy

the average of y among friends.

Gyb

Average of expectation of y among friends under rational expectation.

marg.effects

the marginal effects.

iteration

number of iterations performed by sub-network in the Fixed Point Iteration Method.

Arguments

formula

an object of class formula: a symbolic description of the model. The formula should be as for example y ~ x1 + x2 | x1 + x2 where y is the endogenous vector, the listed variables before the pipe, x1, x2 are the individual exogenous variables and the listed variables after the pipe, x1, x2 are the contextual observable variables. Other formulas may be y ~ x1 + x2 for the model without contextual effects, y ~ -1 + x1 + x2 | x1 + x2 for the model without intercept or y ~ x1 + x2 | x2 + x3 to allow the contextual variable to be different from the individual variables.

contextual

(optional) logical; if true, this means that all individual variables will be set as contextual variables. Set the formula as y ~ x1 + x2 and contextual as TRUE is equivalent to set the formula as y ~ x1 + x2 | x1 + x2.

Glist

the adjacency matrix or list sub-adjacency matrix.

theta

the parameter value as \(\theta = (\lambda, \beta, \gamma, \sigma)\). The parameter \(\gamma\) should be removed if the model does not contain contextual effects (see details).

tol

the tolerance value used in the Fixed Point Iteration Method to compute y. The process stops if the \(L_1\) distance between two consecutive values of y is less than tol.

maxit

the maximal number of iterations in the Fixed Point Iteration Method.

RE

a Boolean which indicates if the model if under rational expectation of not.

data

an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which mcmcARD is called.

Details

The left-censored variable \(\mathbf{y}\) is generated from a latent variable \(\mathbf{y}^*\). The latent variable is given for all i as $$y_i^* = \lambda \mathbf{g}_i y + \mathbf{x}_i'\beta + \mathbf{g}_i\mathbf{X}\gamma + \epsilon_i,$$ where \(\epsilon_i \sim N(0, \sigma^2)\).
The censored variable \(y_i\) is then define that is \(y_i = 0\) if \(y_i^* \leq 0\) and \(y_i = y_i^*\) otherwise.

References

Xu, X., & Lee, L. F. (2015). Maximum likelihood estimation of a spatial autoregressive Tobit model. Journal of Econometrics, 188(1), 264-280, tools:::Rd_expr_doi("10.1016/j.jeconom.2015.05.004").

See Also

sart, simsar, simcdnet.

Examples

Run this code
# Groups' size
M      <- 5 # Number of sub-groups
nvec   <- round(runif(M, 100, 1000))
n      <- sum(nvec)

# Parameters
lambda <- 0.4
beta   <- c(2, -1.9, 0.8)
gamma  <- c(1.5, -1.2)
sigma  <- 1.5
theta  <- c(lambda, beta, gamma, sigma)

# X
X      <- cbind(rnorm(n, 1, 1), rexp(n, 0.4))

# Network
Glist  <- list()

for (m in 1:M) {
  nm           <- nvec[m]
  Gm           <- matrix(0, nm, nm)
  max_d        <- 30
  for (i in 1:nm) {
    tmp        <- sample((1:nm)[-i], sample(0:max_d, 1))
    Gm[i, tmp] <- 1
  }
  rs           <- rowSums(Gm); rs[rs == 0] <- 1
  Gm           <- Gm/rs
  Glist[[m]]   <- Gm
}


# data
data    <- data.frame(x1 = X[,1], x2 =  X[,2])

rm(list = ls()[!(ls() %in% c("Glist", "data", "theta"))])

ytmp    <- simsart(formula = ~ x1 + x2 | x1 + x2, Glist = Glist,
                   theta = theta, data = data)

y       <- ytmp$y

# plot histogram
hist(y)

Run the code above in your browser using DataLab