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
