Nothing
## ---- include = FALSE---------------------------------------------------------
if (requireNamespace("knitr", quietly = TRUE)) {
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
}
## ----setup.libraries----------------------------------------------------------
library(diseq)
## ----setup.data---------------------------------------------------------------
nobs <- 2000
tobs <- 5
alpha_d <- -0.3
beta_d0 <- 6.8
beta_d <- c(0.3, -0.02)
eta_d <- c(0.6, -0.1)
alpha_s <- 0.6
beta_s0 <- 4.1
beta_s <- c(0.9)
eta_s <- c(-0.5, 0.2)
gamma <- 1.2
beta_p0 <- 0.9
beta_p <- c(-0.1)
sigma_d <- 1
sigma_s <- 1
sigma_p <- 1
rho_ds <- 0.0
rho_dp <- 0.0
rho_sp <- 0.0
seed <- 443
stochastic_adjustment_data <- simulate_data(
"diseq_stochastic_adjustment", nobs, tobs,
alpha_d, beta_d0, beta_d, eta_d,
alpha_s, beta_s0, beta_s, eta_s,
gamma, beta_p0, beta_p,
sigma_d = sigma_d, sigma_s = sigma_s, sigma_p = sigma_p,
rho_ds = rho_ds, rho_dp = rho_dp, rho_sp = rho_sp,
seed = seed
)
## ----model.parameters.verbose-------------------------------------------------
verbose <- 2
## ----model.parameters.correlated_shocks---------------------------------------
correlated_shocks <- TRUE
## ----model.constructor--------------------------------------------------------
eq <- new(
"equilibrium_model",
quantity = Q, price = P,
demand = P + Xd1 + Xd2 + X1 + X2,
supply = P + Xs1 + X1 + X2,
subject = id, time = date,
data = stochastic_adjustment_data,
correlated_shocks = correlated_shocks, verbose = verbose
)
bs <- new(
"diseq_basic",
quantity = Q, price = P,
demand = P + Xd1 + Xd2 + X1 + X2,
supply = P + Xs1 + X1 + X2,
subject = id, time = date,
data = stochastic_adjustment_data,
correlated_shocks = correlated_shocks, verbose = verbose
)
dr <- new(
"diseq_directional",
quantity = Q, price = P,
demand = P + Xd1 + Xd2 + X1 + X2,
supply = Xs1 + X1 + X2,
subject = id, time = date,
data = stochastic_adjustment_data,
correlated_shocks = correlated_shocks, verbose = verbose
)
da <- new(
"diseq_deterministic_adjustment",
quantity = Q, price = P,
demand = P + Xd1 + Xd2 + X1 + X2,
supply = P + Xs1 + X1 + X2,
subject = id, time = date,
data = stochastic_adjustment_data,
correlated_shocks = correlated_shocks, verbose = verbose
)
sa <- new(
"diseq_stochastic_adjustment",
quantity = Q, price = P,
demand = P + Xd1 + Xd2 + X1 + X2,
supply = P + Xs1 + X1 + X2,
price_dynamics = Xp1,
subject = id, time = date,
data = stochastic_adjustment_data,
correlated_shocks = correlated_shocks, verbose = verbose
)
## ----estimation.parameters.method---------------------------------------------
optimization_method <- "BFGS"
optimization_options <- list(REPORT = 10, maxit = 10000, reltol = 1e-6)
## ----estimation.execution-----------------------------------------------------
estimate(eq, method = "2SLS")
estimate(eq,
control = optimization_options, method = optimization_method,
standard_errors = c("id")
)
estimate(bs,
control = optimization_options, method = optimization_method,
standard_errors = "heteroscedastic"
)
estimate(bs,
control = optimization_options, method = "Nelder-Mead",
standard_errors = "heteroscedastic"
)
estimate(dr,
control = optimization_options, method = optimization_method,
standard_errors = "heteroscedastic"
)
estimate(da,
control = optimization_options, method = optimization_method,
standard_errors = c("id")
)
estimate(sa,
control = optimization_options, method = optimization_method
)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.