10  COM X[103,22],M[19,19],U[19,19],Q[20],V[20],P[78]
30  COM M$[60],N$[72]
40  COM N,K,N8,K8,N9,K9,Q9,Q7,Q5,Q4,Q3,Q2,Q1
45  COM I3,I4,U9,X$[20]
50  REM:10APR74
60  REM:Q1=16 FOR >DURB;=19 FOR RVSF
62  REM:ANALYZING RES. FOR IDA29,30,34
160  DIM R[450],A[12],G[8,8],C$[8],D$[8]
200  IF Q[2]#0 THEN 500
210  PRINT "EXECUTE 'REGR' FIRST TO DEFINE REGRESSION EQUATION"
220  GOTO 9998
500  N7=0
510  FOR I=Q4 TO N
520  IF X[I,K9+2]=0 THEN 560
530  N7=N7+1
550  R[N7]=X[I,K9+1]
560  NEXT I
610  IF Q1=16 THEN 3000
620  IF Q1=19 THEN 1091
1000  T1=T2=T3=0
1005  FOR I=1 TO N7
1010  D1=R[I]/X[N9+2,K9+1]
1020  IF ABS(D1)<2.576 THEN 1080
1022  N3=0
1024  FOR J=Q4 TO N
1026  IF X[J,K9+2]=0 THEN 1032
1028  N3=N3+1
1030  IF N3=I THEN 1034
1032  NEXT J
1034  PRINT 
1035  PRINT  USING 1036;J,D1
1036  IMAGE "WARNING: RESIDUAL IN ROW ",3D," IS ",SD.DD," S.D. UNITS FROM 0"
1080  NEXT I
1090  GOTO 1500
1091  IF Q[4]=0 THEN 1100
1092  GOTO 9932
1100  MAT G=ZER
1102  D$="RESIDUAL"
1110  FOR I=Q4 TO N
1120  IF X[I,K9+2]=0 THEN 1200
1130  I1=4+INT((X[I,K9]-X[N9+1,K9])/X[N9+2,K9])
1135  I1=I1+1
1140  I2=4+INT((X[I,K9+1]-X[N9+1,K9+1])/X[N9+2,K9+1])
1145  I2=I2+1
1150  I1=I1 MAX 1
1160  I1=I1 MIN 8
1170  I2=I2 MAX 1
1180  I2=I2 MIN 8
1190  G[9-I2,I1]=G[9-I2,I1]+1
1200  NEXT I
1205  PRINT 
1210  FOR I=1 TO 8
1220  FOR J=1 TO 8
1225  L=G[I,J]+1
1230  GOTO L OF 1260,1280,1300,1320,1325,1330,1335,1340,1345,1347
1240  C$[J,J]="*"
1250  GOTO 1350
1260  C$[J,J]=" "
1270  GOTO 1350
1280  C$[J,J]="1"
1290  GOTO 1350
1300  C$[J,J]="2"
1310  GOTO 1350
1320  C$[J,J]="3"
1321  GOTO 1350
1325  C$[J,J]="4"
1326  GOTO 1350
1330  C$[J,J]="5"
1331  GOTO 1350
1335  C$[J,J]="6"
1336  GOTO 1350
1340  C$[J,J]="7"
1341  GOTO 1350
1345  C$[J,J]="8"
1346  GOTO 1350
1347  C$[J,J]="9"
1350  NEXT J
1360  PRINT  USING 1370;D$[I,I],C$[1,8]
1370  IMAGE A,"!",XAXAXAXAXAXAXAXAX,"!"
1380  NEXT I
1390  C$="FITTED Y"
1395  PRINT  USING "XXXAXAXAXAXAXAXAXA";C$[1,8]
1400  PRINT 
1410  GOTO 9998
1500  I1=0
1510  IF R[1] <= 0 THEN 1530
1520  I1=1
1530  I6=1
1540  FOR I=2 TO N7
1550  IF R[I] <= 0 THEN 1590
1560  I1=I1+1
1570  I5=1
1580  GOTO 1600
1590  I5=-1
1600  IF SGN(R[I-1])=I5 THEN 1660
1650  I6=I6+1
1660  NEXT I
1670  I2=2*I1*(1-I1/N7)+1
1680  I3=I2-1
1690  I4=SQR(I3*(I3-1)/(N7-1))
1700  Z=(I6-I2)/I4
1720  IF ABS(Z)<2.576 THEN 2000
1730  PRINT "WARNING: RESIDUALS MAY BE EXCESSIVELY CORRELATED :"
1740  PRINT 
1750  PRINT "   OBSERVED NUMBER OF RUNS=";I6
1760  PRINT "   EXPECTED NUMBER OF RUNS=";I2
1770  PRINT "STANDARD DEVIATION OF RUNS=";I4
1780  PRINT "    (OBS.-EXP.)/(STD.DEV.)=";Z
1785  PRINT 
2000  PRINT "CHECKING AUTOCORRELATIONS...";
2005  N6=12 MIN (N7/4)
2010  FOR J=1 TO N6
2020  A[J]=0
2030  FOR I=1 TO N7-J+1
2040  A[J]=A[J]+R[I]*R[I+J-1]
2050  NEXT I
2060  NEXT J
2500  FOR I=1 TO N6-1
2510  C0=A[I+1]/A[1]
2520  IF ABS(C0)<2/SQR(N7) THEN 2550
2525  PRINT 
2530  PRINT  USING 2540;I,C0
2540  IMAGE "WARNING: AUTO(",DD,") =",XSD.DD
2550  NEXT I
2555  PRINT 
2560  GOTO 9998
3000  IF Q[4]=0 THEN 3009
3002  GOTO 9932
3009  D0=D1=0
3010  FOR I=1 TO (N7-1)
3020  D0=D0+R[I]^2
3030  D1=D1+R[I]*R[I+1]
3040  NEXT I
3050  W=2*(1-D1/(D0+R[N7]^2))
3060  W=W-(R[1]^2+R[N7]^2)/(D0+R[N7]^2)
3070  PRINT  USING 3080;W
3080  IMAGE "DURBIN-WATSON STAT. =",2D.3D
3082  GOTO 9998
9932  Q[5]=0
9934  Q[6]=31
9936  Q[7]=500
9938  CHAIN "$IDA38"
9998  CHAIN "$IDA",150
9999  END 
