10X$=SYS(CHR$(7)):R$=LEFT(X$,7):L$=RIGHT(X$,8) 20 REM************************************************************* 30 REM CMODG CMODG CMODG CMODG CMODG CMODG 40 REM*********************************************************** 50 REM 60 REM PRIOR FOR MULTINOMIAL DIRCHLET 70 REM 80 REM******************************************************* 90 DIM #1,A1(111),A2(111),A3(111) 100 OPEN R$ AS FILE 1 140A1(0)=16 150 DIM Q(10) 160 DIM R(10) 170 FOR K5=1 TO 10 180 R(K5)=0 190 NEXT K5 200 V9=0 210 K3=0 220 GOSUB 5160 230 X=0 240 V8=0 250 V7=0 260 S8=0 270 S7=0 280 K6=0 290 DIM P(10) 300 I2=1 310 PRINT L$ 320 PRINT " PRIOR DISTRIBUTION - MULTINOMIAL MODEL" 330 PRINT 340 PRINT "THIS MODULE WILL ASSIST YOU IN FITTING A PRIOR DISTRIBUTION TO" 350 PRINT "YOUR BELIEFS ABOUT THE PROPORTIONS IN A MULTINOMIAL ANALYSIS." 360 PRINT "THE MODULE ATTEMPTS TO FIT A DIRICHLET DISTRIBUTION TO YOUR" 370 PRINT "BELIEFS ABOUT THE PROPORTIONS CONSIDERED JOINTLY, AND BETA" 380 PRINT "DISTRIBUTIONS TO YOUR BELIEFS ABOUT THE PROPORTIONS CONSIDERED" 390 PRINT "SEPARATELY. THERE CAN BE AS MANY AS 10 CATEGORIES." 400 PRINT 410 PRINT "HOW MANY CATEGORIES ARE THERE IN YOUR ANALYSIS"; 420 GOSUB 9000 430 S0=O1 440 PRINT 450 IF ABS(S0-INT(S0))<.0001 THEN 480 460 PRINT "REENTER. NUMBER OF CATEGORIES MUST BE AN INTEGER." 470 GOTO 420 480 IF S0<3 THEN 500 490 IF S0<11 THEN 630 500 PRINT "THE NUMBER OF CATEGORIES MUST BE GREATER THAN 2 BUT NOT GREATER" 510 PRINT "THAN 10. IF THERE ARE ONLY TWO CATEGORIES THEN YOU SHOULD SELECT" 520 PRINT "A BINARY MODEL FOR YOUR ANALYSIS." 530 PRINT 540 PRINT "IF YOU WANT TO RESPECIFY THE NUMBER OF CATEGORIES TYPE '1'." 550 PRINT "IF YOU WANT TO EXIT THE MODULE TYPE '0'." 560 GOSUB 9000 570 IF O1=1 THEN 410 580 IF O1=0 THEN 600 590 GOTO 410 600 CLOSE 1: CHAIN "RSTRT" 610 PRINT "REENTER. INPUT MUST 0 OR 1." 620 GOTO 560 630 GOSUB 700 640 GOTO 980 650 REM **************************************************************** 660 REM 670 REM ROUTINE FOR INPUTTING JOINT MODE ESTIMATE 680 REM 690 REM **************************************************************** 700 PRINT "INPUT YOUR ESTIMATES OF THE PROPORTION OF THE POPULATION IN" 710 PRINT "EACH CATEGORY. THESE ESTIMATES SHOULD SUM TO 1.0" 720 S1=0 730 FOR I1=1 TO S0 740 PRINT 750A$="CATEGORY ####, " 751PRINTUSING A$,I1; 770 GOSUB 9000 780 P(I1)=O1 790 IF P(I1) <= 0 THEN 820 800 IF P(I1) >= 1 THEN 820 810 GOTO 840 820 PRINT "REENTER. ESTIMATE MUST BE BETWEEN 0 AND 1." 830 GOTO 750 840 S1=S1+P(I1) 850 IF I1=1 THEN 870 852 IF I1=S0 THEN 870 860A$=" ACCUMULATED PROPORTION = #.###" 861PRINT USING A$,S1; 870 NEXT I1 890 IF ABS(S1-1)>10^(-10) THEN 910 900 RETURN 910 PRINT 920 PRINT "PROPORTIONS DO NOT SUM TO 1.0. RESPECIFY." 930 PRINT 940 GOTO 720 950 REM ************* END OF ROUTINE - INPUT JOINT MODE *************** 960 REM 970 REM 980 PRINT L$ 990 PRINT " SPECIFY THE 25TH AND 75TH PERCENTILES OF YOUR PRIOR" 1000 PRINT "DISTRIBUTION ON THE PROPORTION IN EACH OF THE CATEGORIES." 1010 PRINT "WE ARE ASSUMING YOUR ESTIMATE WAS A MEASURE OF THE CENTRAL" 1020 PRINT "TENDENCY OF THE PRIOR DISTRIBUTION." 1030 PRINT 1040 PRINT "CATEGORY ESTIMATE" 1050 FOR K5=1 TO S0 1060A$=" ## .##" 1061 PRINT USING A$ ,K5,P(K5) 1080 PRINT " 25TH"; 1090 GOSUB 9000 1100 Q1=O1 1110 IF O1 <= 0 THEN 1120 1115 IF O1
= 1 THEN 1190 1185 IF O1>P(K5) THEN 1210 1190 PRINT "75TH MUST BE GREATER THAN ESTIMATE AND LESS THAN 1. RESPECIFY." 1200 GOTO 1160 1210 Q2=P(K5) 1220 GOSUB 1320 1230 K3=K3+W8 1240 NEXT K5 1250 W8=K3/S0 1252 IF W8<8000THEN 1260 1254 W8=8000 1260 GOTO 1510 1270 REM ***************************************************************** 1280 REM 1290 REM ESTIMATE A AND B PARAMETERS FROM PERCENTILES 1300 REM 1310 REM ******************************************************************* 1320 D1=SQR(Q2*(1-Q1))-SQR(Q1*(1-Q2)) 1330 D1=D1*D1 1340 D3=SQR(Q2*(1-Q3))-SQR(Q3*(1-Q2)) 1350 D3=D3*D3 1360 C=.056*(1/D1+1/D3) 1370 A=C*Q2+1/3 1380 IF A>1.15 THEN 1470 1390 A=2 1400 W8=A/P(K5) 1410 W7=(A-1)/P(K5)+S0 1420 IF W8>W7 THEN 1440 1430 W8=W7 1440 IF W8-A>1.15 THEN 1500 1450 A=A+1 1460 GOTO 1400 1470 B=C*(1-Q2)+1/3 1480 IF B <= 1.15 THEN 1390 1490 W8=A+B 1500 RETURN 1510 PRINT L$ 1520 PRINT " HERE ARE THE PERCENTILES OF THE MARGINAL BETA DISTRIBUTIONS" 1530 PRINT "FITTED TO YOUR SPECIFICATIONS." 1540 PRINT 1550A$=" HYPOTHETICAL SAMPLE SIZE (A)=######.##" 1551 PRINT USING A$ ,W8 1570 IF S0>8 THEN 1590 1580 PRINT 1600PRINT"CATEGORY JOINT ESTIMATE 25TH 50TH 75TH" 1610 REM ****************************************************************** 1620 FOR K5=1 TO S0 1630 R(K5)=.5*(P(K5)*W8+(W8-S0)*P(K5)+1) 1640 A=R(K5) 1650 B=W8-A 1660 GOSUB 5220 1670 P1=25 1680 GOSUB 3110 1690 Q(1)=J2 1700 P1=50 1710 GOSUB 3130 1720 Q(2)=J2 1730 P1=75 1740 GOSUB 3130 1750 IF J2<.99 THEN 1770 1760 J2=.99 1770 Q(3)=J2 1780A$=" ## .## .## .## .##" 1781 PRINT USING A$ ,K5,P(K5),Q(1),Q(2),Q(3) 1800 NEXT K5 1810 PRINT 1820 IF V8=1 THEN 1900 1830 PRINT "IF YOU DO NOT FEEL THAT THE HYPOTHETICAL SAMPLE SIZE (A) REFLECTS" 1840 PRINT "YOUR PRIOR INFORMATION ABOUT THE PROPORTIONS YOU CAN SPECIFY A" 1850 PRINT "DIFFERENT (A). THIS WILL NOT AFFECT THE JOINT ESTIMATE BUT WILL" 1860 PRINT "CHANGE THE MARGINAL PERCENTILES. A LARGER (A) WILL RESULT IN " 1870 PRINT "SMALLER INTERPERCENTILE DIFFERENCES AND A SMALLER (A) IN LARGER" 1880 PRINT "ONES." 1890 PRINT 1900 PRINT"IF YOU WANT TO CHANGE (A) TYPE NEW VALUE, ELSE '0'"; 1920 GOSUB 9000 1925 IF O1>9999 THEN 2210 1930 IF O1=0THEN 2240 1940 V8=1 1950 K7=1 1960 FOR K5=2TO S0 1970 IF P(K7)
M7 THEN 2080
2070 M8=M7
2080 IF M8-A>1.15 THEN 2110
2090 A=A+1
2100 GOTO 2040
2110 IF M8