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 >
Text File  |  1985-11-29  |  5KB  |  146 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE KOLM2
  5. C
  6. C        PURPOSE
  7. C
  8. C           TESTS THE DIFFERENCE BETWEEN TWO SAMPLE DISTRIBUTION
  9. C           FUNCTIONS USING THE KOLMOGOROV-SMIRNOV TEST
  10. C
  11. C        USAGE
  12. C           CALL KOLM2(X,Y,N,M,Z,PROB)
  13. C
  14. C        DESCRIPTION OF PARAMETERS
  15. C           X    - INPUT VECTOR OF N INDEPENDENT OBSERVATIONS.  ON
  16. C                  RETURN FROM KOLM2, X HAS BEEN SORTED INTO A
  17. C                  MONOTONIC NON-DECREASING SEQUENCE.
  18. C           Y    - INPUT VECTOR OF M INDEPENDENT OBSERVATIONS.  ON
  19. C                  RETURN FROM KOLM2, Y HAS BEEN SORTED INTO A
  20. C                  MONOTONIC NON-DECREASING SEQUENCE.
  21. C           N    - NUMBER OF OBSERVATIONS IN X
  22. C           M    - NUMBER OF OBSERVATIONS IN Y
  23. C           Z    - OUTPUT VARIABLE CONTAINING THE GREATEST VALUE WITH
  24. C                  RESPECT TO THE SPECTRUM OF X AND Y OF
  25. C                  SQRT((M*N)/(M+N))*ABS(FN(X)-GM(Y)) WHERE
  26. C                  FN(X) IS THE EMPIRICAL DISTRIBUTION FUNCTION OF THE
  27. C                  SET (X) AND GM(Y) IS THE EMPIRICAL DISTRIBUTION
  28. C                  FUNCTION OF THE SET (Y).
  29. C           PROB - OUTPUT VARIABLE CONTAINING THE PROBABILITY OF
  30. C                  THE STATISTIC BEING GREATER THAN OR EQUAL TO Z IF
  31. C                  THE HYPOTHESIS THAT X AND Y ARE FROM THE SAME PDF IS
  32. C                  TRUE.  E.G., PROB= 0.05 IMPLIES THAT ONE CAN REJECT
  33. C                  THE NULL HYPOTHESIS THAT THE SETS X AND Y ARE FROM
  34. C                  THE SAME DENSITY WITH 5 PER CENT PROBABILITY OF BEING
  35. C                  INCORRECT.  PROB = 1. - SMIRN(Z).
  36. C
  37. C        REMARKS
  38. C           N AND M SHOULD BE GREATER THAN OR EQUAL TO 100.  (SEE THE
  39. C           MATHEMATICAL DESCRIPTION FOR THIS SUBROUTINE AND FOR THE
  40. C           SUBROUTINE SMIRN, CONCERNING ASYMPTOTIC FORMULAE).
  41. C
  42. C           DOUBLE PRECISION USAGE---IT IS DOUBTFUL THAT THE USER WILL
  43. C           WISH TO PERFORM THIS TEST USING DOUBLE PRECISION ACCURACY.
  44. C           IF ONE WISHES TO COMMUNICATE WITH KOLM2 IN A DOUBLE
  45. C           PRECISION PROGRAM, HE SHOULD CALL THE FORTRAN SUPPLIED
  46. C           PROGRAM SNGL(X) PRIOR TO CALLING KOLM2, AND CALL THE
  47. C           FORTRAN SUPPLIED PROGRAM DBLE(X) AFTER EXITING FROM KOLM2.
  48. C           (NOTE THAT SUBROUTINE SMIRN DOES HAVE DOUBLE PRECISION
  49. C           CAPABILITY AS SUPPLIED BY THIS PACKAGE.)
  50. C
  51. C
  52. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  53. C           SMIRN
  54. C
  55. C        METHOD
  56. C           FOR REFERENCE, SEE (1) W. FELLER--ON THE KOLMOGOROV-SMIRNOV
  57. C           LIMIT THEOREMS FOR EMPIRICAL DISTRIBUTIONS--
  58. C           ANNALS OF MATH. STAT., 19, 1948.  177-189,
  59. C           (2) N. SMIRNOV--TABLE FOR ESTIMATING THE GOODNESS OF FIT
  60. C           OF EMPIRICAL DISTRIBUTIONS--ANNALS OF MATH. STAT., 19,
  61. C           1948.  279-281.
  62. C           (3) R. VON MISES--MATHEMATICAL THEORY OF PROBABILITY AND
  63. C           STATISTICS--ACADEMIC PRESS, NEW YORK, 1964.  490-493,
  64. C           (4) B.V. GNEDENKO--THE THEORY OF PROBABILITY--CHELSEA
  65. C           PUBLISHING COMPANY, NEW YORK, 1962.  384-401.
  66. C
  67. C     ..................................................................
  68. C
  69.       SUBROUTINE KOLM2(X,Y,N,M,Z,PROB)
  70.       DIMENSION X(1),Y(1)
  71. C
  72. C        SORT X INTO ASCENDING SEQUENCE
  73. C
  74.       DO 5 I=2,N
  75.       IF(X(I)-X(I-1))1,5,5
  76.     1 TEMP=X(I)
  77.       IM=I-1
  78.       DO 3 J=1,IM
  79.       L=I-J
  80.       IF(TEMP-X(L))2,4,4
  81.     2 X(L+1)=X(L)
  82.     3 CONTINUE
  83.       X(1)=TEMP
  84.       GO TO 5
  85.     4 X(L+1)=TEMP
  86.     5 CONTINUE
  87. C
  88. C        SORT Y INTO ASCENDING SEQUENCE
  89. C
  90.       DO 10 I=2,M
  91.       IF(Y(I)-Y(I-1))6,10,10
  92.     6 TEMP=Y(I)
  93.       IM=I-1
  94.       DO 8  J=1,IM
  95.       L=I-J
  96.       IF(TEMP-Y(L))7,9,9
  97.     7 Y(L+1)=Y(L)
  98.     8 CONTINUE
  99.       Y(1)=TEMP
  100.       GO TO 10
  101.     9 Y(L+1)=TEMP
  102.    10 CONTINUE
  103. C
  104. C        CALCULATE D = ABS(FN-GM) OVER THE SPECTRUM OF X AND Y
  105. C
  106.       XN=FLOAT(N)
  107.       XN1=1./XN
  108.       XM=FLOAT(M)
  109.       XM1=1./XM
  110.       D=0.0
  111.       I=0
  112.       J=0
  113.       K=0
  114.       L=0
  115.    11 IF(X(I+1)-Y(J+1))12,13,18
  116.    12 K=1
  117.       GO TO 14
  118.    13 K=0
  119.    14 I=I+1
  120.       IF(I-N)15,21,21
  121.    15 IF(X(I+1)-X(I))14,14,16
  122.    16 IF(K)17,18,17
  123. C
  124. C        CHOOSE THE MAXIMUM DIFFERENCE, D
  125. C
  126.    17 D=AMAX1(D,ABS(FLOAT(I)*XN1-FLOAT(J)*XM1))
  127.       IF(L)22,11,22
  128.    18 J=J+1
  129.       IF(J-M)19,20,20
  130.    19 IF(Y(J+1)-Y(J))18,18,17
  131.    20 L=1
  132.       GO TO 17
  133.    21 L=1
  134.       GO TO 16
  135. C
  136. C        CALCULATE THE STATISTIC Z
  137. C
  138.    22 Z=D*SQRT((XN*XM)/(XN+XM))
  139. C
  140. C        CALCULATE THE PROBABILITY ASSOCIATED WITH Z
  141. C
  142.       CALL SMIRN(Z,PROB)
  143.       PROB=1.0-PROB
  144.       RETURN
  145.       END
  146.