gmdh.combi {GMDHreg} | R Documentation |
GMDH Combinatorial
Description
Build a regression model performing GMDH Combinatorial.
This is the basic GMDH algorithm. For more information, please read the package's vignette.
Usage
gmdh.combi(
X,
y,
G = 2,
criteria = c("PRESS", "test", "ICOMP"),
x.test = NULL,
y.test = NULL
)
Arguments
X |
matrix with N>1 columns and M rows, containing independent variables in the model. |
y |
vector or matrix containing dependent variable in the model. |
G |
polynomial degree. |
criteria |
GMDH external criteria. Values:
|
x.test |
matrix with a sample randomly drawn from the initial data. This sample should not be included in X. |
y.test |
vector or matrix with y values correspond with x.test values. |
Value
An object of class 'combi'. This is a list with two elements: results and G.
Results is a list with two elements:
coef: coeficients of final selected GMDH Combinatorial model.
CV: external criteria value for selected model.
G the grade of polynomial used in GMDH Combinatorial model.
References
Bozdogan, H. and Haughton, D.M.A. (1998): "Information complexity criteria for regression models", Computational Statistics & Data Analysis, 28, pp. 51-76 <doi: 10.1016/S0167-9473(98)00025-5>
Hild, Ch. R. and Bozdogan, H. (1995): "The use of information-based model selection criteria in the GMDH algorithm", Systems Analysis Modelling Simulation, 20(1-2), pp. 29-50
Ivakhnenko, A.G. (1968): "The Group Method of Data Handling - A Rival of the Method of Stochastic Approximation", Soviet Automatic Control, 13(3), pp. 43-55
Müller, J.-A., Ivachnenko, A.G. and Lemke, F. (1998): "GMDH Algorithms for Complex Systems Modelling", Mathematical and Computer Modelling of Dynamical Systems, 4(4), pp. 275-316 <doi: 10.1080/13873959808837083>
Examples
set.seed(123)
x <- matrix(data = c(rnorm(1050)), ncol = 3, nrow = 350)
colnames(x) <- c("a", "b", "c")
y <- matrix(data = c(10 + x[, "a"] + x[, "b"]^2 + x[, "c"]^3), ncol = 1)
colnames(y) <- "y"
x.test <- x[1:10, ]
y.test <- y[1:10]
x <- x[-c(1:10), ]
y <- y[-c(1:10)]
mod <- gmdh.combi(X = x, y = y, criteria = "PRESS")
pred <- predict(mod, x.test)
summary(sqrt((pred - y.test)^2))