Econometrics.jl is registered with the Julia's General registry.
For installing the package, users can use Julia's package manager.
using Pkg; Pkg.add("Econometrics") # one alternative ]add Econometrics # same as the line above
The package manager will automatically resolve which release version for Econometrics.jl is compatible with the environment in use.
The package manager allows for other experiences such as using the development version of the package through
Econometrics.jl relies on users being able to pass in data for estimating the various models. This package allows for data to be passed through any tabular representation that implements the Tables.jl API. For example, a
DataFrame from DataFrames.jl is a common solution for in-memory tabular data that implements the Tables.jl API.
The second assumption Econometrics.jl makes about the data is that categorical data uses the CategoricalArrays.jl representations (i.e.,
Lastly, the package currently assumes in-memory data.
Statistical models use a formula with formulae syntax to specify the relation among the various features. For example, Econometrics.jl uses the following syntax
modelformula = @formula(response ~ exogenous + (endogenous ~ instruments) + absorb(high_dimensional_controls))
where the right-hand side is the response and the left-hand side has
- exogenous variables
- potentially endogenous features and additional instruments
- high dimensional controls
Formulas also allow for passing special terms such as interactions and special terms (e.g.,
poly). These have limited support at the moment.
For more information on the formulae implementation see StatsModels.jl.
Econometrics.jl implements a subset of the abstraction for statistical models provided by StatsBase.jl. This API allows for a consistent API across the statitics ecosystem. It is common practice for various packages to implement different models/estimators. However, these can interacted uniformly with similar syntax.
model = fit(ModelType, # package specific type formula, # @formula(lhs ~ rhs) data, # a table args..., # model or fitting specific arguments kwargs... # model or fitting specific keyword arguments )
model = ModelType(formula, data, args...; kwargs...) fit!(model, args..., kwargs...) coeftable(model, args..., kwargs...)