gets-package {gets} | R Documentation |
General-to-Specific (GETS) and Indicator Saturation (ISAT) Modelling
Description
The gets package provides functions and methods for General-to-Specific (GETS) and Indicator Saturation (ISAT) modelling. GETS modelling is a powerful and flexible variable selection algorithm that returns a parsimonious and interpretable model. It is ideally suited for the development of models that can be used for counterfactual and predictive scenario analysis (e.g. conditional forecasting). ISAT modelling provides a comprehensive, flexible and powerful approach to the identification of structural breaks and outliers.
The code of the package originated in relation with the research project G. Sucarrat and A. Escribano (2012). In 2014, Felix Pretis and James Reade joined for the development of the isat
code and related functions. Moritz Schwarz and Jonas Kurle joined the development team in 2020.
Details
Version: | 0.38 |
Date: | 2024-07-11 |
Licence: | GPL-2 |
GETS modelling
In the package gets, GETS methods are available for the following model classes:
Linear regression, both static and dynamic, see
arx
,gets.arx
andgets.lm
Variance models, both static and dynamic, see
arx
Logit models, both static and dynamic, see
logitx
andgets.logitx
The function arx
estimates a static linear regression, or a dynamic AR-X model with (optionally) a log-variance specification. The log-variance specification can either be static or a dynamic log-variance model with covariates (a 'log-ARCH-X' model). For the statistical details of the model, see Section 4 in Pretis, Reade and Sucarrat (2018). The function logitx
estimates a static logit model, or a dynamic logit model with covariates (optionally). For complete user-specified GETS modelling, see getsFun
.
ISAT modelling
ISAT methods are available for:
Linear regression, both static and dynamic, see
isat
The isat
function undertakes GETS model selection of an indicator saturated mean specification. Extraction functions (mainly S3 methods) are also available, together with additional auxiliary functions. For complete user-specified ISAT modelling, see blocksFun
.
Vignettes
Two vignettes are available in the package (type browseVignettes("gets")
to access them):
An introduction to the gets package
User-Specified General-to-Specific (GETS) and Indicator Saturation (ISAT) Methods
The former is a mildly modified version of Pretis, Reade and Sucarrat (2018), whereas the latter is an updated version of Sucarrat (2020).
Author(s)
Jonas Kurle: | https://www.jonaskurle.com/ | |
Felix Pretis: | https://felixpretis.climateeconometrics.org/ | |
James Reade: | https://sites.google.com/site/jjamesreade/ | |
Moritz Schwarz: | https://www.inet.ox.ac.uk/people/moritz-schwarz | |
Genaro Sucarrat: | https://www.sucarrat.net/ | |
Maintainer: Genaro Sucarrat
References
Jurgen A. Doornik, David F. Hendry, and Felix Pretis (2013): 'Step Indicator Saturation', Oxford Economics Discussion Paper, 658. https://ideas.repec.org/p/oxf/wpaper/658.html
Felix Pretis, James Reade and Genaro Sucarrat (2018): 'Automated General-to-Specific (GETS) Regression Modeling and Indicator Saturation for Outliers and Structural Breaks'. Journal of Statistical Software 86, Number 3, pp. 1-44. doi:10.18637/jss.v086.i03
Carlos Santos, David F. Hendry and Soren Johansen (2007): 'Automatic selection of indicators in a fully saturated regression'. Computational Statistics, vol 23:1, pp.317-335. doi:10.1007/s00180-007-0054-z
Genaro Sucarrat (2020): 'User-Specified General-to-Specific and Indicator Saturation Methods'. The R Journal 12:2, pages 388-401. https://journal.r-project.org/archive/2021/RJ-2021-024/
Genaro Sucarrat and Alvaro Escribano (2012): 'Automated Financial Model Selection: General-to-Specific Modelling of the Mean and Volatility Specifications', Oxford Bulletin of Economics and Statistics 74, Issue 5 (October), pp. 716-735.
See Also
arx
, gets.arx
, getsm
, getsv
, isat
, getsFun
, blocksFun
Examples
##Simulate from an AR(1):
set.seed(123)
y <- arima.sim(list(ar=0.4), 60)
##Estimate an AR(2) with intercept as mean specification
##and a log-ARCH(4) as log-volatility specification:
myModel <- arx(y, mc=TRUE, ar=1:2, arch=1:4)
##GETS modelling of the mean of myModel:
simpleMean <- getsm(myModel)
##GETS modelling of the log-variance of myModel:
simpleVar <- getsv(myModel)
##results:
print(simpleMean)
print(simpleVar)
##step indicator saturation of an iid normal series:
set.seed(123)
y <- rnorm(30)
isat(y)