Gaussx 10: Professional Econometrics Routines

Econotron Software, Inc.

The following product is developed by Econotron Software, Inc. for use with GAUSS. Technical support is provided directly through the developer.

What is Gaussx 10?

Gaussx incorporates a full-featured set of professional state-of-the-art econometric routines that run under GAUSS. These tools can be used within Gaussx, both in research and in teaching. Alternatively, since the GAUSS source is included, individual econometric routines can be extracted and integrated in stand-alone GAUSS programs.
Gaussx provides an environment that makes econometric programming a joy. For example,

ols  y  c  x1  x2;

does ordinary least squares, while

mcmc  z1  c  z3  z4;

userproc = &g_tobit;

does a Bayesian estimation of a Tobit model using Markov Chain Monte Carlo.

Gaussx provides for linear and non-linear optimization with and without parameter constraints. A full set of econometric models, estimation routines and tests are supported, including: automatic differentiation, multivariate binomial probit, VARMA process, time series analysis, LDV models, GARCH models, exponential smoothing, X12 seasonal adjustment, non-parametric analysis, neural networks, wavelets, forecasting, Kalman filter, stochastic volatility, robust estimation, Bayesian estimation, cluster analysis, financial tools, econometric tests, Monte Carlo simulation and statistical distributions.

Gaussx is designed for econometricians and financial analysts and has been continuously upgraded over 15 years. The open source paradigm allows econometricians to use GaussX routines as templates for their own code.

Gaussx is available for Windows, Linux and Unix versions of GAUSS. You can visit Econotron Software's home page www.econotron.com for a full description of Gaussx.

New Features in Gaussx 10

Gauss 11 Support

Gaussx has been updated to support the new GAUSS 11 interface, and incorporate the new functionality of GAUSS 11.

Copulas

A copula is used in statistics as a general way of formulating a multivariate distribution with a specified correlation structure:

Example:

let rmat[3,3] = 1 .5 .2 .5 1 .6 .2 .2 .6 1;
q = copula(1000,rmat,1);
v1 = normal_cdfi(q[.,1], 0, 1);
v2 = expon_cdfi(q[.,2], 2);
v3 = gamma_cdfi(q[.,3], 1.5, 2.5)

q is a 1000x3 copula matrix with a Kendal Tau correlation structure given by rmat. This copula is then used to create three correlated random deviates drawn from the normal, exponential and gamma distributions.

CORR

Computes a correlation matrix for different correlation types - Pearson, Kendall Tau b and Spearman Rank.

MVRND

Creates a matrix of (pseudo) correlated random variables using specified distributions.

Example:

dist = "normal" $| "expon" $| "gamma";
let p[3,3] = 0 1 0 0 1 0 0 0 1.5 2.5 0 0;
let rmat[3,4] = 1 .5 .2 .5 1 .6 .2 .6 1;
s = mvrnd(1000, 3, dist, p, rmat, 2);\

This example creates s, which is a 1000x3 matrix of correlated random variates consisting of the three distributions shown in dist, with the correlation structure specified by the Spearman rank matrix rmat.

Stepwise

In a situation where there are a large number of potential explanatory variables, STEPWISE can be useful in ascertaining which combination of variables are significant, based on the F statistic. It includes the capability of scaling data, and expanding a given data set to include cross and/or quad terms. This is an exploratory, rather than a rigorous tool.

Example:

oplist = { .4 .25 };
indx = stepwise(y~xmat, 0, oplist);
{xnew, xname} = xmat[.,indx];

This example shows how a stepwise regression is applied to a matrix of potential explanatory variables xmat, using .4 and .25 for the F statistic probability of entry and exit.

Latin Hypercube Sample - LHS

LHS has the advantage of generating a set of samples that more precisely reflect the shape of a sampled distribution than pure random (Monte Carlo) samples. The Gaussx implementation provides standard LHS, nearly orthogonal LHS, and correlation LHS.

Example

n = 30; k = 6;
fill = 0; ntry = 1000; crit = 2;
dsgn = fill | ntry | crit;
p = lhs(n,k,dsgn);
x = weibull_cdfi(p,1,1.5);

In this example, a 30x6 nearly orthogonal Latin Hypercube Sample is derived using the best condition number as the criteria. This creates a 30x6 matrix of probabilities, which are then used to create a set of Weibull distributed variates, each column being orthogonal to every other column.

STATLIB - Statistical Distribution Library

The STATLIB library has been updated; it now includes 51 continuous distributions, and 9 discrete distributions. This library can be used independently of Gaussx, or as part of Gaussx - for example in an ML context.

In the context of ML estimation, the parameters of a particular distribution can be estimated from a set of data, or a parameter can be replaced by a linear or non-linear function, whose parameter can also be estimated. Threshold estimates for distributions where the data is non-negative is also supported.

Example:

x = seqa(0,.2,6);
a = 2; b = 4;
p = beta_pdf(x,a,b);
param b0 b1;
value = .1 1 ;
FRML eq1 v = b0 + b1*x;
FRML eq2 llfn = chisq_llf(y,v);
ML (d,p,i) eq1 eq2
method = nr nr nr;

The first example shows pure GAUSS code for estimating the pdf for a beta distribution. The second shows how the parameters of a function which is used to replace a parameter in a distribution can be evaluated.

Platforms

Windows, Mac OS X, LINUX, UNIX (requires GAUSS for Windows 6.0 or higher).

Gaussx 10 Flyer [87k .pdf]