optOrd: Optimal Order Selection

View source: R/optOrd.R

optOrdR Documentation

Optimal Order Selection


From a matrix with values of an information criterion for different orders p and q of an autoregressive-moving-average (ARMA) model, the optimal orders are selected.


optOrd(mat, restr = NULL, sFUN = min)



a numeric matrix, whose rows represent the AR orders p = 0, 1, ..., p_{max} and whose columns represent the MA orders q = 0, 1, q_{max}; the elements of the matrix are then the values of an information criterion calculated for ARMA models with the different order combinations; a matrix returned by the function critMatrix of the smoots package shares these characteristics.


a single expression (not a character object) that defines further restrictions; the standard logical operators, e.g. >=, & or ==, can be used; refer to the rows with p and to the columns with q; is set to NULL by default, i.e. no restrictions are imposed.


the selection function; is set to min, i.e. the minimal value that meets the restrictions restr is selected and the corresponding orders p and q are returned.


Given a matrix mat filled with the values of an information criterion for different estimated ARMA(p,q) models, where the rows represent different orders p = 0, 1, ..., p_{max} and where the columns represent the orders q = 0, 1, ..., q_{max}, the function returns a vector with the optimal orders p and q. Further selection restrictions can be passed to the argument restr as an expression. To implement a restriction, the rows and columns are addressed via p and q, respectively. Moreover, standard boolean operators such as ==, >= or & can be used. See the Section Examples for examples of different restrictions. In many cases, the minimum value of a criterion is considered to indicate the best model. However, in some other cases a different selection approach might be appropriate. Therefore, a selection function can be considered by means of the argument sFUN. The default is sFUN = min, i.e. the function min is applied to select the optimal orders.


The function returns a vector with two elements. The first element is the optimal order p, whereas the second element is the selected optimal order q.


  • Sebastian Letmathe (Scientific Employee) (Department of Economics, Paderborn University),


## Not run: 
Xt <- arima.sim(model = list(ar = c(1.2, -0.5), ma = 0.7), n = 1000) + 7
mat <- smoots::critMatrix(Xt)
optOrd(mat)  # without restrictions
optOrd(mat, p <= q)  # with one restriction
optOrd(mat, p >= 1 & q >= 4)  # with two restrictions

## End(Not run)

smoots documentation built on Sept. 11, 2023, 9:07 a.m.