[S] Box's M calculation problem (long!)

Marc Feldesman (feldesmanm@pdx.edu)
Mon, 08 Jun 1998 09:39:01 -0700

As you know, I have been working on a function to calculate Box's M and
test its significance against both the chisquare and F distributions. This
is the first SPlus function I've written and there are, no doubt, many
inefficiencies in it. I've run up against a peculiar problem. I've tested
the function with published data from Cooley and Lohnes(1971) and Morrison
(1990), both of whom give test data and "correct" answers for the
algorithm. My function, these authors, SPSS 8.0, NCSS97, and SAS 6.12 all
give identical answers, leading me to conclude that I have distilled the
essence of the algorithm correctly.

Here is my problem. Abridged and annotated output from my function applied
to some of my own test data is below:

$"Group Sizes":
1 2 3
75 66 59 <===== IDENTICAL in SAS, SPSS, NCSS

$"Num Cases":
[1] 200 <====== IDENTICAL in SAS, SPSS, NCSS

$"Num Groups":
[1] 3 <======= IDENTICAL in SAS, SPSS, NCSS

$"Box's M":
[1] 22.7283 <===== ???? answer from SPSS and NCSS 25.681 (not reported
in SAS)

$"Chi Square Probability":
[1] 0.3372944 <===== ???? answer from SAS 0.2043 & NCSS, not reported in

$"Log Determinants":
[1] 27.67216 27.59350 27.35155 <======IDENTICAL to SPSS, SAS, NCSS

$"Pooled Within Groups Determinant":
[1] 27.66719 <======== IDENTICAL to SPSS, SAS, NCSS

$"Chi Square Statistic":
[1] 22.05943 <====== ?????? 24.924802 in SAS and NCSS, not reported in SPSS

[1] 20 <=======IDENTICAL in SAS, SPSS, NCSS

[1] 129299.2 <=======IDENTICAL in SAS, SPSS, and NCSS

$"F Statistic":
[1] 1.102796 <=====????? 1.246 in SPSS and NCSS, not reported in SAS

$"F Probability":
[1] 0.3375029 <=====????? 0.204 in SPSS and NCSS, not reported in SAS

I've manually calculated the M statistic using the determinantal
information provided by all of the programs. My hand calculations give me
the same answers as I report above (for the SPlus function), suggesting
that SAS, SPSS, and NCSS are all wrong, something I find impossible to

The wrong answers are all interrelated. The figure that is incorrect is
the Box's M value itself. All other incorrect values depend on it.

For those unfamiliar with Box's M, it is calculated as:

Let ni=n-1 for the i th population
S = pooled within groups covariance matrix
Si = covariance matrix for ith group

M = (Sum(ni) * ln|S|) - Sum(ni * ln|Si|)

So, for the example above

M = (197 * 27.66719) - [(74*27.67216) + (65*27.59350) + (58*27.35155)]

M = 22.7292

Sorry to be such a nuisance, but I'm completely stumped here.
Dr. Marc R. Feldesman
Professor and Chairman
Anthropology Department
Portland State University
P.O. Box 751
Portland, Oregon 97207
email: feldesmanm@pdx.edu
phone: 503-725-3081
fax: 503-725-3905
This message was distributed by s-news@wubios.wustl.edu. To unsubscribe
send e-mail to s-news-request@wubios.wustl.edu with the BODY of the
message: unsubscribe s-news