Estimates of the respondent's part-worth utilities are updated after each page of paired-comparison responses is submitted.
First consider the general case of how least squares regression coefficients can be updated to include the effect of an additional observation.
Let X be a matrix of predictor variables with a row for each of n observations and a column for each variable.
Let y be a vector of responses for the first n observations.
Let z' be a row vector of predictor values for a new observation, appended as a row to X.
Let r be a response for the new observation.
Considering only the first n observations, we have the regression equation:
Xb ~ y
b = (X'X) (X'y) (1)
is the vector of coefficients that would be obtained by least squares estimation based on the first n observations.
Now consider adding one observation. The expanded layout is:
| X | | y |
| | b ~ | |' (2)
| z'| n+1 | r |
b ~ = (X'X + z'z) (X'y + zr)
is the least squares estimate based on n+l observations. Suppose we already have bn , X, y, z, and r, and we want to obtain bn+1. First consider an identity. Let
v = (X'X) Z (3)
Then it can be shown that
-1 -1 v'v
(X'X + z'z) = (X'X) - ----- (4)
1 + v'x
Substituting into equation (2), we get
r - z'b
b = b + v --------
n+1 n 1 + v'z
Equation (5) gives a formula for updating the estimate of part-worths following each response, a relatively easy computation since the numerator and denominator on the right are both scalars. We must also update the inverse as in equation (4). That is also fairly easy since the vector v is already available. If we are dealing with k attribute levels, then an updating cycle requires about 2k (k + 1) multiply and add operations. This is a significant savings when compared to the cost of re-estimating "from scratch" after each response, and the final results are identical.
Now consider how this scheme is applied to the specific situation in ACA:
•Before the first updating we set X equal to the identity matrix and both bn and y equal to the initial utility estimates.
•The vector z consists of plus and minus 1's and 0's. An element equals 1 if the corresponding attribute level appeared in the concept on the right of the screen, -1 if in the concept on the left of the screen, and 0 if that level did not appear in either concept.
•The response r is coded so that +4 means "strongly prefer right," -4 means "strongly prefer left," and 0 means indifference.