DCUBE

Performs a triplets test.

Required Arguments

X — Vector of length NRAN containing the data elements to be added to the test on this invocation. (Input)

COUNTNCELL by NCELL by NCELL array containing the tabulations for the triplets test. (Output, if IDO = 0 or 1. Input/Output, if IDO = 2 or 3.)

EXPECT — Expected number of counts in each cell. (Output, if IDO = 0 or 3; not referenced otherwise)

CHISQ — Chi‑squared statistic for testing the null hypothesis of a uniform distribution. (Output, if IDO = 0 or 3; not referenced otherwise)

DF — Degrees of freedom for chi‑squared. (Output, if IDO = 0 or 3; not referenced otherwise)

PROB — Probability of a larger chi‑squared. (Output, if IDO = 0 or 3; not referenced otherwise)

Optional Arguments

IDO — Processing Option. (Input)
Default: IDO = 0.

IDO

Action

0

This is the only invocation of DCUBE, and all the data are input at once.

1

This is the first invocation of DCUBE, and additional calls will be made. Initialization and updating for the NRAN data elements are performed.

2

This is an intermediate invocation of DCUBE, and updating for the NRAN data elements is performed.

3

This is the final invocation of DCUBE for this data set. Updating for the NRAN data elements is performed, followed by the wrap‑up computations.

NRAN — Number of random deviates currently input in X. (Input)
NRAN may be positive or zero on any invocation of DCUBE. NRAN must be evenly divisible by 3.
Default: NRAN = size (X,1).

NCELL — The number of equiprobable cells on each of the three axes into which the triplets are to be tabulated. (Input)
Each set of three data elements is tabulated into a three dimensional cube, each axis of which has NCELL cells.
Default: NCELL = size (COUNT,1).

LDCOUN — Leading and second dimension of matrix COUNT exactly as specified in the dimension statement in the calling program. (Input)
Default: LDCOUN = size (COUNT,1).

FORTRAN 90 Interface

Generic: CALL DCUBE (X, COUNT, EXPECT, CHISQ, DF, PROB [])

Specific: The specific interface names are S_DCUBE and D_DCUBE.

FORTRAN 77 Interface

Single: CALL DCUBE (IDO, NRAN, X, NCELL, COUNT, LDCOUN, EXPECT, CHISQ, DF, PROB)

Double: The double precision name is DDCUBE.

Description

Routine DCUBE computes the triplets test on a sequence of hypothesized pseudorandom uniform (0, 1) deviates. The triplets test is computed as follows: Each set of three successive deviates, X1, X2, and X3, is tallied into one of m3 equal sized cubes, where m = NCELL. Let i = [mX1] + 1, j = [mX2] + 1, and k = [mX3] + 1. For the triplet (X1X2X3), COUNT(ijk) is incremented.

Under the null hypothesis of pseudorandom uniform(0, 1) deviates, the m3 cells are equally probable and each has expected value e = n/m3, where n is the number of triplets tallied. An approximate chi‑squared statistic is computed as

 

where oijk = COUNT(ijk).

The computed chi‑squared has m3  1 degrees of freedom, and the null hypothesis of pseudorandom uniform (0, 1) deviates is rejected if X2 is too large.

Comments

Informational error

 

Type

Code

Description

4

1

The sum of the counts is equal to zero. There are no data elements so the chi‑squared statistic cannot be computed. CHISQ and PROB are set to NaN (not a number).

Example

In the following example, 2001 deviates generated by IMSL routine RNUN (see Chapter 18, “Random Number Generation”) are input to DCUBE, and tabulated in 27 equally sized cubes. In the example, the null hypothesis is not rejected.

 

USE IMSL_LIBRARIES

 

IMPLICIT NONE

INTEGER LDCOUN, NCELL, NRAN

PARAMETER (LDCOUN=3, NCELL=3, NRAN=2001)

!

INTEGER I, NOUT

REAL CHISQ, COUNT(LDCOUN,LDCOUN,NCELL), DF, EXPECT, PROB, &

X(NRAN)

!

CALL RNSET (123457)

! Generate the random numbers

CALL RNUN (X)

!

CALL DCUBE (X, COUNT, EXPECT, CHISQ, DF, PROB)

!

DO 10 I=1, NCELL

CALL WRRRN ('COUNT', COUNT(1:,1:,I))

10 CONTINUE

CALL UMACH (2, NOUT)

WRITE (NOUT,*) ' EXPECT = ', EXPECT

WRITE (NOUT,*) ' CHISQ = ', CHISQ

WRITE (NOUT,*) ' DF = ', DF

WRITE (NOUT,*) ' PROB = ', PROB

END

Output

 

COUNT

1 2 3

1 26.00 27.00 24.00

2 20.00 17.00 32.00

3 30.00 18.00 21.00

 

COUNT

1 2 3

1 20.00 16.00 26.00

2 22.00 22.00 27.00

3 30.00 24.00 26.00

 

COUNT

1 2 3

1 28.00 30.00 22.00

2 23.00 24.00 22.00

3 33.00 30.00 27.00

EXPECT = 24.7037

CHISQ = 21.7631

DF = 26.0000

PROB = 0.701586