In mathematics, statistics, and computational modelling, a grey box model[1] [2] [3] [4] combines a partial theoretical structure with data to complete the model. The theoretical structure may vary from information on the smoothness of results, to models that need only parameter values from data or existing literature.[5] Thus, almost all models are grey box models as opposed to black box where no model form is assumed or white box models that are purely theoretical. Some models assume a special form such as a linear regression[6] [7] or neural network.[8] [9] These have special analysis methods. In particular linear regression techniques[10] are much more efficient than most non-linear techniques.[11] [12] The model can be deterministic or stochastic (i.e. containing random components) depending on its planned use.
The general case is a non-linear model with a partial theoretical structure and some unknown parts derived from data. Models with unlike theoretical structures need to be evaluated individually,[1] [13] [14] possibly using simulated annealing or genetic algorithms.
Within a particular model structure, parameters[14] [15] or variable parameter relations[5] [16] may need to be found. For a particular structure it is arbitrarily assumed that the data consists of sets of feed vectors f, product vectors p, and operating condition vectors c.[5] Typically c will contain values extracted from f, as well as other values. In many cases a model can be converted to a function of the form:[5] [17] [18]
m(f,p,q)where the vector function m gives the errors between the data p, and the model predictions. The vector q gives some variable parameters that are the model's unknown parts.
The parameters q vary with the operating conditions c in a manner to be determined.[17] This relation can be specified as q = Ac where A is a matrix of unknown coefficients, and c as in linear regression[6] [7] includes a constant term and possibly transformed values of the original operating conditions to obtain non-linear relations[19] [20] between the original operating conditions and q. It is then a matter of selecting which terms in A are non-zero and assigning their values. The model completion becomes an optimization problem to determine the non-zero values in A that minimizes the error terms m(f,p,Ac) over the data.[1] [16] [21] [22] [23]
Once a selection of non-zero values is made, the remaining coefficients in A can be determined by minimizing m(f,p,Ac) over the data with respect to the nonzero values in A, typically by non-linear least squares. Selection of the nonzero terms can be done by optimization methods such as simulated annealing and evolutionary algorithms. Also the non-linear least squares can provide accuracy estimates[11] [15] for the elements of A that can be used to determine if they are significantly different from zero, thus providing a method of term selection.[24] [25]
It is sometimes possible to calculate values of q for each data set, directly or by non-linear least squares. Then the more efficient linear regression can be used to predict q using c thus selecting the non-zero values in A and estimating their values. Once the non-zero values are located non-linear least squares can be used on the original model m(f,p,Ac) to refine these values .[16] [22]
A third method is model inversion,[17] [18] which converts the non-linear m(f,p,Ac) into an approximate linear form in the elements of A, that can be examined using efficient term selection[24] [25] and evaluation of the linear regression.[10] For the simple case of a single q value (q = aTc) and an estimate q* of q. Putting dq = aTc − q* gives
m(f,p,aTc) = m(f,p,q* + dq) ≈ m(f,p.q*) + dq m’(f,p,q*) = m(f,p.q*) + (aTc − q*) m’(f,p,q*)
so that aT is now in a linear position with all other terms known, and thus can be analyzed by linear regression techniques. For more than one parameter the method extends in a direct manner.[5] [18] [17] After checking that the model has been improved this process can be repeated until convergence. This approach has the advantages that it does not need the parameters q to be able to be determined from an individual data set and the linear regression is on the original error terms[5]
Where sufficient data is available, division of the data into a separate model construction set and one or two evaluation sets is recommended. This can be repeated using multiple selections of the construction set and the resulting models averaged or used to evaluate prediction differences.
A statistical test such as chi-squared on the residuals is not particularly useful.[26] The chi squared test requires known standard deviations which are seldom available, and failed tests give no indication of how to improve the model.[11] There are a range of methods to compare both nested and non nested models. These include comparison of model predictions with repeated data.
An attempt to predict the residuals m with the operating conditions c using linear regression will show if the residuals can be predicted.[21] [22] Residuals that cannot be predicted offer little prospect of improving the model using the current operating conditions.[5] Terms that do predict the residuals are prospective terms to incorporate into the model to improve its performance.[21]
The model inversion technique above can be used as a method of determining whether a model can be improved. In this case selection of nonzero terms is not so important and linear prediction can be done using the significant eigenvectors of the regression matrix. The values in A determined in this manner need to be substituted into the nonlinear model to assess improvements in the model errors. The absence of a significant improvement indicates the available data is not able to improve the current model form using the defined parameters.[5] Extra parameters can be inserted into the model to make this test more comprehensive.