Performs a pairs test.
X — Vector of length NRAN containing the data elements to be added to the test on this invocation. (Input)
LAG — The lag to
be used in computing the pairs statistic. (Input)
Pairs (X(i),
X(i
+ LAG))
for i = 1, K, N − LAG
are tabulated, where N is the total sample size.
COUNT — NCELL by NCELL matrix containing the count of the number of pairs in each cell. (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)
IDO — Processing
option. (Input)
Default: IDO = 0.
IDO Action
0 This is the only invocation of PAIRS, and all the data are input at once.
1 This is the first invocation of PAIRS, and additional calls will be made. Initialization and updating for the NRAN data elements are performed.
2 This is an intermediate invocation of PAIRS, and updating for the NRAN data elements is performed.
3 This is the final invocation of PAIRS. 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 PAIRS.
Default:
NRAN = size
(X,1).
NCELL — Number of
equiprobable cells on each axis into which the pairs statistics are to be
tabulated. (Input)
Default: NCELL = size (COUNT,1).
LDCOUN — Leading
dimension of COUNT
exactly as specified in the dimension statement of the calling
program. (Input)
Default: LDCOUN = size (COUNT,1).
Generic: CALL PAIRS (X, LAG, COUNT, EXPECT, CHISQ, DF, PROB [,…])
Specific: The specific interface names are S_PAIRS and D_PAIRS.
Single: CALL PAIRS (IDO, NRAN, X, NCELL, LAG, COUNT, LDCOUN, EXPECT, CHISQ, DF, PROB)
Double: The double precision name is DPAIRS.
Routine PAIRS
computes the pairs test (or the Good’s serial test) on a hypothesized sequence
of uniform (0,1) pseudorandom numbers. The test proceeds as follows. Subsequent
pairs
(X(i),
X(i
+ LAG))
are tallied into a k × k
matrix, where k = NCELL.
In this tally, element (j, m) of the matrix is incremented,
where
where l = LAG, and the notation ⌊ ⌋ represents the greatest integer function, ⌊Y⌋ is the greatest integer less than or equal to Y, where Y is a real number. If l = 1, then i = 1, 3, 5, K, n − 1. If l > 1, then i = 1, 2, 3, …, n − l, where n is the total number of pseudorandom numbers input on the current invocation of PAIRS (i.e., n = NRAN).
Given the tally matrix in COUNT, chi-squared is computed as
where e = Σoij/k2, and oij is the observed count in cell (i, j) (oij = COUNT(i, j)).
Because pair statistics for the trailing observations are not tallied on any call, the user should call PAIRS with NRAN as large as possible. For LAG < 20 and NRAN = 2000, little power is lost.
Informational errors
Type Code
3 1 For better efficiency, it is recommended that NRAN be at least twice as large as LAG.
4 2 The sum of the counts is zero. All output statistics are set to NaN (not a number).
The following example illustrates the calculations of the PAIRS statistics when a random sample of size 104 is used and the LAG is 1. The results are not significant. On each call to PAIRS, 2000 random deviates are processed. On the first call, initialization is also performed, while on the fifth call the wrap-up computations are performed. Routine RNUN (see Chapter 18, Random Number Generation) is used in obtaining the pseudorandom deviates.
USE IMSL_LIBRARIES
IMPLICIT NONE
INTEGER LAG, LDCOUN, NCELL, NOBS
PARAMETER (LAG=5, LDCOUN=10, NCELL=10, NOBS=2000)
!
INTEGER I, IDO, NOUT
REAL CHISQ, COUNT(LDCOUN,NCELL), DF, EXPECT, PROB, X(NOBS)
!
CALL RNSET (123467)
!
DO 10 I=1, 5
CALL RNUN (X)
IF (I .EQ. 1) THEN
IDO = 1
ELSE IF (I .EQ. 5) THEN
IDO = 3
ELSE
IDO = 2
END IF
CALL PAIRS (X, LAG, COUNT, EXPECT, CHISQ, DF, PROB, IDO=IDO)
10 CONTINUE
CALL UMACH (2, NOUT)
CALL WRRRN ('COUNT', COUNT)
WRITE(NOUT,'('' Expect = '', F12.2, /, '' Chi-squared = '', F12.2, &
'' DF = '', F12.0, /, '' PROBABILITY = '', F12.4)') &
EXPECT, CHISQ, DF, PROB
END
COUNT
1 2
3 4
5 6
7 8
9
1 111.0 82.0
95.0 117.0 102.0 102.0
112.0 84.0 90.0
2
104.0 106.0 109.0 108.0
101.0 97.0 102.0
92.0 109.0
3 88.0
111.0 86.0 105.0
112.0 79.0 103.0 105.0
106.0
4 91.0 110.0
108.0 92.0 88.0
108.0 113.0 93.0
105.0
5 104.0 105.0
103.0 104.0 101.0
94.0 96.0 86.0
93.0
6 98.0 104.0
103.0 104.0 79.0
89.0 92.0 104.0 92.0
7
103.0 91.0 97.0
101.0 116.0 83.0 117.0
118.0 106.0
8 105.0
105.0 110.0 91.0
92.0 82.0 100.0 104.0
110.0
9 92.0 102.0
82.0 101.0 93.0 128.0
101.0 109.0 125.0
10
79.0 99.0 103.0 97.0
104.0 101.0 93.0
93.0 98.0
10
1 73.0
2
88.0
3 99.0
4
114.0
5 103.0
6
99.0
7 99.0
8
89.0
9 98.0
10 105.0
Expect
= 99.75
Chi-squared
= 104.31 DF
= 99.
Probability
= 0.3379
PHONE: 713.784.3131 FAX:713.781.9260 |