Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Статистический анализ данных в геологии. Кн. 2

.pdf
Скачиваний:
0
Добавлен:
12.11.2023
Размер:
19.38 Mб
Скачать

COMMON /HEADLN/ IYN(2) CHARACTER* 1 IALPHA,JALPHA,IYN

C

 

DATA JALPHA Г ',T,"”.'#7$Y%7&VI”.

2 '

’*7+ 7,7 - 7 - 7 /7 07 17 27 3',

3-v,'51 ’б', 'т;'8', '9',

4’A'.’В’.’C,'D'.'E'.'F’/G',

5■ H '.T ,'J7 K 7 L7 M 7 N 7 0 7 P7 Q \

6'R ,,'S,.'T,,'U,,'V',,W 7 X ,,,Y’,'Z',’[',

7'V,,]7Л7_7", 'a', 'b’.’c'.'d'.’e',

8'f1.-g’,'h'.'i’,-j' ,'k 't',’ пт, ’n‘, ’o’,

9’P7q7r7s7t7u7v7w7x7y’

1 ■Z’.T .T .T ,'

C

DO 100 1= 1,96 IALPHA(I) = JALPHA(I)

100 CONTINUE c ■

C... IYN(1) IS N(O), IYN(2) IS Y(ES) C

I YN(1) = IALPHA'47)

IYN(2) = IALPHA(58)

C

DO 101 1=1,20 IFLUN(I) = 0

101 CONTINUE C

K5=0

K6=0

K7=0

K8=0

K9=0

K10=0

K11.--0

K12=0

K13=0

C

LZ = 0

C

LPT=0

NCHAN=60 DFLT=-999. , UPA=0.

ILP=0

IPLOT=0 IPCH=-13264

RETURN END

с

 

PROGRAM 3-2

СР32

о

 

 

о

P R O G R A M т о C O M P U T E T H E V A R IA N C E O F W S A M P L E S

о

 

 

о

о о

о

о о о

SUBROUTINE VAR1AN

COMMON Я L С/ SV(20),LZ,LU,Z11 ,Z22,D11,D22,N'ZZ,NSP,DPC,DFT1UPA COMMON /IOLUN/ 15,16,J5.J6.J4

COMMON /ASC/ IALPHA(96) CHARACTER'1 IALPHA

COMMON /IONAT/ KORF.MON.IPRT.KORFO CHARACTERS KORF,MON,IPP,T,KORfrO JTE3T WRITE(I6,200)

2C0 FORMATS UNIVARIATE STATISTICS MODULE',//) SET SUMS TO ZERO

SUMX=0.0

SUMX2=0.0

READ NUMBER OF OBSERVATIONS TO BE USED !F(KORF.EQ.'K‘) WRITE(i6,201)

201 FORMAT(A Enter number of observations: ’) READ (J5,*,END=500) NS.NCOL

lF(NS.LE.1 .OR.NCOL.NE.1) GOTO 501 DO 100 1=1,NS

READ AN OBSERVATION AND ADD TO SUM IF(KORF.EQ.'K') WRITE(I6,202) I

2C2 FORMATC Enter observation \I4,’: ’) READ (J5,*,END--500) X

SUMX=SUMX+X

SUMX2~SUMX2+X*X 100 CONTINUE

... READ IN t-TEST INFORMATION

110 WRITE(I6,205)

205 FORMAT(/’ Do you want to compute one-sample t statistic1, 1‘ - Y(es) or N(o): ')

CALL AREAD(2,J05,K05,I05,I05) IF(LZ.LT.O) RETURN

ITEST = lALPHA(JOS) IF(ITEST.EQ.V) ITEST = ’V iF(ITEST.EQ.'n') ITEST = 'N'

IF(ITEST.NE.'YLAND.ITEST.NE.'N') CALL INVLID(I) IF/ITEST.NE.'Y'.AND.iTEST.NE.'N') GOTO 110 IF(ITEST.EQ.’N') GOTO 111

WR!TE(I6,20/)

207 FORMAT//' Enter hypothetical mean of population: ') CALL RREAD/1 ,HYPM,A05,A05,A05)

3 9 3

>F\LZ LT 0) RETURN

гCOMPUTE THE VARIANCE

111 VAR=(FLOAT(NS)‘SUMX2-SUMX'SUMX) FLOAT(NS-(N5-1]l C PRINT RESULTS

IF(MON.EQ.’Y') WRITE (16,2000) NS.SUMX.SUMX2.VAR IF(IPRT.EQ.'Y') WRITE(J6.2000) NS.SUMX.SUMX2.VAR

C COMPUTETHE STANDARD DEVIATION AND MEAN STDEV=SQRT(VAR)

AMEAN=SUMX/FLOAT(NS)

CPRINT STANDARD DEVIATION AND MEAN IF(MON.EQ.'Y') WRITE (16.2001) STDEV.AMEAN IF(IPRT.EQ.'Y’) WRITE(J6,2001) STDEV.AMEAN

О О О

... COMPUTE I STATISTIC

О

IF(iTEST.EQ.’N’) GOTO 112 FLPT = FLOAT(NS) IF(STDEV.EQ.O.O) GOTO 502

TSTATC = (SQRT(FLPT) * (AMEAN • HYPM)) / STDEV

... PRINT t STATISTIC,

IF(MON.EQ.’Y') WRITE (16,2002) TSTATC

IF(IPRT.EQ.’Y’) WRITE(J6,2002) TSTATC 112 CALL PAUSE(3)

RETURN

О О О

.. END OF FILE ENCOUNTERED

500 LZ = -9 CALL CLSALL CALL INVLID(3) CALL PAUSE(2) RETURN

О О О

... INVALID DATA MATRIX DIMENSIONS

О О О

501 LZ = -9 CALL CLSALL CALL INVLID(4) CALL PAUSE(2) RETURN

... DIVIDE BY ZERO

502 LZ = -9 CALL CLSALL ’ CALL INVLID(5) CALL PAUSE(2) RETURN

2000

FORMAT )///,9X,25HNumber

of

Observations = , 10X,Mо //

112 X,22HSum of Observations

-

,F20.5,//,

234H Sum of Squares of Observations = ,F20.5,//,

37X,27HVariance of Observations = .F20.5)

2001

FORMAT (/,1 3X.21 HStandard

Deviation = ,F20 5,//,

11iX,23HMean of Observations = .F20.5)

2002 FORMAT (/,9X,25HOne-Sample t Statistic = .F20.5)

END

 

 

1P34

PROGRAM 3-4

 

 

о о о

C

/

PROGRAM TO COMPUTE-

A VARIANCE OF EACH VARIABLE 0 MEAN OF EACH VARIABLE

C COVARIANCE BETWEEN VARIABLES D CORRELATION BETWEEN VARIABLES

SUBROUTINE BICOR

COMMON /TLC/ SV(20),LZ,LU,Z1 t ,Z22,D1 1 ,D22,NZZ,NSP,DPC DFT UPA COMMON /IOLUN/ I5,I6,J5.J6.J4

COMMON /IONAT/ KORF.MON.IPRT.KORFO CHARACTERS KORF.MON.IPRT.KORFO

WRITE (I6.200)

200 FGRMAT(/' BIVARIATE STATISTICS MODULE',//)

SET SUMS TO ZERO

SUMX1 =0.0

SUMX2=0.0

SX1 SQ=0.0

, SX2SQ=0.0

' SX1 X2=0.0

READ NUMBER OF OBSERVED PAIRS TO BE USED IF(KORF.EQ.'K’) WRITE(l6,20t)

201 FORMAT)/' Enter number of observed pairs ’) READ (J5,‘,END=500) NS.NCOL

IF(NS LE 1.0R.NCOL.NE.2) GOTO50t DO 100 1=1,NS

READ AN OBSERVED PAIR AND ADD TO SUMS IF(KORF EQ.'K') WRITE(I6,202) I

202 FORMAT)’ Enter X 1, X2 of observed pair ,14. READ (J5,".END=500) X1.X2

SUMX1=SUMX1+X1

SUMX2 = SUMX2tX2 SX1SQ SX 1SQtXl "X t SX2SQ Sx2SCbX2'X2

395

SX1X2=SX1 Х2+Х1*Х2

100CONTINUE

СPRINT SUMS

IF(MON.EQ.'Y') WRITE(I6,2000) NS.SUMX1 ,SX1SQ,SUMX2,SX2SQ,SX1X2 IF(IPRT.EQ,'Y')WRITE(J6,2000) NS.SUMX1 ,SX1 SQ.SUMX2.SX2SQ.SX1X2 IF(MON.EQ.’Y') CALL PAUSE(O)

C COMPUTE AND PRINT MEAN, VARIANCE AND STANDARD DEVIATION

COF VARIABLE X1 AMEAN=SUMX1/FLOAT(NS)

VAR=(FLOAT(NS)*SX1 SQ-SUMX1 *SUMX1 )/FLOAT(NS*(NS-1)) STDEV1=SQRT(VAR)

IFfMON.EQ.'Y') WR|TE(I6,2001)AMEAN, VAR, STDEV1

IF(IPRT.EQ.’Y')WRITE(J6,2001 )AMEAN, VAR, STDEV1

C COMPUTE AND PRINT MEAN, VARIANCE AND STANDARD DEVIATION

COF VARIABLE X2 AMEAN=SUMX2/FLOAT(NS)

VAR=(FLOAT(NS)'SX2SQ-SUMX2"SUMX2)/FLOAT(NS*(NS-1)) STDEV2=SQRT(VAR)

IF(MON.EQ.'r) WRITE (16,2002) AMEAN, VAR, STDEV2 ^(IPRT.EQ.VJW RITE (J6.2002) AMEAN, VAR, STDEV2

C COMPUTE AND PRINT COVARIANCE BETWEEN X1 AND X2 COV=(FLOAT(NS)*SX1X2-SUMX1*SUMX2)/FLOAT(NS*(NS-1))

IF(MON.EQ.'Y') WRITE (16,2003) COV

IF(IPRT.EQ.’Y')WRITE (J6.2003) COV

CCOMPUTE AND PRINT CORRELATION BETWEEN X1 AND X2 DBY0 = STDEV1“STDEV2

IF(DBYO.EQ.O.O) GOTO 502 COR=COV/(STDEV1 “STDEV2) IF(MON.EQ.'Y’) WRITE (16,2004) COR IF(IPRT.EQ.’Y')WR!TE (J6.2004) COR

О О О

CALL PAUSE(3)

RETURN

... END OF FILE ENCOUNTERED

500 LZ = -9 CALL CLSALL CALL INVLID(3) CALL PAUSE(2) RETURN

О О О

... INVALID DATA MATRIX DIMENSIONS

501 LZ = -9 CALL CLSALL CALL INVLID(4) CALL PAUSE(2) RETURN

3 9 6

с

С... DIVIDE BY ZERO

С

502 LZ - -9 CALL CLSALL CALL INVLID(5) CALL PAUSE(2) RETURN

2000 FORMAT (///,5X.28H Number of Observed Pairs = .1 OX,110,//, 121X,12HSum of X1 - ,F20.5,//,

210X,23HSum of Squares of X1 = .F20.5,//, 321X,12HSum of X2 = .F20.5,//, 410X,23HSum of Squares of X2 » ,F20.5Л,

5 9X, 24HSum of Cross Products = .F20.5)

2001 FORMAT (/,20X,13HMean of X1 =. ,F20.5.//, 116X,17HVariance of X1 = ,F20.5,//,

2 6X,27HStandard Deviation of X1 = ,F20.5)

2002 FORMAT (/,20X,13HMean of X2 . .F20.5,//,

11GX,17HVariance of X2 = ,F20.5,//,

2 6X,27HStandard Deviation of X2 = ,F20.5)

2003 FORMAT (/,2X,31HCovariance Between X1 and X2 = ,F20.5)

2004 FORMAT (/,1X,32HCorrelation Between X1 and X2 = ,F20.5)

END

C

CP35 PROGRAM 3-5 C

C PROGRAM FOR ONE WAY ANALYSISOF VARIANCE C

SUBROUTINE ONEOVA

COMMON n \ . d SV(20),LZ,LU,Z11,Z22,D111D22,NZ2,NSP,DPC,DFT,UPA COMMON /IOLUN/ I5,I6,J5,J6,J4

COMMON /IONAT/ KORF,MON,IPRT,KORFO CHARACTERS KORF,MON,IPRT,KORFO

COMMON /DATQ/ P1SSA(100,2),BJNK(2,2),CJNK(2),X(100,4)

C

WRITE(I6,200)

^200 FORMAT//1 ONE WAY ANALYSIS OF VARIANCE MODULE',//)

C

NCMAX = 100

C

C READ NUMBER OPREPUCATIONS PER SAMPLEAND NUMBER OF SAMPLES C

IF(KORF.EQ.'K’) WRITE(I6,201)

201 FORMAT//’ Enter number of replications per sample', 1' and number of samples:')

READ(J5,*,END=500) NR,NS

IF/NR.LE.1.OR.NS.LE.1) GOTO 501 IF/NS.GT.NCMAX) GOTO 501

3 9 7

CSET SUMS TO ZERO P1SST=0.0 P2SST=0.0 SSA=0.0

DO 100 J-1.NS P1SSA(J,1)-0.0

100 CONTINUE DO 101 U1.NR

C READ A REPLICATE AND ADD TO SUMS IF(KORF.EQ.'K') WRITE(I6,202) I

202 FORMAT(/' Enter results of replicate ,I4,' for each sample READ(J5,*,END=500) (X(J,1),J=1,NS)

DO 102 J=1,NS P1SST=P1SST+X(J,1)*X(J,1) P2SST=P2SST+X(J,1)

P1 SSA(J,1 )=P1 SSA(J,1 )+X(J 1)

102 CONTINUE

101 CONTINUE

C CALCULATE SST

SST=P1 SST-P2SST/P2SST/FLOAT(NS*NR) NRS1=NS*NR-1

C CALCULATE SSA

DO 103 J-1.NS

SSA=SSA+P1 SSA(J,1)*P1 SSA(J,1 )/FLOAT(NR) 103 CONTINUE

SSA=SSA-P2SST*P2SST/FLOAT(NR*NS) NS1-NS-1

CCALCULATE SSW SSW=SST-SSA

NNS=NR*NS-NS

C CALCULATE MEAN SQUARES

AMSA=SSA/FLOAT(NS1)

AMSW=SSW/FLOAT(NNS) C CALCULATE F-RATIO

IF(AMSW.EQ.Q.O) GOTO 502 F=AMSA/AMSW

C PRINT RESULTS IF(MON.EQ.'N') GOTO 104 WRITE(I6,2000)

IF(SSA.LT 1.0E7) WRITE(I6,2001) SSA.NS1 ,AMSA.F !F(SSA.GE.1.0E7) WRITE(I6,2004) SSA.NS1 .AMSA.F IF(SSW.LT.1.0E7) WRITE(I6,2002) SSW.NNS.AMSW IF(SSW.GE.1 -0E7) WRITE(I6,2005) SSW.NNS.AMSW IF(SST.LT.1.0E7) WRITE(I6,2003) SST.NRS1 IF(SST.GE.1.0E7) WRITE(I6,2006) SST.NRS1

104 IF(IPRT.EQ.'N') GOTO 150 VRITE(J6,2000)

IF(SSA.LT 1.0E7) WRITE(J6,2001) SSA.NS1,AMSA.F

•398

IF(SSA.GE.1.0E7) WRITE(J6,2004) SSA.NS1 ,AMSA,F IF(SSW.LT.1.0E7) WRITE(J6,2002) SSW,NNS,AMSW IF(SSW.GE.1.0E7) WRITE(J6,2005) SSW.NNS.AMSW !F(SST.LT.1.0E7) WRITE(J6,2003) SST.NRS1 IF(SST.GE.1.0E7) Wh'TE(J6,2006) SST.NRS1

150 CALL PAUSE(3) RETURN

C

 

 

 

 

C... ENDOF FILE ENCOUNTERED

 

 

C

 

 

 

 

500 LZ - -9

 

 

 

 

CALL CLSALL

 

 

 

 

CALL INVLID(3)

 

 

 

 

CALL PAUSE(2)

 

 

 

 

RETURN

 

 

 

 

C

 

 

 

 

C. INVALID DATA MATRIX DIMENSIONS

 

 

C

 

 

 

 

501 LZ = -9

 

 

 

 

CALL CLSALL

 

 

 

 

CALL INVLID(4)

 

 

 

 

CALL PAUSE(2)

 

 

 

 

RETURN

 

 

 

 

C

 

 

 

 

C... DIVIDE BY ZERO

 

 

 

 

C

 

 

 

 

502 LZ = -9

 

 

 

 

CALL CLSALL

 

 

 

 

CALL INVLID(5)

 

 

 

 

CALL PAUSE(2)

 

 

 

 

RETURN

Source of',14X,'Sum

of Degrees

of Mean'/

2000 FORMAT(///,'

1' Variaiion',14X,'Squares

Freedom

Squares

F-Tesi',/,

21X,60(1 H-))

 

 

 

 

2001 FORMAT(14H

Among

Samples,7X^10,2,110^10.2/,

141 X.F20.4)

Among

Samples,7Х.ЕЮ.3,110,E10.3,/,

2004 FORMAT(14H

141X.F20.4)

2002 FORMAT(21H Wiihin Replicaiions ,F10.2,110,F10.2)

2005 FORMAT(21H Wiihin Replicaiions ,E10.3,110,E10.3)

2003 FORMAT(/,16!I Toial Variation,5X.F10.2,110)

2006 FORMAT(/,16H Toial Variation,5Х.ЕЮ.3,110) END

C

CP36 PROGRAM 3-6

C

C PROGRAM FOR TWO WAY ANALYSIS OF VARIANCE. C

C

C

^ о

SUBROUTINE TWOVA

COMMON /TLC/ SV(20),LZ,LU,Z11 ,Z22,D11 ,D22,NZZ,NSP,DPC,DFT UPA COMMON /IOLUN/ I5,I6,J5.J6,J4

COMMON /IONAT/ KORF.MON.IPRT.KORFO CHARACTER-1 KORF.MON.IPRT.KORFO

COMMON /DATQ/ P1SSA(100.2).BJNK(2.2).CJNK(2).X(100.4)

VVRITE(I6,200)

200 FORMAT(/' TWO WAY ANALYSIS OF VARIANCE MODULE',//)

NCMAX 100

READ NUMBER OF TREATMENTS AND NUMBER OF SAMPLES

lF(KORF EQ K ) WRITE(I6.201)

201 FORMAT(/' Enter number ol heaiments and number ol samples READ (J5,‘,END=500) NT,NS

lF(NT LE 1 OR NS LE 1) GOTO 501 iF(NS GT NCMAX) GOTO 501

SET SUMS TO ZERO P1SST=0 0 P2SST=00 SSA=00

SSB=0 0

DO 100 J=1.NS P1SSA(J 1)=0 0

00 CONTINUE DO 101 1=1,NT

CREAD A TREATMENT AND ADD TO SUMS IF(KORF EQ 'K') WRITE( 16,202) I

202 FORMAT(' Enter resulis of treatment ',14, for each sample READ (J5,*,END=500) (X(J,1).J = 1,NS)

TSSB=0 0

DO 102 J=1,NS

P1SST=P1SST + X(J 1)-X(J t) P2SST-P2SST + X(J 1)

P1 SSA(J,1 )=P1 SSA(J 1 )+X(J 1) TSSB=TSSB + X(J 1)

102 CONTINUE SSB=SSB+TSSB'TSSB/FLOAT(NS)

101 CONTINUE

C CALCULATE SST

S ST -P 1SST P2SST'p2SST/FLOAT(NS*NT) NTS1=NS*NT 1

CCALCULATE SSA DO 103 J =1,NS

SSA SSA + Pt SSA J 1 -P1SSA(J 1 )/FLOAT(NT)

400

103 CONTINUE

SSA=SSA-P2SST'P2SST/FLOAT(NT*NS)

NS1=NS-1

C CALCULATESSB

SSB=SSB-P2SST‘P2SST/FLOAT(NS*NT) NT1=NT 1

CCALCULATE SSE SSE=SST-(SSA+SSB)

NT1S1=(NS-1)*(NT 1)

CCALCULATE MEAN SQUARES

AMSA=-SSA/FL0AT(NS1) AMSB=SSB/FLOAT(NT1)

AMSE=SSE/FLOAT(NT 1S 1) C CALCULATE F-TESl S

IF(AMSE.EQ.O.O) GOTO 502 F1 =AMSA/AMSE F2=AMSB/AMSE

C PRINT RESULTS IF(MON.EQ.'N’) GOTO 104 WRITE (16,2000)

IF(SSA.LT.1.0E7) WRITE (16,2001) SSA.NS1 ,AMSA,F1 IF(SSA.GE.1,0E7) WRITE (16,2005) SSA.NS1 .AMSA.F1 IF(SSB.LT.1.0E7) WRITE (16,2002) SSB,NT 1 ,AMSB,F2 IF(SSB.GE.1.0E7) WRITE (16.2006} SSB,NT 1 .AMSB.F2 IF(5SE.LT.1.0E7) WRITE (16,2003) SSE.NT1 SI ,AMSE IFISSE.GE.1.0E7) WRITE (16,2007) SSE.NT1S1 ,AMSE IF(SST.LT.1.0E7) WRITE (16,2004) SST.NTS1 IF(SST.GE.1.0E7) WRITE (I6.2008) SST.NTS1

14 IF(IPRT.EQ.'N') GOTO 150 WRITE (J6.2000)

IF(SSA.LT 1.0E7) WRITE (J6.2001) SSA.NS1 AMSA.F1 IF(SSA.GE.1.0E7) WRITE (J6.2005) SSA.NS1 .AMSA.F1 IF(SSB.LT 1.0E7) WRITE (J6.2002) SSB,NT 1 ,AMSB,F2 IF(SSB.GE.1.0E7) WRITE (J6.2006) SSB.NT1 ,AMSB,F2 IFiSSE.LT 1.0E7) WRITE (J6.2003) SSE.NT1 S1 ,AMSE IF(SSE.GE.1.0E7) WRITE (J6.2007) SSE.NT1S1.AMSE IFISST.LT 1.0E7) WRITE (J6.2004) SST.NTS1 IFtSST.GE.L0E7) WRITE (J6.2008) SST.NTS1

150 CALL PAUSE(3) RETURN

О О

.. END OF FILE ENCOUNTERED

О

500 LZ = -9

 

 

CALL CLSALL

 

CALL INVLID(3)

 

CALL PAUSE(2)

 

RETURN

2 6 - 1 1 5

401