ITROVA solves an indicator-variable regression iteratively by performing a conjugate gradient search in the coefficient space. Written in FORTRAN, it can solve a problem in 2000 indepen dent variables in 10 minutes on a microcomputer. Given the coefficient estimates, the standard analysis of variance results are easily obtained.
The ITROVA program uses two algorithmic simplifications made possible by the structure of indicator-variable regression models. In a standard regression setting, given a vector of observations y, and a design matrix X, the problem is to find a vector of coefficients b which minimizes the total squared error e'e, where e
= y - Xb. The first simplification is to observe that the gradient of e'e is -2X'e, and that in a class-effects model each component of the gradi ent is just twice the negative sum of errors for the corresponding class level.
The second simplification arises in the context of finding the least-squares solution when improvements are constrained to lie in a fixed direction d from the present solution. That is, to
find a K such that b + Kd minimizes e'e. The solution is K = z'e/z'z, where z = Xd. It should
be clear upon reflection that each element of z is the dependent variable that would be predicted if the class effects were d rather than b; z is therefore just the sum of those elements of d which correspond to the class levels pertaining
to that observation (row of X). Given these simplifications, a conjugate-gradient search for the least-squares solution can be made without computing or storing the design matrix-only the much simpler table of class level indices for each observation need be stored.