simcdnet {CDatanet} | R Documentation |
Simulating count data models with social interactions under rational expectations
Description
simcdnet
simulate the count data model with social interactions under rational expectations developed by Houndetoungan (2024).
Usage
simcdnet(
formula,
group,
Glist,
parms,
lambda,
Gamma,
delta,
Rmax,
Rbar,
tol = 1e-10,
maxit = 500,
data
)
Arguments
formula |
a class object formula: a symbolic description of the model. |
group |
the vector indicating the individual groups. The default assumes a common group. For 2 groups; that is, |
Glist |
adjacency matrix. For networks consisting of multiple subnets, |
parms |
a vector defining the true value of |
lambda |
the true value of the vector |
Gamma |
the true value of the vector |
delta |
the true value of the vector |
Rmax |
an integer indicating the theoretical upper bound of |
Rbar |
an |
tol |
the tolerance value used in the Fixed Point Iteration Method to compute the expectancy of |
maxit |
the maximal number of iterations in the Fixed Point Iteration Method. |
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 count variable take the value
with probability.
In this equation, is a vector of control variables;
is the distribution function of the standard normal distribution;
is the average of
among peers using the
s
-th network definition;
is the
r
-th cut-point in the cost group .
The following identification conditions have been introduced: ,
,
, and
for any
. The last condition implies that
for any
.
For any
, the distance between two cut-points is
As the number of cut-point can be large, a quadratic cost function is considered for
, where
.
With the semi-parametric cost-function,
.
The model parameters are: ,
, and
,
where
for
.
The number of single parameters in
depends on
and
. The components
or/and
must be removed in certain cases.
If , then
.
If (binary models), then
must be empty.
If , then
.
Value
A list consisting of:
yst |
|
y |
the observed count variable. |
Ey |
|
GEy |
the average of |
meff |
a list includinh average and individual marginal effects. |
Rmax |
infinite sums in the marginal effects are approximated by sums up to Rmax. |
iteration |
number of iterations performed by sub-network in the Fixed Point Iteration Method. |
References
Houndetoungan, E. A. (2024). Count Data Models with Social Interactions under Rational Expectations. Available at SSRN 3721250, doi:10.2139/ssrn.3721250.
See Also
Examples
set.seed(123)
M <- 5 # Number of sub-groups
nvec <- round(runif(M, 100, 200))
n <- sum(nvec)
# Adjacency matrix
A <- list()
for (m in 1:M) {
nm <- nvec[m]
Am <- matrix(0, nm, nm)
max_d <- 30 #maximum number of friends
for (i in 1:nm) {
tmp <- sample((1:nm)[-i], sample(0:max_d, 1))
Am[i, tmp] <- 1
}
A[[m]] <- Am
}
Anorm <- norm.network(A) #Row-normalization
# X
X <- cbind(rnorm(n, 1, 3), rexp(n, 0.4))
# Two group:
group <- 1*(X[,1] > 0.95)
# Networks
# length(group) = 2 and unique(sort(group)) = c(0, 1)
# The networks must be defined as to capture:
# peer effects of `0` on `0`, peer effects of `1` on `0`
# peer effects of `0` on `1`, and peer effects of `1` on `1`
G <- list()
cums <- c(0, cumsum(nvec))
for (m in 1:M) {
tp <- group[(cums[m] + 1):(cums[m + 1])]
Am <- A[[m]]
G[[m]] <- norm.network(list(Am * ((1 - tp) %*% t(1 - tp)),
Am * ((1 - tp) %*% t(tp)),
Am * (tp %*% t(1 - tp)),
Am * (tp %*% t(tp))))
}
# Parameters
lambda <- c(0.2, 0.3, -0.15, 0.25)
Gamma <- c(4.5, 2.2, -0.9, 1.5, -1.2)
delta <- rep(c(2.6, 1.47, 0.85, 0.7, 0.5), 2)
# Data
data <- data.frame(X, peer.avg(Anorm, cbind(x1 = X[,1], x2 = X[,2])))
colnames(data) = c("x1", "x2", "gx1", "gx2")
ytmp <- simcdnet(formula = ~ x1 + x2 + gx1 + gx2, Glist = G, Rbar = rep(5, 2),
lambda = lambda, Gamma = Gamma, delta = delta, group = group,
data = data)
y <- ytmp$y
hist(y, breaks = max(y) + 1)
table(y)