The function may be called by the names: g02dfc, nag_correg_linregm_var_del or nag_regsn_mult_linear_delete_var.
When selecting a linear regression model it is sometimes useful to drop independent variables from the model and to examine the resulting sub-model. g02dfc updates the decomposition used in the computation of the linear regression model. The decomposition may come from g02dac, g02dcc, g02dec or a previous call to g02dfc.
For the general linear regression model with independent variables fitted, g02dac or g02dec computes a decomposition of the (weighted) independent variables and forms an upper triangular matrix and a vector . To remove an independent variable and have to be updated. The column of corresponding to the variable to be dropped is removed and the matrix is then restored to upper triangular form by applying a series of Givens rotations. The rotations are then applied to . Note that only the first elements of are affected.
The method used means that while the updated values of and are computed an updated value of from the decomposition is not available so a call to g02dec cannot be made after a call to g02dfc.
g02ddc can be used to calculate the parameter estimates, , from the information provided by g02dfc.
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Hammarling S (1985) The singular value decomposition in multivariate statistics SIGNUM Newsl.20(3) 2–25
1: – IntegerInput
On entry: the number of independent variables already in the model, .
2: – doubleInput/Output
Note: the th element of the matrix is stored in .
On entry: the results of the decomposition as returned by g02dac, g02dcc, g02dec or previous calls to g02dfc.
On exit: the updated decomposition. The first ip elements of the first column of q contain the updated value of , the upper triangular part of columns 2 to ip contain the updated matrix.
3: – IntegerInput
On entry: the stride separating matrix column elements in the array q.
4: – IntegerInput
On entry: indicates which independent variable is to be deleted from the model.
5: – double *Input/Output
On entry: the residual sum of squares for the full regression.
On exit: the residual sum of squares with the (indx)th variable removed. Note that the residual sum of squares will only be valid if the regression is of full rank.
6: – NagError *Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).
There will inevitably be some loss in accuracy in fitting a model by dropping terms from a more complex model rather than fitting it afresh using g02dac.
8Parallelism and Performance
Background information to multithreading can be found in the Multithreading documentation.
g02dfc is not threaded in any implementation.
A dataset consisting of 12 observations on four independent variables and one dependent variable is read in. The full model, including a mean term, is fitted using g02dac. The value of indx is read in and that variable dropped from the regression. The parameter estimates are calculated by g02ddc and printed. This process is repeated until indx is 0.