nag_sum_sqs_update (g02btc) updates the sample means and sums of squares and cross-products, or sums of squares and cross-products of deviations about the mean, for a new observation. The data may be weighted.
nag_sum_sqs_update (g02btc) is an adaptation of West's WV2 algorithm; see
West (1979). This function updates the weighted means of variables and weighted sums of squares and cross-products or weighted sums of squares and cross-products of deviations about the mean for observations on
variables
, for
. For the first
observations let the mean of the
th variable be
, the cross-product about the mean for the
th and
th variables be
and the sum of weights be
. These are updated by the
th observation,
, for
, with weight
as follows:
and
The algorithm is initialized by taking
, the first observation and
.
- 1:
– Nag_SumSquareInput
-
On entry: indicates whether nag_sum_sqs_update (g02btc) is to calculate sums of squares and cross-products, or sums of squares and cross-products of deviations about the mean.
- The sums of squares and cross-products of deviations about the mean are calculated.
- The sums of squares and cross-products are calculated.
Constraint:
or .
- 2:
– IntegerInput
-
On entry: , the number of variables.
Constraint:
.
- 3:
– doubleInput
-
On entry: the weight to use for the current observation,
.
For unweighted means and cross-products set
. The use of a suitable negative value of
wt, e.g.,
will have the effect of deleting the observation.
- 4:
– const doubleInput
-
On entry: must contain the value of the th variable for the current observation, .
- 5:
– IntegerInput
-
On entry: the increment of
x.
Constraint:
.
- 6:
– double *Input/Output
-
On entry: the sum of weights for the previous observations,
.
- The update procedure is initialized.
- All elements of xbar and c are set to zero.
Constraint:
and .
On exit: contains the updated sum of weights, .
- 7:
– doubleInput/Output
-
On entry: if
,
xbar is initialized, otherwise
must contain the weighted mean of the
th variable for the previous
observations,
, for
.
On exit: contains the weighted mean of the th variable, , for .
- 8:
– doubleInput/Output
-
On entry: if
,
c must contain the upper triangular part of the matrix of weighted sums of squares and cross-products or weighted sums of squares and cross-products of deviations about the mean. It is stored packed form by column, i.e., the cross-product between the
th and
th variable,
, is stored in
.
On exit: the update sums of squares and cross-products stored as on input.
- 9:
– NagError *Input/Output
-
The NAG error argument (see
Section 2.7 in How to Use the NAG Library and its Documentation).
For a detailed discussion of the accuracy of this method see
Chan et al. (1982) and
West (1979).
nag_sum_sqs_update (g02btc) is not threaded in any implementation.
nag_sum_sqs_update (g02btc) may be used to update the results returned by
nag_sum_sqs (g02buc).
nag_cov_to_corr (g02bwc) may be used to calculate the correlation matrix from the matrix of sums of squares and cross-products of deviations about the mean
.
A program to calculate the means, the required sums of squares and cross-products matrix, and the variance matrix for a set of observations of variables.