et_tobit | R Documentation |
et_tobit
estimates gravity models in their additive form
by conducting a left-censored regression.
et_tobit(dependent_variable, distance, additional_regressors = NULL, data, ...)
dependent_variable |
(Type: character) name of the dependent variable. Following
\insertCiteCarson2007;textualgravity, the smallest positive flow value is used as an estimate of the threshold, this value is is added to the |
distance |
(Type: character) name of the distance variable that should be taken as the key independent variable in the estimation. The distance is logged automatically when the function is executed. |
additional_regressors |
(Type: character) names of the additional regressors to include in the model (e.g. a dummy
variable to indicate contiguity). Unilateral metric variables such as GDP should be inserted via the arguments
Write this argument as |
data |
(Type: data.frame) the dataset to be used. |
... |
Additional arguments to be passed to the function. |
et_tobit
represents the \insertCiteEaton1995;textualgravity Tobit model
which is often used when several gravity models are compared, instead of adding number 1
to the dependent
variable as done in tobit
, the constant added to the data is estimated and interpreted as a
threshold.
When taking the log of the gravity equation flows equal to zero constitute a problem as their log is not defined. Therefore, a constant is added to the flows.
Compared to the usual ET-Tobit approaches, in this package, the estimation of the threshold is done before the other parameters are estimated.
We follow \insertCiteCarson2007;textualgravity, who show that taking the minimum positive flow value as an estimate of the threshold is super-consistent and that using this threshold estimate ensures that the parameter MLE are asymptotically normal with the asymptotic variance identical to the variance achieved when the threshold is known. Hence, first the threshold is estimated as the minimum positive flow. This threshold is added to the flow variable, it is logged afterwards and taken as the dependent variable.
The Tobit estimation is then conducted using the
censReg
function and setting the lower bound
equal to the log of the minimum positive flow value which was added to all
observations.
A Tobit regression represents a combination of a binary and a linear regression. This procedure has to be taken into consideration when interpreting the estimated coefficients.
The marginal effects of an explanatory variable on the expected value of the dependent variable equals the product of both the probability of the latent variable exceeding the threshold and the marginal effect of the explanatory variable of the expected value of the latent variable.
For a more elaborate Tobit function, see ek_tobit
for the Eaton and Kortum (2001) Tobit model where each zero trade volume
is assigned a country specific interval with the upper
bound equal to the minimum positive trade level of the respective
importing country.
The function is designed for cross-sectional data, but can be extended to panel data using the
censReg
function.
A robust estimations is not implemented to the present
as the censReg
function is not
compatible with the vcovHC
function.
The function returns the summary of the estimated gravity model as a
censReg
-object.
For more information on gravity models, theoretical foundations and estimation methods in general see
\insertRefAnderson1979gravity
\insertRefAnderson2001gravity
\insertRefAnderson2010gravity
\insertRefBaier2009gravity
\insertRefBaier2010gravity
\insertRefFeenstra2002gravity
\insertRefHead2010gravity
\insertRefHead2014gravity
\insertRefSantos2006gravity
and the citations therein.
See Gravity Equations: Workhorse, Toolkit, and Cookbook for gravity datasets and Stata code for estimating gravity models.
For estimating gravity equations using panel data see
\insertRefEgger2003gravity
\insertRefGomez-Herrera2013gravity
and the references therein.
censReg
, et_tobit
# Example for CRAN checks:
# Executable in < 5 sec
library(dplyr)
data("gravity_no_zeros")
# Choose 5 countries for testing
countries_chosen <- c("AUS", "CHN", "GBR", "BRA", "CAN")
grav_small <- filter(gravity_no_zeros, iso_o %in% countries_chosen)
grav_small <- grav_small %>%
mutate(
flow = ifelse(flow < 5, 0, flow), # cutoff for testing purposes
lgdp_o = log(gdp_o),
lgdp_d = log(gdp_d)
)
fit <- et_tobit(
dependent_variable = "flow",
distance = "distw",
additional_regressors = c("rta", "lgdp_o", "lgdp_d"),
data = grav_small
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.