simsart {CDatanet} | R Documentation |
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
)
Arguments
formula |
an object of class formula: a symbolic description of the model. The |
contextual |
(optional) logical; if true, this means that all individual variables will be set as contextual variables. Set the
|
Glist |
the adjacency matrix or list sub-adjacency matrix. |
theta |
the parameter value as |
tol |
the tolerance value used in the Fixed Point Iteration Method to compute |
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 |
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.
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. |
References
Xu, X., & Lee, L. F. (2015). Maximum likelihood estimation of a spatial autoregressive Tobit model. Journal of Econometrics, 188(1), 264-280, doi:10.1016/j.jeconom.2015.05.004.
See Also
Examples
# 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)