tobit estimates gravity models in their additive form by conducting a left-censored regression, which, after adding the constant 1 to the dependent variable, utilizes log(1) = 0 as the censoring value.

tobit(
  dependent_variable,
  distance,
  additional_regressors = NULL,
  added_constant = 1,
  data,
  ...
)

Arguments

dependent_variable

(Type: character) name of the dependent variable. The number 1 is added and the transformed variable is logged and taken as the dependent variable in the tobit estimation with lower bound equal to 0 as log(1) = 0 represents the smallest flows in the transformed variable.

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 income_origin and income_destination.

Write this argument as c(contiguity, common currency, ...). By default this is set to NULL.

added_constant

(Type: numeric) the constant to be added to the dependent variable. The default value is 1. The minimum of log(y + added_constant) is taken as the left boundary in the Tobit model.

In the often used case of added_constant = 1, the dependent variable is left-censored at value 0 as log(1) = 0.

data

(Type: data.frame) the dataset to be used.

...

Additional arguments to be passed to the function.

Value

The function returns the summary of the estimated gravity model as a censReg-object.

Details

tobit represents the left-censored tobit Tobin (1958) approach utilizing a known censoring threshold which is often used when several gravity models are compared.

When taking the log of the gravity equation flows equal to zero constitute a problem as their log is not defined.

Therefore, in the execution of the function the number 1 is added to all flows and the log(flows+1) is taken as the dependent variable.

The tobit estimation is conducted using the censReg function and setting the lower bound equal to 0 as log(1)=0 represents the smallest flows in the transformed variable.

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.

The function is designed for cross-sectional data, but can be easily 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.

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.

References

For more information on gravity models, theoretical foundations and estimation methods in general see

Anderson JE (1979). “A Theoretical Foundation for the Gravity Equation.” The American Economic Review, 69(1), 106--116. ISSN 00028282.

Anderson JE, van Wincoop E (2001). “Gravity with Gravitas: A Solution to the Border Puzzle.” Working Paper 8079, National Bureau of Economic Research. doi:10.3386/w8079 .

Anderson JE (2010). “The Gravity Model.” Working Paper 16576, National Bureau of Economic Research. doi:10.3386/w16576 .

Baier SL, Bergstrand JH (2009). “Bonus vetus OLS: A simple method for approximating international trade-cost effects using the gravity equation.” Journal of International Economics, 77(1), 77 - 85. ISSN 0022-1996, doi:10.1016/j.jinteco.2008.10.004 .

Baier SL, Bergstrand JH (2010). “The Gravity Model in International Trade: Advances and Applications.” In van Bergeijk PAG, Brakman S (eds.), chapter 4. Cambridge University Press. doi:10.1017/CBO9780511762109 .

Feenstra RC (2002). “Border effects and the gravity equation: consistent methods for estimation.” Scottish Journal of Political Economy, 49(5), 491--506.

Head K, Mayer T, Ries J (2010). “The erosion of colonial trade linkages after independence.” Journal of International Economics, 81(1), 1 - 14. ISSN 0022-1996, doi:10.1016/j.jinteco.2010.01.002 .

Head K, Mayer T (2014). “Chapter 3 - Gravity Equations: Workhorse,Toolkit, and Cookbook.” In Gopinath G, Helpman E, Rogoff K (eds.), Handbook of International Economics, volume 4 of Handbook of International Economics, 131 - 195. Elsevier. doi:10.1016/B978-0-444-54314-1.00003-3 .

Silva JMCS, Tenreyro S (2006). “The Log of Gravity.” The Review of Economics and Statistics, 88(4), 641-658. doi:10.1162/rest.88.4.641 .

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

Egger P, Pfaffermayr M (2003). “The proper panel econometric specification of the gravity equation: A three-way model with bilateral interaction effects.” Empirical Economics, 28(3), 571--580. ISSN 1435-8921, doi:10.1007/s001810200146 .

Gómez-Herrera E (2013). “Comparing alternative methods to estimate gravity models of bilateral trade.” Empirical Economics, 44(3), 1087--1111. ISSN 1435-8921, doi:10.1007/s00181-012-0576-2 .

and the references therein.

See also

Examples

# 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(
    lgdp_o = log(gdp_o),
    lgdp_d = log(gdp_d)
  )

fit <- tobit(
  dependent_variable = "flow",
  distance = "distw",
  additional_regressors = c("rta", "lgdp_o", "lgdp_d"),
  added_constant = 1,
  data = grav_small
)