Top |
enum | GretlSystemMethods |
typedef | id_atom |
typedef | identity |
typedef | predet |
typedef | liml_data |
struct | equation_system_ |
equation_system * equation_system_start (const char *param
,const char *name
,gretlopt opt
,int *err
);
Start compiling an equation system. Either param
must contain
an estimation method or the system must be given a name.
If a method is given, the system will be estimated as soon as its
definition is complete. If a name is given, the system definition
is saved on a stack and it can subsequently be estimated via various
methods. If both a name and an estimation method are given, the system
is both estimated and saved.
int equation_system_append (equation_system *sys
,const int *list
);
Adds an equation, as represented by list
, to sys
.
int equation_system_append_multi (equation_system *sys
,const char *parm1
,const char *parm2
,const DATASET *dset
);
Adds one or more equations to sys
as follows.
If parm2
is NULL
then parm1
is taken to be the
name of a matrix, and we interpret the rows of the
specified matrix as lists. Lists of differing length
can be accommodated by padding unused trailing elements
of short rows with zeros.
If parm2
is non-NULL
then parm1
is taken to be the name
of a list of regressands, one per equation; parm2
,
pertaining to regressors, should be the name of a list
if the regressors are in common across the equations
or an array of lists (one per equation) otherwise.
sys |
initialized equation system. |
|
parm1 |
the name of a pre-defined matrix or list. |
|
parm2 |
the name of list or array of lists (or |
|
dset |
pointer to dataset struct. |
int system_parse_line (equation_system *sys
,const char *line
,DATASET *dset
);
Modifies sys
according to the command supplied in line
,
which must start with "identity" (and supply an identity
to be added to the system, or "endog" (and supply a list
of endogenous variables), or "instr" (and supply a list of
instrumental variables).
int equation_system_finalize (equation_system *sys
,DATASET *dset
,gretlopt opt
,PRN *prn
);
Finalize an equation system, e.g. in response to "end system". If the system has a specified name, we save it on a stack of defined systems. If it has a specified estimation method, we go ahead and estimate it. If it has both, we do both.
int equation_system_estimate (equation_system *sys
,DATASET *dset
,gretlopt opt
,PRN *prn
);
Estimate a pre-defined equation system and print the results
to prn
.
int estimate_named_system (const char *sysname
,const char *param
,DATASET *dset
,gretlopt opt
,PRN *prn
);
int rhs_var_in_identity (const equation_system *sys
,int lhsvar
,int rhsvar
);
void print_equation_system_info (const equation_system *sys
,const DATASET *dset
,gretlopt opt
,PRN *prn
);
Prints details of an equation system to prn
.
void system_set_restriction_matrices (equation_system *sys
,gretl_matrix *R
,gretl_matrix *q
);
int system_normality_test (const equation_system *sys
,gretlopt opt
,PRN *prn
);
int multi_eqn_wald_test (const gretl_matrix *b
,const gretl_matrix *V
,const gretl_matrix *R
,const gretl_matrix *q
,int dfu
,gretlopt opt
,PRN *prn
);
int system_wald_test (const equation_system *sys
,const gretl_matrix *R
,const gretl_matrix *q
,gretlopt opt
,PRN *prn
);
double * system_get_resid_series (equation_system *sys
,int eqnum
,DATASET *dset
,int *err
);
double * equation_system_get_series (const equation_system *sys
,const DATASET *dset
,int idx
,const char *key
,int *err
);
gretl_matrix * equation_system_get_matrix (const equation_system *sys
,int idx
,int *err
);
int highest_numbered_var_in_system (const equation_system *sys
,const DATASET *dset
);
int equation_system_serialize (equation_system *sys
,SavedObjectFlags flags
,PRN *prn
);
int gretl_system_print (equation_system *sys
,const DATASET *dset
,gretlopt opt
,PRN *prn
);
const gretl_matrix * system_get_forecast_matrix (equation_system *sys
,int t1
,int t2
,DATASET *dset
,gretlopt opt
,int *err
);
gretl_matrix * sys_get_fitted_values (equation_system *sys
,int v
,int t1
,int t2
,const DATASET *dset
,int *err
);
equation_system * equation_system_from_XML (xmlNodePtr node
,xmlDocPtr doc
,int *err
);
int system_save_and_print_results (equation_system *sys
,DATASET *dset
,gretlopt opt
,PRN *prn
);
int system_autocorrelation_test (equation_system *sys
,int order
,gretlopt opt
,PRN *prn
);
int gretl_system_get_sample (const equation_system *sys
,int *t1
,int *t2
);
struct equation_system_ { char *name; /* user-specified name for system, or NULL */ int refcount; /* for saving/deleting */ int fd; /* function execution depth */ int t1; /* starting observation number */ int t2; /* ending observation number */ int smpl_t1; /* first obs in sample range */ int smpl_t2; /* last obs in sample range */ int T; /* number of observations per equation */ int df; /* T - average coeffs per equation */ int method; /* estimation method */ int neqns; /* number of stochastic equations */ int nidents; /* number of identities */ int order; /* max lag of endogenous variable */ int iters; /* number of iterations taken */ int flags; /* to record options */ double ll; /* log-likelihood (restricted) */ double llu; /* unrestricted log-likelihood */ double X2; /* chi-square test value */ double ess; /* total error sum of squares */ double diag_test; /* test stat for diagonal covariance matrix */ double bdiff; /* summary stat for change in coefficients */ double ldet; /* log-determinant of covariance matrix */ int **lists; /* regression lists for stochastic equations */ int **tslists; /* back-up of TSLS-style lists */ int *ylist; /* list of endogenous variables */ int *ilist; /* list of instruments */ int *xlist; /* list of truly exogenous variables */ int *plist; /* list of predetermined variables */ int *biglist; /* list of all variables, for data checking */ predet *pre_vars; /* array of info on predetermined regressors */ identity **idents; /* set of identities */ gretl_matrix *b; /* coefficient estimates */ gretl_matrix *vcv; /* covariance matrix of coefficients */ gretl_matrix *S; /* cross-equation covariance matrix */ gretl_matrix *R; /* LHS of any linear restrictions */ gretl_matrix *q; /* RHS of any linear restrictions */ gretl_matrix *E; /* residuals, all equations */ gretl_matrix *yhat; /* fitted values, all equations */ gretl_matrix *Gamma; /* structural form Gamma matrix (endog + identities)*/ gretl_matrix *B; /* structural form B matrix (exogenous) */ gretl_matrix *A; /* structural form A matrix (lagged endogenous) */ gretl_matrix *F; /* forecast matrix */ gretl_matrix *Sr; /* reduced-form error covariance matrix */ MODEL **models; /* set of pointers to per-equation models */ liml_data *ldata; /* extra info from LIML estimation */ };