SUBROUTINE HFNPLT(X,N) C C PURPOSE--THIS SUBROUTINE GENERATES A HALFNORMAL C PROBABILITY PLOT. C THE PROTOTYPE HALFNORMAL DISTRIBUTION USED HEREIN C HAS MEAN = SQRT(2/PI) = 0.79788456 C AND STANDARD DEVIATION = 1. C THIS DISTRIBUTION IS DEFINED FOR ALL NON-NEGATIVE X C AND HAS THE PROBABILITY DENSITY FUNCTION C F(X) = (2/SQRT(2*PI)) * EXP(-X*X/2). C THE PROTOTYPE HALFNORMAL DISTRIBUTION USED HEREIN C IS THE DISTRIBUTION OF THE VARIATE X = ABS(Z) WHERE C THE VARIATE Z IS NORMALLY DISTRIBUTED C WITH MEAN = 0 AND STANDARD DEVIATION = 1. C AS USED HEREIN, A PROBABILITY PLOT FOR A DISTRIBUTION C IS A PLOT OF THE ORDERED OBSERVATIONS VERSUS C THE ORDER STATISTIC MEDIANS FOR THAT DISTRIBUTION. C THE HALFNORMAL PROBABILITY PLOT IS USEFUL IN C GRAPHICALLY TESTING THE COMPOSITE (THAT IS, C LOCATION AND SCALE PARAMETERS NEED NOT BE SPECIFIED) C HYPOTHESIS THAT THE UNDERLYING DISTRIBUTION C FROM WHICH THE DATA HAVE BEEN RANDOMLY DRAWN C IS THE HALFNORMAL DISTRIBUTION. C IF THE HYPOTHESIS IS TRUE, THE PROBABILITY PLOT C SHOULD BE NEAR-LINEAR. C A MEASURE OF SUCH LINEARITY IS GIVEN BY THE C CALCULATED PROBABILITY PLOT CORRELATION COEFFICIENT. C INPUT ARGUMENTS--X = THE SINGLE PRECISION VECTOR OF C (UNSORTED OR SORTED) OBSERVATIONS. C --N = THE INTEGER NUMBER OF OBSERVATIONS C IN THE VECTOR X. C OUTPUT--A ONE-PAGE HALFNORMAL PROBABILITY PLOT. C PRINTING--YES. C RESTRICTIONS--THE MAXIMUM ALLOWABLE VALUE OF N C FOR THIS SUBROUTINE IS 7500. C OTHER DATAPAC SUBROUTINES NEEDED--SORT, UNIMED, NORPPF, PLOT. C FORTRAN LIBRARY SUBROUTINES NEEDED--SQRT. C MODE OF INTERNAL OPERATIONS--SINGLE PRECISION. C LANGUAGE--ANSI FORTRAN. C REFERENCES--DANIEL, 'USE OF HALF-NORMAL PLOTS IN C INTERPRETING FACTORIAL TWO-LEVEL EXPERIMENTS', C TECHNOMETRICS, 1959, PAGES 311-341. C --FILLIBEN, 'TECHNIQUES FOR TAIL LENGTH ANALYSIS', C PROCEEDINGS OF THE EIGHTEENTH CONFERENCE C ON THE DESIGN OF EXPERIMENTS IN ARMY RESEARCH C DEVELOPMENT AND TESTING (ABERDEEN, MARYLAND, C OCTOBER, 1972), PAGES 425-450. C --HAHN AND SHAPIRO, STATISTICAL METHODS IN ENGINEERING, C 1967, PAGES 260-308. C --JOHNSON AND KOTZ, CONTINUOUS UNIVARIATE C DISTRIBUTIONS--1, 1970, PAGES 53, 59, 81, 83. C WRITTEN BY--JAMES J. FILLIBEN C STATISTICAL ENGINEERING LABORATORY (205.03) C NATIONAL BUREAU OF STANDARDS C WASHINGTON, D. C. 20234 C PHONE: 301-921-2315 C ORIGINAL VERSION--JUNE 1972. C UPDATED --SEPTEMBER 1975. C UPDATED --NOVEMBER 1975. C UPDATED --FEBRUARY 1976. C C--------------------------------------------------------------------- C DIMENSION X(1) DIMENSION Y(7500),W(7500) COMMON /BLOCK2/ WS(15000) EQUIVALENCE (Y(1),WS(1)),(W(1),WS(7501)) C DATA TAU/1.41223913/ C IPR=6 IUPPER=7500 C C CHECK THE INPUT ARGUMENTS FOR ERRORS C IF(N.LT.1.OR.N.GT.IUPPER)GOTO50 IF(N.EQ.1)GOTO55 HOLD=X(1) DO60I=2,N IF(X(I).NE.HOLD)GOTO90 60 CONTINUE WRITE(IPR, 9)HOLD GOTO90 50 WRITE(IPR,17)IUPPER WRITE(IPR,47)N RETURN 55 WRITE(IPR,18) RETURN 90 CONTINUE 9 FORMAT(1H ,109H***** NON-FATAL DIAGNOSTIC--THE FIRST INPUT ARGUME 1NT (A VECTOR) TO THE HFNPLT SUBROUTINE HAS ALL ELEMENTS = ,E15.8,6 1H *****) 17 FORMAT(1H , 98H***** FATAL ERROR--THE SECOND INPUT ARGUMENT TO THE 1 HFNPLT SUBROUTINE IS OUTSIDE THE ALLOWABLE (1,,I6,16H) INTERVAL * 1****) 18 FORMAT(1H ,100H***** NON-FATAL DIAGNOSTIC--THE SECOND INPUT ARGUME 1NT TO THE HFNPLT SUBROUTINE HAS THE VALUE 1 *****) 47 FORMAT(1H , 35H***** THE VALUE OF THE ARGUMENT IS ,I8 ,6H *****) C C-----START POINT----------------------------------------------------- C AN=N C C SORT THE DATA C CALL SORT(X,N,Y) C C GENERATE UNIFORM ORDER STATISTIC MEDIANS C CALL UNIMED(N,W) C C COMPUTE HALFNORMAL ORDER STATISTIC MEDIANS C DO100I=1,N Q=W(I) Q=(Q+1.0)/2.0 CALL NORPPF(Q,W(I)) 100 CONTINUE C C PLOT THE ORDERED OBSERVATIONS VERSUS ORDER STATISTICS MEDIANS. C WRITE OUT THE TAIL LENGTH MEASURE OF THE DISTRIBUTION C AND THE SAMPLE SIZE. C CALL PLOT(Y,W,N) WRITE(IPR,105)TAU,N C C COMPUTE THE PROBABILITY PLOT CORRELATION COEFFICIENT. C COMPUTE LOCATION AND SCALE ESTIMATES C FROM THE INTERCEPT AND SLOPE OF THE PROBABILITY PLOT. C THEN WRITE THEM OUT. C SUM1=0.0 SUM2=0.0 DO200I=1,N SUM1=SUM1+Y(I) SUM2=SUM2+W(I) 200 CONTINUE YBAR=SUM1/AN WBAR=SUM2/AN SUM1=0.0 SUM2=0.0 SUM3=0.0 DO300I=1,N SUM1=SUM1+(Y(I)-YBAR)*(Y(I)-YBAR) SUM2=SUM2+(Y(I)-YBAR)*(W(I)-WBAR) SUM3=SUM3+(W(I)-WBAR)*(W(I)-WBAR) 300 CONTINUE CC=SUM2/SQRT(SUM3*SUM1) YSLOPE=SUM2/SUM3 YINT=YBAR-YSLOPE*WBAR WRITE(IPR,305)CC,YINT,YSLOPE C 105 FORMAT(1H ,35HHALFNORMAL PROBABILITY PLOT (TAU = ,E15.8,1H),52X,20 1HTHE SAMPLE SIZE N = ,I7) 305 FORMAT(1H ,43HPROBABILITY PLOT CORRELATION COEFFICIENT = ,F8.5,5X, 122HESTIMATED INTERCEPT = ,E15.8,3X,18HESTIMATED SLOPE = ,E15.8) C RETURN END