home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP2.ZIP
/
STATNONP.ZIP
/
KOLM2.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
5KB
|
146 lines
C
C ..................................................................
C
C SUBROUTINE KOLM2
C
C PURPOSE
C
C TESTS THE DIFFERENCE BETWEEN TWO SAMPLE DISTRIBUTION
C FUNCTIONS USING THE KOLMOGOROV-SMIRNOV TEST
C
C USAGE
C CALL KOLM2(X,Y,N,M,Z,PROB)
C
C DESCRIPTION OF PARAMETERS
C X - INPUT VECTOR OF N INDEPENDENT OBSERVATIONS. ON
C RETURN FROM KOLM2, X HAS BEEN SORTED INTO A
C MONOTONIC NON-DECREASING SEQUENCE.
C Y - INPUT VECTOR OF M INDEPENDENT OBSERVATIONS. ON
C RETURN FROM KOLM2, Y HAS BEEN SORTED INTO A
C MONOTONIC NON-DECREASING SEQUENCE.
C N - NUMBER OF OBSERVATIONS IN X
C M - NUMBER OF OBSERVATIONS IN Y
C Z - OUTPUT VARIABLE CONTAINING THE GREATEST VALUE WITH
C RESPECT TO THE SPECTRUM OF X AND Y OF
C SQRT((M*N)/(M+N))*ABS(FN(X)-GM(Y)) WHERE
C FN(X) IS THE EMPIRICAL DISTRIBUTION FUNCTION OF THE
C SET (X) AND GM(Y) IS THE EMPIRICAL DISTRIBUTION
C FUNCTION OF THE SET (Y).
C PROB - OUTPUT VARIABLE CONTAINING THE PROBABILITY OF
C THE STATISTIC BEING GREATER THAN OR EQUAL TO Z IF
C THE HYPOTHESIS THAT X AND Y ARE FROM THE SAME PDF IS
C TRUE. E.G., PROB= 0.05 IMPLIES THAT ONE CAN REJECT
C THE NULL HYPOTHESIS THAT THE SETS X AND Y ARE FROM
C THE SAME DENSITY WITH 5 PER CENT PROBABILITY OF BEING
C INCORRECT. PROB = 1. - SMIRN(Z).
C
C REMARKS
C N AND M SHOULD BE GREATER THAN OR EQUAL TO 100. (SEE THE
C MATHEMATICAL DESCRIPTION FOR THIS SUBROUTINE AND FOR THE
C SUBROUTINE SMIRN, CONCERNING ASYMPTOTIC FORMULAE).
C
C DOUBLE PRECISION USAGE---IT IS DOUBTFUL THAT THE USER WILL
C WISH TO PERFORM THIS TEST USING DOUBLE PRECISION ACCURACY.
C IF ONE WISHES TO COMMUNICATE WITH KOLM2 IN A DOUBLE
C PRECISION PROGRAM, HE SHOULD CALL THE FORTRAN SUPPLIED
C PROGRAM SNGL(X) PRIOR TO CALLING KOLM2, AND CALL THE
C FORTRAN SUPPLIED PROGRAM DBLE(X) AFTER EXITING FROM KOLM2.
C (NOTE THAT SUBROUTINE SMIRN DOES HAVE DOUBLE PRECISION
C CAPABILITY AS SUPPLIED BY THIS PACKAGE.)
C
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C SMIRN
C
C METHOD
C FOR REFERENCE, SEE (1) W. FELLER--ON THE KOLMOGOROV-SMIRNOV
C LIMIT THEOREMS FOR EMPIRICAL DISTRIBUTIONS--
C ANNALS OF MATH. STAT., 19, 1948. 177-189,
C (2) N. SMIRNOV--TABLE FOR ESTIMATING THE GOODNESS OF FIT
C OF EMPIRICAL DISTRIBUTIONS--ANNALS OF MATH. STAT., 19,
C 1948. 279-281.
C (3) R. VON MISES--MATHEMATICAL THEORY OF PROBABILITY AND
C STATISTICS--ACADEMIC PRESS, NEW YORK, 1964. 490-493,
C (4) B.V. GNEDENKO--THE THEORY OF PROBABILITY--CHELSEA
C PUBLISHING COMPANY, NEW YORK, 1962. 384-401.
C
C ..................................................................
C
SUBROUTINE KOLM2(X,Y,N,M,Z,PROB)
DIMENSION X(1),Y(1)
C
C SORT X INTO ASCENDING SEQUENCE
C
DO 5 I=2,N
IF(X(I)-X(I-1))1,5,5
1 TEMP=X(I)
IM=I-1
DO 3 J=1,IM
L=I-J
IF(TEMP-X(L))2,4,4
2 X(L+1)=X(L)
3 CONTINUE
X(1)=TEMP
GO TO 5
4 X(L+1)=TEMP
5 CONTINUE
C
C SORT Y INTO ASCENDING SEQUENCE
C
DO 10 I=2,M
IF(Y(I)-Y(I-1))6,10,10
6 TEMP=Y(I)
IM=I-1
DO 8 J=1,IM
L=I-J
IF(TEMP-Y(L))7,9,9
7 Y(L+1)=Y(L)
8 CONTINUE
Y(1)=TEMP
GO TO 10
9 Y(L+1)=TEMP
10 CONTINUE
C
C CALCULATE D = ABS(FN-GM) OVER THE SPECTRUM OF X AND Y
C
XN=FLOAT(N)
XN1=1./XN
XM=FLOAT(M)
XM1=1./XM
D=0.0
I=0
J=0
K=0
L=0
11 IF(X(I+1)-Y(J+1))12,13,18
12 K=1
GO TO 14
13 K=0
14 I=I+1
IF(I-N)15,21,21
15 IF(X(I+1)-X(I))14,14,16
16 IF(K)17,18,17
C
C CHOOSE THE MAXIMUM DIFFERENCE, D
C
17 D=AMAX1(D,ABS(FLOAT(I)*XN1-FLOAT(J)*XM1))
IF(L)22,11,22
18 J=J+1
IF(J-M)19,20,20
19 IF(Y(J+1)-Y(J))18,18,17
20 L=1
GO TO 17
21 L=1
GO TO 16
C
C CALCULATE THE STATISTIC Z
C
22 Z=D*SQRT((XN*XM)/(XN+XM))
C
C CALCULATE THE PROBABILITY ASSOCIATED WITH Z
C
CALL SMIRN(Z,PROB)
PROB=1.0-PROB
RETURN
END