1 REM REGCOR HEWLETT-PACKARD #A404-36054A 2 REM REVISED JUNE,1972 ANDY ROTH C.C.G. 5 OPEN"KB:" AS FILE 1% 10 REMARK -- REGRESSION AND CORRELATION PROGRAM 11 DIM A(50),B(50),X(50),Y(50) 20 REM INPUT DATA 21 INPUT"NUMBER OF OBSERVATIONS";N 22 IF N=0 THEN 1024 23 PRINT"ENTER FIRST AND SECOND VARIABLE FOR EACH OBSERVATION." 24 PRINT"SEPARATED BY COMMAS" 25 FOR I=1 TO N 26 PRINTI;":";:INPUT#1%,X(I),Y(I) 27 NEXTI 28 GOSUB 200 30 REMARK -- REGRESS VARIABLE 2 ON VARIABLE 1 31 FOR I=1 TO N 32 LET A(I)=X(I) 33 LET B(I)=Y(I) 34 NEXT I 35 GOSUB 500 40 REMARK -- PRINT AVERAGE AND STANDARD DEVIATIONS 41 PRINT 42 PRINT "THE AVERAGE VALUE OF VARIABLE 1 IS",A1 43 PRINT "THE AVERAGE VALUE OF VARIABLE 2 IS",A2 44 PRINT "THE STANDARD DEVIATION OF VARIABLE 1 IS",D1 45 PRINT "THE STANDARD DEVIATION OF VARIABLE 2 IS",D2 46 PRINT "HE CORRELATION COEFFICIENT BETWEEN VARIABLES 1 AND 2 IS",C9 47 LET A9=A2 50 PRINT 51 PRINT "EQUATION 1" 52 PRINT "VARIABLE 2 =",I9," +",S9,"*LOG OF VAR 1 " 53 PRINT P9,"PERCENT OF THE VARIANCE IN VARIABLE 2 EXPLAINED" 54 PRINT 60 REMARK -- REGRESS VARIABLE 2 ON LOG OF VARIABLE 1 61 FOR I=1 TO N 62 IF X(I) <= 0 THEN 80 63 LET A(I)=LOG(X(I)) 64 NEXT I 65 GOSUB 500 66 PRINT "EQUATION 2" 67 PRINT "VARIABLE 2 =",I9," +",S9,"*LOG OF VAR 1 " 68 PRINT P9,"PERCENT OF THE VARIANCE IN VARIABLE 2 EXPLAINED" 69 PRINT 80 REMARK -- REGRESSLOG OF VAR 2 ON VAR 1 81 FOR I=1 TO N 82 LET A(I)=X(I) 83 IF Y(I) <= 0 THEN 20 84 LET B(I)=LOG(Y(I)) 85 NEXT I 86 GOSUB 500 87 GOSUB 600 88 PRINT "EQUATION 3" 89 PRINT "LOG(VAR 2)=",I9," +",S9,"* VARIABLE 1" 90 PRINT "ALTERNATE FORM --" 91 PRINT "VARIABLE 2 ="EXP(I9)," *"EXP(S9),"^VAR 1" 92 PRINT P9,"PERCENT OF THE VARIANCE IN VARIABLE 2 EXPLAINED " 93 PRINT 100 REMARK -- REGRESS LOG OF VAR 2 ON LOG OF VAR 1 101 FOR I=1 TO N 102 IF A(I) <= 0 THEN 20 103 LET A(I)=LOG(X(I)) 104 NEXT I 105 GOSUB 500 106 GOSUB 600 107 PRINT "EQUATION 4" 108 PRINT "LOG(VAR 2) =",I9,"*(VAR 1^",S9,")" 109 PRINT "ALTERNATE FORM --" 110 PRINT "VARIABLE 2 ="EXP(I9),"*(VAR 1 ^",S9,")" 111 PRINT P9,"PERCENT OF THE VARIANCE IN VARIABLE 2 EXPLAINED" 120 GOTO 20 200 REMARK -- SUBROUTINE TO READ DATA 202 PRINT 203 PRINT " "," DATA " 204 PRINT 205 PRINT " OBSERVATION"," VARIABLE 1"," VARIABLE 2" 206 PRINT 207 FOR I=1 TO N 209 PRINT I,X(I),Y(I) 210 NEXT I 211 RETURN 500 REMARK -- SUBROUTINE TO REGRESS N VALUES OF B(I) ON A(I) 510 REMARK -- COMPUTE SUMS 511 LET S1=0 512 LET S2=0 513 LET S3=0 514 LET S4=0 515 LET S5=0 516 FOR I=1 TO N 517 LET S1=S1+A(I) 518 LET S2=S2+B(I) 519 LET S3=S3+(A(I)^2) 520 LET S4=S4+(B(I)^2) 521 LET S5=S5+(A(I)*B(I)) 522 NEXT I 530 REMARK -- COMPUTE AVERAGES 531 LET A1=S1/N 532 LET A2=S2/N 535 REMARK -- COMPUTE VARIANCES 536 LET V1=(S3-(N*(A1^2)))/(N-1) 537 LET V2=(S4-(N*(A2^2)))/(N-1) 540 REMARK -- COMPUTE STANDARD DEVIATIONS 541 LET D1=SQR(V1) 542 LET D2=SQR(V2) 550 REMARK -- COMPUTE DIVISOR FOR REGRESSION LINE 551 LET D0=(N*S3)-(S1^2) 552 REMARK -- COMPUTE INTERECEPT (I9) AND SLOPE (S9) 553 LET I9=((S2*S3)-(S1*S5))/D0 554 LET S9=((N*S5)-(S1*S2))/D0 560 REMARK -- COMPUTE PERCENT OF VARIANCE EXPLAINED (P9) 561 P9=((S9^2)*V1)/V2 570 REMARK -- COMPUTE CORRELATION COEFFIEINET (C9) 571 LET C9=SQR(P9) 572 LET P9=100*P9 580 RETURN 600 REMARK SUBROUTIE TO FIND PERCENT OF VARIANCE IN VAR 2 EXP 601 LET S8=0 602 LET S7=0 603 FOR I=1 TO N 604 LET E=EXP(I9+(S9*A(I))) 605 LET S8=S8+((Y(I)-E)^2) 606 LET S7=S7+((Y(I)-A9)^2) 607 NEXT I 608 LET P9=100*(1-(S8/S7)) 609 RETURN 1023 CLOSE 1% 1024 END