Compucolor.org – Virtual Media

Listing of file='VARINZ.BAS;01' on disk='vmedia/statistics_2-sector.ccvf'

5 REM   VARINZ
7 REM  WRITTEN BY WALTER DEGLER  4,2,79
9 REM
10 REM  ANALYZES VARIANCE FROM SETS OF SAMPLES
25 PLOT 12,14,27,24,6,2
50 DIM T(7)
75 GOSUB 2000
1000 REM  SELECT INFORMATION
1010 PLOT 12,14,6,2
1025 PRINT "ENTER NUMBER OF DESIRED INFORMATION:"
1050 PRINT "1 - ANALYSIS OF SAMPLES"
1075 PRINT "2 - ANALYSIS OF VARIANCE"
1100 PRINT "3 - CONFIDENCE LIMITS FOR POPULATION MEAN"
1125 PRINT "4 - CONFIDENCE LIMITS FOR POPULATION STANDARD DEVIATION"
1150 PRINT "5 - END PROGRAM"
1200 INPUT Z
1225 ON ZGOSUB 5000,6000,5145,5500,1500:GOTO 1000
1250 GOTO 1200
1500 LOAD "MENU":RUN
1999 REM
2000 REM  INPUT DATA
2010 INPUT "SIZE OF POPULATION (OR '0' IF PRACTICALLY INFINITE): ";P
2020 IF P= 0THEN P= 1E30
2025 INPUT "DATA SOURCE (F-FILE OR K-KEYBOARD): ";Z$
2050 INPUT "NUMBER OF SAMPLES: ";NS
2055 PLOT 15:PRINT
2060 DIM L(NS- 1,3),D(INT (200/ NS)- 1,NS- 1)
2075 IF LEFT$ (Z$,1)= "F"THEN 2500
2100 FOR I= 0TO NS- 1
2110 PLOT 12,15,27,11,6,1
2125 PRINT "NUMBER OF OBSERVATIONS IN SAMPLE"I+ 1": ";:INPUT "";NO(I)
2150 PLOT 6,1
2175 PRINT :PRINT "OBSERVATION #, VALUE:"
2200 PLOT 6,3
2225 INPUT "#";J
2250 IF J< 1THEN PLOT 27,24,6,2:GOTO 2350
2275 PRINT SPC( 6);:PLOT 28
2300 INPUT "";D(J- 1,I)
2325 GOTO 2225
2350 NEXT
2375 GOTO 3000
2500 FOR I= 0TO NS- 1
2510 PLOT 6,6
2525 INPUT "FILE NAME (OR 'S' IF SAME AS LAST): ";F$
2550 IF F$= "S"THEN NO(I)= NO(I- 1):GOTO 2625
2570 FILE "R",1,F$,6
2600 GET 1,1;NT,NO(I)
2625 PLOT 6,3
2630 INPUT "TYPE #: ";T
2650 FOR J= 0TO NO(I)- 1
2675 GET 1,T,9+ 4* J;D(J,I)
2700 NEXT J
2725 NEXT I
2750 FILE "C",1
2999 REM
3000 REM  COMPUTE SUMS
3025 FOR I= 0TO NS- 1
3050 FOR J= 0TO NO(I)- 1
3075 SM(I)= SM(I)+ D(J,I)
3100 SQ(I)= SQ(I)+ D(J,I)* D(J,I)
3125 NEXT J
3150 M(I)= SM(I)/ NO(I)
3160 V(I)= (NO(I)* SQ(I)- SM(I)* SM(I))/ (NO(I)* (NO(I)- 1))
3170 SD(I)= SQR (ABS (V(I)))
3175 PS= V(I)* NO(I)* (P- 1)/ (P* (NO(I)- 1))
3200 PS(I)= SQR (PS)
3225 EM(I)= SQR (PS* (P- NO(I))/ (NO(I)* (P- 1)))
3250 SM= SM+ SM(I)
3275 SQ= SQ+ SQ(I)
3300 NO= NO+ NO(I)
3310 S2= S2+ SM(I)* SM(I)/ NO(I)
3325 NEXT I
3350 M= SM/ NO
3375 RETURN
3999 REM
4000 REM  COMPUTE CONFIDENCE VALUES
4025 FILE "R",1,"T",2
4050 FOR I= 0TO NS- 1
4075 FOR J= 0TO 3
4100 DF= NO(I)- 1
4125 GOSUB 8000
4150 L(I,J)= T(3- J)/ SQR (NO(I)- 1)
4175 NEXT J,I
4200 FILE "C",1
4225 RETURN
4500 FILE "R",1,"CHISQR",4
4525 FOR I= 0TO NS- 1
4550 FOR J= 0TO 3
4575 DF= NO(I)- 1
4600 GOSUB 9000
4625 M= SD(I)* SQR (NO(I))
4650 M1(I,J)= M/ C1(3- J)
4675 M2(I,J)= M/ C2(3- J)
4700 NEXT J,I
4725 FILE "C",1
4800 RETURN
4999 REM
5000 REM  ANALYSIS OF SAMPLES
5010 PLOT 12,14,6,2
5025 PRINT SPC( 24);"SAMPLE ANALYSIS"
5030 PLOT 15,6,1
5050 PRINT "SMP  SIZE  MEAN    VARIANCE  ST DEV   EST OF POP SD   ERR OF MN"
5075 PLOT 6,3
5100 FOR I= 0TO NS- 1
5125 PRINT I+ 1;TAB( 5);NO(I);TAB( 9);M(I);TAB( 18);V(I);TAB( 28);SD(I);
5130 PRINT TAB( 39);PS(I);TAB( 53);EM(I)
5135 NEXT I
5140 GOTO 7000
5145 REM  CONFIDENCE LIMITS FOR POPULATION MEAN
5150 IF MF= 1THEN 5180
5155 FILE "R",1,"T",4
5160 FOR I= 0TO NS- 1
5165 DF= NO(I)- 1
5170 GOSUB 8000
5175 NEXT
5177 FILE "C",1
5178 MF= 1
5180 PLOT 15,6,1
5185 INPUT "BEG. SAMPLE # (OR '0' TO CONTINUE): ";B
5190 IF B= 0THEN 7000
5195 IF B> NSTHEN B= NS
5197 E= B+ 7:IF E> NSTHEN E= NS
5198 PLOT 12,14,6,2
5200 PRINT SPC( 13);"CONFIDENCE LIMITS FOR POPULATION MEAN"
5210 PLOT 15,6,1
5220 PRINT "SMP";TAB( 6);"C.L.";TAB( 12);"BETWEEN      AND";
5222 PRINT TAB( 36);"C.L.";TAB( 42);"BETWEEN      AND"
5223 PRINT
5224 PLOT 6,3
5225 FOR I= B- 1TO E- 1
5240 Y= SQR (NO(I)- 1)
5245 X= T(3)/ Y
5250 PRINT I+ 1;TAB( 6);"80%  ";M(I)- X;TAB( 22);M(I)+ X;TAB( 36);
5255 X= T(1)/ Y
5260 PRINT "95%  ";M(I)- X;TAB( 52);M(I)+ X
5270 X= T(2)/ Y
5275 PRINT TAB( 6);"90%  ";M(I)- X;TAB( 22);M(I)+ X;TAB( 36);
5277 X= T(0)/ Y
5280 PRINT "99%  ";M(I)- X;TAB( 52);M(I)+ X
5300 PRINT
5325 NEXT I
5375 PLOT 3,0,31:GOTO 5180
5500 REM  CONFIDENCE LIMITS FOR POPULATION STANDARD DEVIATION
5505 IF SF= 1THEN 5535
5510 FILE "R",1,"CHISQR",4
5512 FOR I= 0TO NS- 1
5515 DF= NO(I)- 1
5520 GOSUB 9000
5525 NEXT
5527 FILE "C",1
5530 SF= 1
5535 PLOT 15,6,1
5540 INPUT "BEG. SAMPLE # (OR '0' TO CONTINUE): ";B
5545 IF B= 0THEN 7000
5550 IF B> NSTHEN B= NS
5555 E= B+ 7
5560 IF E> NSTHEN E= NS
5562 PLOT 12,14,6,2
5565 PRINT SPC( 6);"CONFIDENCE LIMITS FOR POPULATION STANDARD DEVIATION"
5575 PLOT 15,6,1
5600 PRINT "SMP";TAB( 6);"C.L.";TAB( 11);"BETWEEN       AND";
5625 PRINT TAB( 36);"C.L.";TAB( 41);"BETWEEN       AND"
5650 PRINT
5675 PLOT 6,3
5700 FOR I= B- 1TO E- 1
5715 Y= SD(I)* SQR (NO(I))
5720 X1= Y/ C1(0):X2= Y/ C2(0)
5725 PRINT I+ 1;TAB( 6);"75%  ";X1;TAB( 22);X2;TAB( 36);
5740 X1= Y/ C1(2):X2= Y/ C2(2)
5750 PRINT "95%  ";X1;TAB( 52);X2
5770 X1= Y/ C1(1):X2= Y/ C2(1)
5775 PRINT TAB( 6);"90%  ";X1;TAB( 22);X2;TAB( 36);
5790 X1= Y/ C1(4):X2= Y/ C2(4)
5800 PRINT "99%  ";X1;TAB( 52);X2
5825 PRINT
5850 NEXT I
5900 PLOT 3,0,31:GOTO 5535
5999 REM
6000 REM  ANALYSIS OF VARIANCE TABLE
6010 PLOT 12,14,6,2
6025 PRINT SPC( 22);"ANALYSIS OF VARIANCE TABLE"
6030 PLOT 15,6,1
6050 PRINT SPC( 18);"SUM OF SQUARES    DEGREES OF     ESTIMATES OF"
6075 PRINT "   VARIATION      OF DEVIATIONS      FREEDOM         VARIANCE"
6080 PLOT 6,2
6100 X= SM* SM/ NO:S3= SQ- X:S2= S2- X:S1= S3- S2
6125 PRINT "WITHIN SAMPLES";
6130 PLOT 6,3
6135 PRINT TAB( 20);S1;TAB( 39);NO- NS;TAB( 51);S1/ (NO- NS)
6140 PLOT 6,2
6150 PRINT "BETWEEN SAMPLES";
6155 PLOT 6,3
6160 PRINT TAB( 20);S2;TAB( 39);NS- 1;TAB( 51);S2/ (NS- 1)
6165 PLOT 6,2
6170 PRINT
6175 PRINT "    TOTAL";
6180 PLOT 6,3
6185 PRINT TAB( 20);S3;TAB( 39);NO- 1;TAB( 51);S3/ (NO- 1)
6999 REM
7000 PLOT 15,3,0,31,6,1
7025 INPUT "ENTER 1 TO RETURN OR 2 TO SAVE, THEN RETURN:  ";Z
7050 IF Z= 2THEN PLOT 27,4:PRINT "SAV VARINZ.DSP 6000-6FFF":PLOT 27,27
7075 RETURN
7999 REM
8000 REM  DETERMINE SET OF T-VALUES
8025 IF DF> 30THEN 8150
8050 FOR J= 2TO 5
8075 GET 1,J,9+ 4* (DF- 1);T(J- 2)
8100 NEXT J
8125 RETURN
8150 IF DF< 121THEN 8250
8175 FOR J= 2TO 5
8200 GET 1,J,141;T(J- 2)
8225 NEXT J
8230 RETURN
8250 IF DF< 41THEN X1= 125:X2= 30:X3= 10:GOTO 8325
8275 IF DF< 61THEN X1= 129:X2= 40:X3= 20:GOTO 8325
8300 X1= 133:X2= 60:X3= 60
8325 FOR J= 2TO 5
8350 GET 1,J,X1;T(J- 2)
8375 GET 1,J,X1+ 4;T(J+ 2)
8400 T(J- 2)= T(J- 2)+ (DF- X2)* (T(J+ 2)- T(J- 2))/ X3
8425 NEXT J
8450 RETURN
8999 REM
9000 REM  DETERMINE SET OF CHI-SQUARE-VALUES
9025 IF DF> 30THEN 9175
9050 FOR J= 2TO 6
9075 GET 1,8- J,1+ 8* DF;C1(J- 2)
9100 GET 1,J,5+ 8* DF;C2(J- 2)
9125 NEXT J
9150 RETURN
9175 IF DF< 101THEN 9325
9200 FOR J= 2TO 6
9225 GET 1,8- J,297;C1(J- 2)
9250 GET 1,J,301;C2(J- 2)
9275 NEXT J
9300 RETURN
9325 FOR J= 41TO 91STEP 10
9350 IF DF< JTHEN X1= 4* (J- 1)/ 5+ 209:X2= J- 11:GOTO 9425
9375 NEXT J
9400 X1= 289:X2= 90
9425 FOR J= 2TO 6
9450 GET 1,8- J,X1;C1(J- 2)
9475 GET 1,J,X1+ 4;C2(J- 2)
9500 GET 1,8- J,X1+ 8;C1(J+ 3)
9525 GET 1,J,X1+ 12;C2(J+ 3)
9550 C1(J- 2)= C1(J- 2)+ (DF- X2)* (C1(J+ 3)- C1(J- 2))/ 10
9575 C2(J- 2)= C2(J- 2)+ (DF- X2)* (C2(J+ 3)- C2(J- 2))/ 10
9600 NEXT J
9625 RETURN