home *** CD-ROM | disk | FTP | other *** search
- C
- C ..................................................................
- C
- C SUBROUTINE KOLMO
- C
- C PURPOSE
- C TESTS THE DIFFERENCE BETWEEN EMPIRICAL AND THEORETICAL
- C DISTRIBUTIONS USING THE KOLMOGOROV-SMIRNOV TEST
- C
- C USAGE
- C CALL KOLMO(X,N,Z,PROB,IFCOD,U,S,IER)
- C
- C DESCRIPTION OF PARAMETERS
- C X - INPUT VECTOR OF N INDEPENDENT OBSERVATIONS. ON
- C RETURN FROM KOLMO, X HAS BEEN SORTED INTO A
- C MONOTONIC NON-DECREASING SEQUENCE.
- C N - NUMBER OF OBSERVATIONS IN X
- C Z - OUTPUT VARIABLE CONTAINING THE GREATEST VALUE WITH
- C RESPECT TO X OF SQRT(N)*ABS(FN(X)-F(X)) WHERE
- C F(X) IS A THEORETICAL DISTRIBUTION FUNCTION AND
- C FN(X) AN EMPIRICAL DISTRIBUTION FUNCTION.
- C PROB - OUTPUT VARIABLE CONTAINING THE PROBABILITY OF
- C THE STATISTIC BEING GREATER THAN OR EQUAL TO Z IF
- C THE HYPOTHESIS THAT X IS FROM THE DENSITY UNDER
- C CONSIDERATION IS TRUE. E.G., PROB = 0.05 IMPLIES
- C THAT ONE CAN REJECT THE NULL HYPOTHESIS THAT THE SET
- C X IS FROM THE DENSITY UNDER CONSIDERATION WITH 5 PER
- C CENT PROBABILITY OF BEING INCORRECT. PROB = 1. -
- C SMIRN(Z).
- C IFCOD- A CODE DENOTING THE PARTICULAR THEORETICAL
- C PROBABILITY DISTRIBUTION FUNCTION BEING CONSIDERED.
- C = 1---F(X) IS THE NORMAL PDF.
- C = 2---F(X) IS THE EXPONENTIAL PDF.
- C = 3---F(X) IS THE CAUCHY PDF.
- C = 4---F(X) IS THE UNIFORM PDF.
- C = 5---F(X) IS USER SUPPLIED.
- C U - WHEN IFCOD IS 1 OR 2, U IS THE MEAN OF THE DENSITY
- C GIVEN ABOVE.
- C WHEN IFCOD IS 3, U IS THE MEDIAN OF THE CAUCHY
- C DENSITY.
- C WHEN IFCOD IS 4, U IS THE LEFT ENDPOINT OF THE
- C UNIFORM DENSITY.
- C WHEN IFCOD IS 5, U IS USER SPECIFIED.
- C S - WHEN IFCOD IS 1 OR 2, S IS THE STANDARD DEVIATION OF
- C DENSITY GIVEN ABOVE, AND SHOULD BE POSITIVE.
- C WHEN IFCOD IS 3, U - S SPECIFIES THE FIRST QUARTILE
- C OF THE CAUCHY DENSITY. S SHOULD BE NON-ZERO.
- C IF IFCOD IS 4, S IS THE RIGHT ENDPOINT OF THE UNIFORM
- C DENSITY. S SHOULD BE GREATER THAN U.
- C IF IFCOD IS 5, S IS USER SPECIFIED.
- C IER - ERROR INDICATOR WHICH IS NON-ZERO IF S VIOLATES ABOVE
- C CONVENTIONS. ON RETURN NO TEST HAS BEEN MADE, AND X
- C AND Y HAVE BEEN SORTED INTO MONOTONIC NON-DECREASING
- C SEQUENCES. IER IS SET TO ZERO ON ENTRY TO KOLMO.
- C IER IS CURRENTLY SET TO ONE IF THE USER-SUPPLIED PDF
- C IS REQUESTED FOR TESTING. THIS SHOULD BE CHANGED
- C (SEE REMARKS) WHEN SOME PDF IS SUPPLIED BY THE USER.
- C
- C REMARKS
- C N SHOULD BE GREATER THAN OR EQUAL TO 100. (SEE THE
- C MATHEMATICAL DESCRIPTION GIVEN FOR THE PROGRAM SMIRN,
- C CONCERNING ASYMPTOTIC FORMULAE) ALSO, PROBABILITY LEVELS
- C DETERMINED BY THIS PROGRAM WILL NOT BE CORRECT IF THE
- C SAME SAMPLES ARE USED TO ESTIMATE PARAMETERS FOR THE
- C CONTINUOUS DISTRIBUTIONS WHICH ARE USED IN THIS TEST.
- C (SEE THE MATHEMATICAL DESCRIPTION FOR THIS PROGRAM)
- C F(X) SHOULD BE A CONTINUOUS FUNCTION.
- C ANY USER SUPPLIED CUMULATIVE PROBABILITY DISTRIBUTION
- C FUNCTION SHOULD BE CODED BEGINNING WITH STATEMENT 26 BELOW,
- C AND SHOULD RETURN TO STATEMENT 27.
- 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 KOLMO IN A DOUBLE
- C PRECISION PROGRAM, HE SHOULD CALL THE FORTRAN SUPPLIED
- C PROGRAM SNGL(X) PRIOR TO CALLING KOLMO, AND CALL THE
- C FORTRAN SUPPLIED PROGRAM DBLE(X) AFTER EXITING FROM KOLMO.
- 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, NDTR, AND ANY USER SUPPLIED SUBROUTINES REQUIRED.
- 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 KOLMO(X,N,Z,PROB,IFCOD,U,S,IER)
- DIMENSION X(1)
- C
- C NON DECREASING ORDERING OF X(I)'S (DUBY METHOD)
- C
- IER=0
- 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 COMPUTES MAXIMUM DEVIATION DN IN ABSOLUTE VALUE BETWEEN
- C EMPIRICAL AND THEORETICAL DISTRIBUTIONS
- C
- NM1=N-1
- XN=N
- DN=0.0
- FS=0.0
- IL=1
- 6 DO 7 I=IL,NM1
- J=I
- IF(X(J)-X(J+1))9,7,9
- 7 CONTINUE
- 8 J=N
- 9 IL=J+1
- FI=FS
- FS=FLOAT(J)/XN
- IF(IFCOD-2)10,13,17
- 10 IF(S)11,11,12
- 11 IER=1
- GO TO 29
- 12 Z =(X(J)-U)/S
- CALL NDTR(Z,Y,D)
- GO TO 27
- 13 IF(S)11,11,14
- 14 Z=(X(J)-U)/S+1.0
- IF(Z)15,15,16
- 15 Y=0.0
- GO TO 27
- 16 Y=1.-EXP(-Z)
- GO TO 27
- 17 IF(IFCOD-4)18,20,26
- 18 IF(S)19,11,19
- 19 Y=ATAN((X(J)-U)/S)*0.3183099+0.5
- GO TO 27
- 20 IF(S-U)11,11,21
- 21 IF(X(J)-U)22,22,23
- 22 Y=0.0
- GO TO 27
- 23 IF(X(J)-S)25,25,24
- 24 Y=1.0
- GO TO 27
- 25 Y=(X(J)-U)/(S-U)
- GO TO 27
- 26 IER=1
- GO TO 29
- 27 EI=ABS(Y-FI)
- ES=ABS(Y-FS)
- DN=AMAX1(DN,EI,ES)
- IF(IL-N)6,8,28
- C
- C COMPUTES Z=DN*SQRT(N) AND PROBABILITY
- C
- 28 Z=DN*SQRT(XN)
- CALL SMIRN(Z,PROB)
- PROB=1.0-PROB
- 29 RETURN
- END