1 ! PROGRAM MRCAP4, VERSION 1A (31-AUG-73) ! 2 ! PROGRAM MRCAP4 IS PART OF THE MULTIPLE REGRESSION ANALYSIS. ! IT IS ONE OF THE SEVERAL PROGRAMS AND FILES WHICH COMPOSE COSAP, ! LAWRENCE UNIVERSITY'S CONVERSATIONALLY ORIENTED STATISTICAL 3 ! ANALYSIS PACKAGE. COSAP IS DISTRIBUTED FOR EDUCATIONAL USE, ON ! THE CONDITION THAT IT NOT BE SOLD, RENTED OR LEASED FOR PROFIT. ! 4 ! IF YOU DESIRE FURTHER INFORMATION ABOUT COSAP, PLEASE CONTACT THE ! LAWRENCE UNIVERSITY COMPUTER CENTER, APPLETON, WISCONSIN, 54911 ! 10 DIM Q1%(30%) ! FUNCTION TO CREATE FILE EXT. BASED ON JOB# 20 DEF FNZ$ : IF Q1%(0%)=30% THEN 30 ELSE CHANGE SYS(CHR$(6%)+CHR$(9%)+CHR$(0%)) TO Q1% : Z8$=".J"+RIGHT(NUM$(Q1%(1%)/2%),2%) 30 FNZ$=Z8$ ! EXTENSION IS ".J" + JOB # 40 FNEND 100 OPEN "DAT1"+FNZ$ AS FILE 1% : OPEN L1$(1%) AS FILE 2% : OPEN "MRC"+FNZ$ AS FILE 3% 110 DIM#1%,X(200,50),H$(30)=2%,C(50,50),M4(0),M5(0),M9(0),N(0),J9(0), I4(0),I7(0),N6(0),X2(50),L1$(8%)=32% 120 DIM #2%, N$(50%)=8%,M1$(50%)=64%,O%(50%),P%(50%),D$(50%)=8%, T(50%),D(10000%) 130 DIM#3%,I9%(24%),X9(71%),R9(800%),X8(1600%),A9(10%),C9(20%), C8(20%),H1%(8%) 140 N=C9(1) : M=C9(2) :K=C9(4): N6%=C9(5) :A9=C9(6): T8%=C9(10) :D9=C9(11): N2%=C9(14) :D8=C9(17) 150 PRINT"ANALYSIS OF RESIDUALS ABOUT REGRESSION***********************" "**********" 160 PRINT 170 N9%=N-M : IF N2%>N THEN PRINT "PURGED AND RECALCULATED EXPECTED VALUES OF " "DEPENDENT VARIABLE ";N$(H1%(I9%(16+K+1))) ELSE PRINT "OBSERVED AND EXPECTED VALUES OF DEPENDENT" " VARIABLE ";N$(H1%(I9%(16+K+1))) 180 PRINT "(DEGREES OF FREEDOM FOR STUDENT'S T ="N9%")" : PRINT : PRINT TAB(33) "STANDARD" : PRINT TAB(33) "ERROR OF" 190 PRINT "OBS. # " TAB(11) "OBSERVED" TAB(21) "EXPECTED" TAB(33) "EXPECTED" TAB(42) " RESIDUAL" TAB(52) " STUDENT'S T" 200 FOR I=1 TO N : R9(600+I)=0 : NEXT I 210 FOR I=1 TO N : FOR L=1 TO K : J=I9%(L) : I9%=I+N*(J-1) : R9(600+I)=R9(600+I)+X9(16+L)*X8(I9%) : NEXT L 220 R9(600+I)=R9(600+I)+A9(1) : NEXT I 230 F9=0 : D7=0 : F8=0 : D6=0 240 FOR K2%=1 TO N : K9%=K2%+N*(N6%-1) : R8=X8(K9%)-R9(600+K2%) 250 O9=X8(K9%) : X8(K9%)=1 : FOR M2%=1 TO M : J2%=K2%+N*(M2%-1) : X9(40+M2%)=X8(J2%) : NEXT M2% 260 !CALL SEEYX 270 M7%=1 !CALL GMTRA 280 I0%=0% : FOR I=1 TO M : I1%=I-M 290 FOR J=1 TO M7% : I1%=I1%+M : I0%=I0%+1% 300 X9(48+I0%)=X9(40+I1%) : NEXT J : NEXT I 310 !CALL GMPRD 320 I0%=0% : I1%=-M : FOR K=1 TO M 330 I1%=I1%+M : FOR J=1 TO M7% : I0%=I0%+1% 340 J0%=J-M7% : I2%=I1% : X9(56+I0%)=0 : FOR I=1 TO M 350 J0%=J0%+M7% : I2%=I2%+1% : X9(56+I0%)=X9(56+I0%)+X9(48+J0%)*R9(200+I2%) 360 NEXT I : NEXT J : NEXT K 370 !CALL GMPRD AGAIN 380 DIM R(1) : I0%=0% : I1%=-M : FOR K=1 TO M7% : I1%=I1%+M 390 FOR J=1 TO M7% : I0%=I0%+1% : J0%=J-M7% : I2%=I1% 400 R(I0%)=0 : FOR I=1 TO M : J0%=J0%+M7% : I2%=I2%+1% 410 R(I0%)=R(I0%)+X9(56+J0%)*X9(40+I2%) : NEXT I : NEXT J : NEXT K 420 S9=SQR(ABS(R(1))) !END SEEYX 430 X8(K9%)=O9 : S8=R8/S9 440 IF N2%<=N THEN I2%=K2% ELSE I2%=K2%+1 450 PRINT I2%;TAB(11);O9;TAB(21);R9(600+K2%);TAB(33);S9;TAB(42); " ";R8;TAB(52);" ";S8 460 IF T8%=0 THEN 500 ELSE IF K2%=1% THEN 480 ELSE F9=F9+(R8-R7)^2 470 F8=F8+R8*R7 : D6=D6+R7*R7 480 D7=D7+(R8*R8) 490 R7=R8 500 NEXT K2% 510 IF T8%=0% THEN 580 ELSE D8=F9/D7 : IF N2%>N THEN 550 ELSE A9=F8/D6 520 PRINT : PRINT 530 PRINT "THE DURBIN WATSON D STATISTIC FOR OBSERVED SERIES IS"D8 : PRINT "CRITICAL VALUE FOR DURBIN WATSON D STATISTIC IS"D9 : IF D9<=D8 THEN 560 ELSE PRINT "D STATISTIC IS SMALLER THAN CRITICAL VALUE AND SUPPORTS" " HYPOTHESIS" 540 PRINT "OF POSITIVE AUTOCORRELATION" : GOTO 570 550 PRINT "DURBIN WATSON D STATISTIC FOR PURGED SERIES IS"D8 : A9(1)=A9(1)/(1.0-A9) : PRINT "INTERCEPT IN TERMS OF OBSERVED SERIES IS"A9(1) : GOTO 580 560 PRINT "D STATISTIC IS LARGER THAN CRITICAL VALUE AND DOES NOT " "SUPPORT" : PRINT "HYPOTHESIS OF POSITIVE FIRST ORDER AUTOCORRELATION" : GOTO 580 570 PRINT "ESTIMATE OF FIRST ORDER AUTOCORRELATION COEFFICIENT IS"A9 : PRINT "RECALCULATION OF LEAST SQUARES FOLLOWS" 580 ! END OF DSTTM 590 C9(1)=N : C9(2)=M :C9(4)=K: C9(5)=N6% :C9(6)=A9: C9(10)=T8% :C9(11)=D9: C9(14)=N2% :C9(17)=D8 600 !RETURN TO MRCAP MAINLINE FOR A BIG DECISION 610 IF T8%=0% OR N2%>N OR D9<=D8 THEN B$="COSAP" : S0=640 : GOTO 690 620 B$="MRCAP" : S0= 5015 630 !SUBROUTINE PRGTM 640 I9%=0 : FOR J=1 TO M : FOR I=2 TO N 650 I9%=I9%+1% :I8%=I+N*(J-1) :K9%=I8%-1% 660 X8(I9%)=X8(I8%)-A9*X8(K9%) :NEXT I :NEXT J 670 N=N-1 680 C9(1)=N : C9(2)=M :C9(6)=A9 690 CLOSE 1%,2%,3% : KILL "MRC"+FNZ$ IF B$="COSAP" : IF B$="COSAP" THEN 700 ELSE CHAIN B$ S0 700 PRINT:PRINT"DO YOU WANT TO PERFORM ANOTHER MULTIPLE REGRESSION " "ON THIS":PRINT"DATABANK";:INPUT N$:IF ASCII(N$)=89% THEN CHAIN "MRCAP" ELSE IF N$<>"SOS" THEN CHAIN B$ S0 710 PRINT : PRINT "YOU CAN PERFORM MULTIPLE REGRESSION ON DIFFERENT " "VARIABLES IN" : PRINT "YOUR DATABANK, IF YOU ANSWER 'YES'." : GOTO 700 32767 END