10 X$=SYS(CHR$(7)):R$=LEFT(X$,7):L$=RIGHT(X$,8) 20 REM ************************************************************** 30 REM CMODT CMODT CMODT CMODT CMDOT CMODT 40 REM ************************************************************** 45 DIM L(10) 50 DIM #1,A1(111),A2(111),A3(111) 60 OPEN R$ AS FILE 1 100 A1(0)=29 110 X=0 130 V7=0 140 V4=0 150 DIM S(99) 160 DIM Q(99) 170 GOSUB 5160 180 V8=0 190 PRINT L$ 200 PRINT " COMPARISON OF TWO PROPORTIONS-INDEPENDENT BETAS" 210 PRINT 220 PRINT "THIS MODULE ALLOWS YOU TO COMPARE TWO INDEPENDENTLY BETA" 230 PRINT "DISTRIBUTED PROPORTIONS." 240 PRINT 250 REM********************************************************************** 260 PRINT "INPUT THE PARAMETERS OF THE DISTRIBUTION ON PI-ONE (PI-1)." 270 REM******************************************************************** 280 V7=0 285 P=0 290 PRINT 300 PRINT "INPUT PARAMETER A."; 310 GOSUB 9000 320 IF O1>1.15 THEN 370 330 GOSUB 350 340 GOTO 310 350PRINT"REENTER. PARAMETERS MUST BE GREATER THAN 1.15." 360 RETURN 370 A1=O1 380 PRINT "INPUT PARAMETER B."; 390 GOSUB 9000 400 IF O1>1.15 THEN 430 410 GOSUB 350 420 GOTO 390 430 PRINT 440 B1=O1 450 A=A1 460 B=B1 470 GOSUB 5220 480 K7=.01 490 K8=.03 500 GOSUB 560 510 GOTO 730 520 K7=K8+.01 530 K8=K7+.02 540 GOSUB 560 550 RETURN 560 IF K7<1 THEN 580 570 RETURN 580 IF K8 <= .995 THEN 600 590 K8=.995 600 FOR P1=K7 TO K8+.001 STEP .01 610 IF V4=1 THEN 720 620 K5=INT(P1*100+.55) 630 IF P>.9999 THEN 670 640 GOSUB 2520 650 IF P<1.E-17 THEN 690 660 IF P<1 THEN 700 670 P=1 680 GOTO 700 690 P=0 700 Q(K5)=P 710 NEXT P1 720 RETURN 730 REM********************************************************************* 740 PRINT "INPUT THE PARAMETERS OF THE DISTRIBUTION ON PI-TWO (PI-2)." 750 REM********************************************************************* 760 GOSUB 520 770 PRINT 780 PRINT "INPUT PARAMETER A."; 790 GOSUB 9000 800 IF O1>1.15 THEN 830 810 GOSUB 350 820 GOTO 790 830 A2=O1 840 GOSUB 520 850 PRINT "INPUT PARAMETER B."; 860 GOSUB 9000 870 IF O1>1.15 THEN 900 880 GOSUB 350 890 GOTO 860 900 B2=O1 910 GOSUB 520 920 O7=6 930 PRINT L$ 940 M1=A1/(A1+B1) 950 M2=A2/(A2+B2) 960 IF M1>M2 THEN 980 970 GOTO 1110 980 PRINT "THIS MODULE COMPUTES AND PRINTS THE PROBABILITY THAT" 990 GOSUB 520 1000 PRINT 1010 PRINT " PI-1 MINUS PI-2" 1020 GOSUB 520 1030 PRINT 1040 PRINT "IS GREATER THAN K, WHERE K IS SOME VALUE BETWEEN -1 AND 1." 1050 GOSUB 520 1060 PRINT "THIS DIFFERENCE WAS CHOSEN BECAUSE THE DISTRIBUTION OF THIS" 1070 PRINT "DIFFERENCE HAS A POSITIVE MEAN." 1080 GOSUB 520 1090 V7=1 1100 GOTO 1220 1110 PRINT "THIS MODULE COMPUTES AND PRINTS THE PROBABILITY THAT" 1120 GOSUB 520 1130 PRINT 1140 PRINT " PI-2 MINUS PI-1" 1150 GOSUB 520 1160 PRINT 1170 PRINT "IS GREATER THAN K, WHERE K IS SOME VALUE BETWEEN -1 AND 1." 1180 GOSUB 520 1190 PRINT "THIS DIFFERENCE WAS CHOSEN BECAUSE THE DISTRIBUTION OF THIS" 1200 PRINT "DIFFERENCE HAS A POSITIVE MEAN." 1210 GOSUB 520 1220 PRINT 1230 GOSUB 1340 1240 PRINT 1250 IF V7=0 THEN 1300 1260 PRINT "IF, FOR EXAMPLE, YOU WANTED THE PROBABILITY THAT P1-1 IS" 1270 GOSUB 520 1280 PRINT "GREATER THAN PI-2 YOU WOULD SPECIFY A VALUE OF 0 FOR K." 1290 GOTO 1390 1300 PRINT "IF, FOR EXAMPLE, YOU WANTED THE PROBABILITY THAT PI-2 IS" 1310 GOSUB 520 1320 PRINT "GREATER THAN PI-ONE YOU WOULD SPECIFY A VALUE OF 0 FOR K." 1330 GOTO 1390 1340 PRINT "YOU CAN SPECIFY UP TO 5 K VALUES AT A TIME. THE MODULE WILL" 1350 PRINT "COMPUTE AND PRINT THE PROBABILITIES FOR THESE VALUES AND THEN" 1360 PRINT "ALLOW YOU TO SPECIFY MORE VALUES IF YOU WANT." 1370 GOSUB 520 1380 RETURN 1390 PRINT 1400 GOSUB 520 1410 GOSUB 520 1420 GOSUB 520 1430 PRINT "WHEN YOU ARE READY TO CONTINUE TYPE '1'."; 1440 GOSUB 9000 1450 GOSUB 520 1460 GOSUB 520 1470 PRINT L$ 1480 PRINT "INPUT THE NUMBER OF K VALUES YOU WANT TO SPECIFY."; 1490 GOSUB 9000 1500 IF O1 >= 1 THEN 1530 1510 PRINT "REENTER. N MUST BE AT LEAST 1 BUT NOT MORE THAN 5." 1520 GOTO 1490 1530 IF O1>5 THEN 1510 1540 GOSUB 520 1550 N=O1 1560 FOR K0=1 TO N 1580A$="INPUT VALUE ## " 1581 PRINT USING A$,K0; 1590 GOSUB 9000 1600 GOSUB 520 1610 IF O1 <= -1 THEN 1760 1620 IF O1 >= 1 THEN 1760 1630 L(K0)=O1 1640 NEXT K0 1650 GOSUB 520 1660 GOSUB 520 1670 GOSUB 2600 1690 IF V7=1 THEN 1720 1700 K9=1 1710 GOTO 1730 1720 K9=-1 1730 REM 1740 V4=1 1750 GOTO 1780 1760 PRINT "REENTER. K MUST BE BETWEEN -1 AND 1 (EXCLUSIVE)." 1770 GOTO 1590 1780 FOR K5=1 TO N 1790 K=L(K5) 1800 A0=0 1810 Q0=0 1820 FOR P1=.01 TO .995 STEP .01 1830 P2=P1+K9*K 1840 F4=INT(P2*100) 1850 IF F4>99 THEN 1890 1870 IF P2<.01 THEN 2000 1880 IF P2<1 THEN 1910 1890 A0=A0+1-Q0 1900GOTO 2020 1910 A0=A0+(Q(INT(100*P1+.55))-Q0)*S(F4) 1920 IF F4+1 <= 99 THEN 1950 1930 A7=1-S(F4) 1940 GOTO 1960 1950 A7=S(F4+1)-S(F4) 1960 A7=A7*(P2*100-INT(P2*100)) 1970 A7=A7*Q(INT(100*P1+.55))-A7*Q0 1980 A0=A0+A7 2000 Q0=Q(INT(P1*100+.55)) 2010 NEXT P1 2020 J2=.995+K*K9 2030 IF J2<.01 THEN 2080 2040 IF J2>.9999 THEN 2080 2050 J1=0 2060 GOSUB 5000 2070 A0=(1-Q0)*P+A0 2080 IF K9=1 THEN 2120 2090A$=" PROB(DIFF >#####.### )=##.##" 2091 PRINT USING A$ ,K,A0 2100 GOTO 2130 2120A$=" PROB(DIFF >#####.### )=##.##" 2121 PRINT USING A$ ,K,1-A0 2130 NEXT K5 2140 GOTO 3150 2150 K7=INT(100*A/(A+B))/100 2160 P=1 2170 K0=K7 2180 K1=K0-.03 2190 IF K1>.01 THEN 2210 2200 K1=.01 2210 FOR P2=K0 TO K1-.004 STEP -.01 2220 IF V4=1 THEN 2400 2230 IF P<.00001 THEN 2280 2240 GOSUB 2440 2250 IF P<1 THEN 2290 2260 P=1 2270 GOTO 2290 2280 P=0 2290 S(INT(P2*100+.55))=P 2300 NEXT P2 2310 RETURN 2320 FOR P2=K7+.01 TO .995 STEP .01 2330 IF V4=1 THEN 2390 2340 IF P>.9999 THEN 2370 2350 GOSUB 2440 2360 GOTO 2380 2370 P=1 2380 S(INT(P2*100+.55))=P 2390 NEXT P2 2400 RETURN 2410 REM****************************************************************** 2420 REM CDF FOR PI-2 2430 REM****************************************************************** 2440 REM 2460 J2=P2-.005 2470 GOSUB 5000 2480 RETURN 2490 REM****************************************************************** 2500 REM CDF FOR PI-1 2510 REM****************************************************************** 2520 J1=0 2530 J2=P1 2540 GOSUB 5000 2550 RETURN 2560 REM********************************************************** 2570 REM********************************************************** 2580 REM********************************************************** 2590 REM************************************************************ 2600 PRINT L$ 2610 GOSUB 520 2620 PRINT " PI-1 BETA DISTRIBUTIONS PI-2" 2630 GOSUB 520 2640 PRINT "-------------------------------------------------------" 2650 GOSUB 520 2670A$="######.## PARAMETER A ######.##" 2671 PRINT USING A$ ,A1,A2 2680 GOSUB 520 2700A$="######.## PARAMETER B ######.##" 2701 PRINT USING A$ ,B1,B2 2710 GOSUB 520 2730A$="######.## MEAN ######.##" 2731 PRINT USING A$ ,M1,M2 2740 GOSUB 520 2750 GOTO 2790 2770A$="######.## MODE ######.##" 2771 PRINT USING A$ ,(A1-1)/(A1+B1-2),(A2-1)/(A2+B2-2) 2780 GOSUB 520 2790 S5=(A1*B1)/(((A1+B1)^2)*(A1+B1+1)) 2800 S6=(A2*B2)/(((A2+B2)^2)*(A2+B2+1)) 2820 GOSUB 560 2830 K7=K8+.01 2840 K8=.995 2850 GOSUB 560 2860 PRINT "------------------------------------------------------" 2870 IF V7=1 THEN 2990 2880 PRINT " DIFFERENCE (PI-2 MINUS PI-1)" 2890 A=A2 2900 B=B2 2910 GOSUB 5220 2930A$=" MEAN ##.##" 2931 PRINT USING A$ ,M2-M1 2940 GOSUB 2150 2950A$=" STANDARD DEVIATION #.###" 2951 PRINT USING A$ ,SQR(S5+S6) 2960 K0=K1-.01 2970 GOSUB 2180 2980 GOTO 3090 2990 PRINT " DIFFERENCE (PI-1 MINUS PI-2)" 3000 A=A2 3010 B=B2 3020 GOSUB 5220 3040A$=" MEAN .##" 3041 PRINT USING A$ ,M1-M2 3050 GOSUB 2150 3060A$=" STANDARD DEVIATION #.###" 3061 PRINT USING A$ ,SQR(S5+S6) 3070 K0=K1-.01 3080 GOSUB 2180 3090 PRINT "-------------------------------------------------------" 3100 K0=K1-.01 3110 GOSUB 2200 3120 GOSUB 2320 3130 V4=1 3140 RETURN 3150 PRINT "-------------------------------------------------------" 3160 PRINT "WHEN YOU ARE READY TO CONTINUE TYPE '1'."; 3170 GOSUB 9000 3180 PRINT L$ 3190 PRINT "TYPE THE NUMBER OF THE OPTION YOU WANT." 3200 PRINT " 1. FURTHER COMPARE THESE TWO PROPORTIONS" 3210 PRINT " 2. COMPARE TWO OTHER PROPORTIONS" 3220 PRINT " 3. EXIT MODULE" 3230 GOSUB 9000 3240 IF O1=3 THEN 3340 3250 IF O1=2 THEN 3290 3260 IF O1=1 THEN 3320 3270 PRINT "REENTER. INPUT MUST BE NUMBER OF OPTION." 3280 GOTO 3230 3290 PRINT L$ 3300 V4=0 3310 GOTO 260 3320 PRINT L$ 3330 GOTO 1470 3340 CLOSE 1: CHAIN "RSTRT" 5000 REM *************************************************** 5005 REM BETA CDF ROUTINE 5010 REM INPUT A B J2 5015 REM OUTPUT P 5020 REM GOSUB'S TO BE CALLED PRIOR 5160 AND 5220 5025 DIM W(16),O(16) 5030 GOSUB 5340 5035 IF A+B>85 THEN 5280 5040 P=0 5045 C6=0 5050 IF A>1 THEN 5080 5055 C6=A 5060 C7=B 5065 A=C7 5070 B=C6 5075 J2=1-J2 5080 D0=(J2-J1)*.5 5085 D1=(J1+J2)*.5 5090 FOR I1=1 TO 16 5095 D9=D0*O(I1)+D1 5100 IF D9=0 THEN 5115 5105 IF D9=1 THEN 5115 5107 D9=LOG(D9)*(A-1)+LOG(1-D9)*(B-1) 5108 IF D9<-80 THEN 5115 5110 P=P+W(I1)*EXP(D9) 5115 NEXT I1 5120 P=P*F0 5125 P=P*D0 5130 IF C6=0 THEN 5155 5135 A=C6 5140 B=C7 5145 P=1-P 5150 J2=1-J2 5155 RETURN 5160 FOR I1=1 TO 16 5165 READ W(I1),O(I1) 5170 NEXT I1 5175 DATA 2.71525E-02,-.989401 5180 DATA 6.22535E-02,-.944575,9.51585E-02,-.865631 5185 DATA .124629,-.755404,.149596,-.617876 5190 DATA .169156,-.458017,.182603,-.281604,.189451,-9.50125E-02 5195 DATA .189451,9.50125E-02,.182603,.281604,.169156,.458017 5200 DATA .149596,.617876,.124629,.755404 5205 DATA 9.51585E-02,.865631,6.22535E-02,.944575,2.71525E-02 5210 DATA .989401 5215 RETURN 5220 G9=A+B 5225 GOSUB 5850 5230 F0=G0 5235 G9=A 5240 GOSUB 5850 5245 F0=F0-G0 5250 G9=B 5255 GOSUB 5850 5260 F0=F0-G0 5265 IF A+B>85 THEN 5275 5270 F0=EXP(F0) 5275 RETURN 5280 W1=(B*J2)^(1/3) 5285 W2=(A*(1-J2))^(1/3) 5290 GOSUB 5325 5295 I1=P 5300 W1=(B*J1)^(1/3) 5305 W2=(A*(1-J1))^(1/3) 5310 GOSUB 5325 5315 P=I1-P 5320 RETURN 5325 Y3=3*(W1*(1-1/9/B)-W2*(1-1/9/A))/SQR(W1*W1/B+W2*W2/A) 5330 GOSUB 8000 5335 RETURN 5340 REM 2/16/76 CHANGED TO ALL LOG 5345 D2=F0+(A-1)*LOG(J2)+(B-1)*LOG(1-J2) 5350 IF D2<-80 THEN 5370 5355 IF D2>85 THEN 5380 5360 D2=EXP(D2) 5365 RETURN 5370 D2=1.E-37 5375 RETURN 5380 D2=1.E+37 5385 RETURN 5390 REM 5395 REM END OF BETA CDF ROUTINE 5400 REM ******************************************************* 5850 REM **************************************************** 5852 REM LOG GAMMA ROUTINE 5853 REM INPUT G9 5854 REM OUTPUT G0 5860 G5=G9 5863 IF G9 <= 1.E+30 THEN 5872 5866 G0=1.E+38 5869 RETURN 5872 IF G9>1.E-09 THEN 5881 5875 G0=0 5878 RETURN 5881 IF G9<1.E+10 THEN 5890 5884 G0=G9*(LOG(G9)-1) 5887 RETURN 5890 G6=1 5893 IF 18= 0 THEN 8070 8065 P=1-P 8070 X=X1 8075 RETURN 8076 REM 8077 REM END OF NORMAL CDF ROUTINE 8078 REM ********************************************************** 9000 REM--SUBROUTINE THAT DETERMINES IF RESTART HAS BEEN REQUESTED. 9005 INPUT O1 9015 IF O1=-9999 THEN 9025 9020 RETURN 9025 CLOSE 1: CHAIN "RSTRT" 9035 REM*************END ROUTINE 9999 END