Learn R Programming

gravity (version 1.0)

gpml: Gamma Pseudo Maximum Likelihood (GPML)

Description

gpml estimates gravity models in their multiplicative form via Gamma Pseudo Maximum Likelihood.

Usage

gpml(
  dependent_variable,
  distance,
  additional_regressors,
  robust = FALSE,
  data,
  ...
)

Arguments

dependent_variable

(Type: character) name of the dependent variable. This variable is logged and then used as the dependent variable in the estimation.

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 GDPs can be added but those variables have to be logged first. Interaction terms can be added.

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

robust

(Type: logical) whether robust fitting should be used. By default this is set to FALSE.

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 similar to a glm-object.

Details

gpml is an estimation method for gravity models belonging to generalized linear models. It is described in Santos2006;textualgravity and the model is estimated via glm2 using the gamma distribution and a log-link.

For similar functions, utilizing the multiplicative form via the log-link, but different distributions, see ppml, nls, and nbpml.

gpml estimation can be used for both, cross-sectional as well as panel data, but its up to the user to ensure that the functions can be applied to panel data.

Depending on the panel dataset and the variables - specifically the type of fixed effects - included in the model, it may easily occur that the model is not computable.

Also, note that by including bilateral fixed effects such as country-pair effects, the coefficients of time-invariant observables such as distance can no longer be estimated.

Depending on the specific model, the code of the respective function might have to be changed in order to exclude the distance variable from the estimation.

At the very least, the user should take special care with respect to the meaning of the estimated coefficients and variances as well as the decision about which effects to include in the estimation.

When using panel data, the parameter and variance estimation of the models may have to be changed accordingly.

For a comprehensive overview of gravity models for panel data see Egger2003;textualgravity, Gomez-Herrera2013;textualgravity and Head2010;textualgravity.

References

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

Anderson1979gravity

Anderson2001gravity

Anderson2010gravity

Baier2009gravity

Baier2010gravity

Feenstra2002gravity

Head2010gravity

Head2014gravity

Santos2006gravity

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

Egger2003gravity

Gomez-Herrera2013gravity

and the references therein.

See Also

glm2, coeftest, vcovHC

Examples

Run this code
# NOT RUN {
# 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 <- gpml(
  dependent_variable = "flow",
  distance = "distw",
  additional_regressors = c("rta", "iso_o", "iso_d"),
  data = grav_small
)
# }

Run the code above in your browser using DataLab