Inferences and Confidence Intervals for Proportions
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | *~~~~~~~~~~~~~~~~~~~~~. *~~~~~~~~~~~~~~~~~~~~~. *~~~~~~~~~~~~~~~~~~~~~. * Inference for Proportions. *~~~~~~~~~~~~~~~~~~~~~. * 20th March 2001 . *~~~~~~~~~~~~~~~~~~~~~. *~~~~~~~~~~~~~~~~~~~~~. *see Moore and McCabe (2001) Intro to the Practice of Statistics, chapter 8. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. * Large-Sample Significance Test for a Single Population Proportion. * (see Moore and McCabe (2001) Intro to the Practice of Statistics, p. 588-591). *-------------------------------------------------------------------------------. MATRIX. COMPUTE n = {4040}. /* Enter the sample size here (i.e. change the number in curly brackets)*/ COMPUTE x = {1992}. /* Enter the number of "successes" here (change the number in curly brackets)*/ COMPUTE p0 = {0.5}. /* Enter the hypothesised value for p (change the number in curly brackets)/* *The remainder of the syntax calculates the z score and signficance levels given the values for n, x and p0 which you have entered. *NB you don't need to alter anything from here on. COMPUTE p = x/n. COMPUTE SE_p0 = SQRT((p0*(1-p0))/n). COMPUTE z = (p - p0) /SE_p0. COMPUTE SIGz_2TL = 2 * (1 - CDFNORM(ABS(Z))). COMPUTE SIGz_LTL = CDFNORM(Z). COMPUTE SIGz_UTL = 1 - CDFNORM(Z). COMPUTE ANSWER = {n, p, SE_p0, z, SIGz_2TL, SIGz_LTL, SIGz_UTL}. PRINT ANSWER / FORMAT "F10.3" / CLABELS = n, p, SE, z, SIGz_2TL, SIGz_LTL, SIGz_UTL. END MATRIX. *NB if you want to obtain values to a greater (lesser) number of decimal places, change the format specified in the last but one line of the syntax. *e.g. if you want only 3 decimal places, change the format to "F10.3". *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. * Large-Sample Confidence Interval for a Single Population Proportion. * (see Moore and McCabe (2001) Intro to the Practice of Statistics, p. 586-588). *-------------------------------------------------------------------------------. *For the inverse normal computation, I use the approximation used by http://www.hpmuseum.org/software/67pacs/67ndist.htm adapted from Abramowitz and Stegun, Handbook of Mathematical Functions, National Bureau of Standards 1970. MATRIX. COMPUTE n = {4040}. /* Enter the sample size here (change the number in curly brackets)*/ COMPUTE x = {2048}. /* Enter the number of "successes"(change the number in curly brackets)*/ COMPUTE CONFID = {0.99}. /* Enter the desired confidence level here */ *The remainder of the syntax calculates the Confidence Interval given the values for n and x which you have entered above. *NB you don't need to alter anything from here on. COMPUTE Q = 0.5 * (1-CONFID). COMPUTE A = ln(1/(Q**2)). COMPUTE T_ = SQRT(A). COMPUTE zstar = T_ - ((2.515517 + (0.802853*T_) + (0.010328*T_**2))/ (1 + (1.432788*T_) + (0.189269*T_**2) + (0.001308*T_**3))). COMPUTE phat = x/n. COMPUTE SE_phat = SQRT((phat*(1-phat))/n). COMPUTE m = zstar * SE_phat. COMPUTE LOWER = phat - m. COMPUTE UPPER = phat + m. COMPUTE ANSWER = {n, phat, zstar, SE_phat, Lower, Upper}. PRINT ANSWER / FORMAT "F10.5" /Title = "Confidence Interval for a Single Population Proportion" / CLABELS = n, phat, zstar, SE, Lower, Upper. END MATRIX. *NB if you want to obtain values to a greater (lesser) number of decimal places, change the format specified in the last but one line of the syntax. *e.g. if you want only 3 decimal places, change the format to "F10.3". *------------------------------------------------------------------------------. *------------------------------------------------------------------------------. *##############################################################################. *------------------------------------------------------------------------------. *------------------------------------------------------------------------------. * Large-sample significance test for two population proportions. MATRIX. COMPUTE n1 = {7180}. /* Enter the first sample size here (change the number in curly brackets)*/ COMPUTE n2 = {9916}. /* Enter the second sample size here (change the number in curly brackets)*/ COMPUTE x1 = {1630}. /* Enter the number of "successes" for sample 1 here (change the nb in curly brackets)*/ COMPUTE x2 = {1684}. /* Enter the number of "successes" for sample 2 here (change the nb in curly brackets)*/ *The remainder of the syntax calculates the z score and signficance levels given the values for n1, n2, x1 and x2 which you have entered. *NB you don't need to alter anything from here on. COMPUTE p1 = x1/n1. COMPUTE p2 = x2/n2. COMPUTE phat = (x1 + x2) / (n1 + n2). COMPUTE SE_phat = SQRT(phat * (1 - phat) * ((1/n1) + (1/n2))). COMPUTE z = (p1 - p2) /SE_phat. COMPUTE SIGz_2TL = 2 * (1 - CDFNORM(ABS(z))). COMPUTE SIGz_LTL = CDFNORM(Z). COMPUTE SIGz_UTL = 1 - CDFNORM(Z). COMPUTE ANSWER = {p1, p2, SE_phat, z, SIGz_2TL, SIGz_LTL, SIGz_UTL}. PRINT ANSWER / FORMAT "F10.5" / CLABELS = p1, p2, SE, z, SIGz_2TL, SIGz_LTL, SIGz_UTL. END MATRIX. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. * Large-sample Confidence Intervals for Comparing for two population proportions. * (see Moore and McCabe (2001) Intro to the Practice of Statistics, p. 602-604). *-------------------------------------------------------------------------------. *For the inverse normal computation, I use the approximation used by http://www.hpmuseum.org/software/67pacs/67ndist.htm adapted from Abramowitz and Stegun, Handbook of Mathematical Functions, National Bureau of Standards 1970. MATRIX. COMPUTE n1 = {84}. /* Enter the first sample size here (change the number in curly brackets)*/ COMPUTE n2 = {106}. /* Enter the second sample size here (change the number in curly brackets)*/ COMPUTE x1 = {15}. /* Enter the number of "successes" for sample 1 here (change the nb in curly brackets)*/ COMPUTE x2 = {21}. /* Enter the number of "successes" for sample 2 here (change the nb in curly brackets)*/ COMPUTE CONFID = {0.90}. /* Enter the desired confidence level here */ *The remainder of the syntax calculates the Confidence Interval given the values for n and x which you have entered above. *NB you don't need to alter anything from here on. COMPUTE Q = 0.5 * (1-CONFID). COMPUTE A = ln(1/(Q**2)). COMPUTE T_ = SQRT(A). COMPUTE zstar = T_ - ((2.515517 + (0.802853*T_) + (0.010328*T_**2))/ (1 + (1.432788*T_) + (0.189269*T_**2) + (0.001308*T_**3))). COMPUTE p1hat = x1/n1. COMPUTE p2hat = x2/n2. COMPUTE SE_phat = SQRT(((p1hat*(1-p1hat))/n1) + (p2hat*(1-p2hat))/n2)). COMPUTE m = zstar * SE_phat. COMPUTE LOWER = (p1hat - p2hat) - m. COMPUTE UPPER = (p1hat - p2hat) + m. COMPUTE diffp1p2 = p1hat - p2hat. COMPUTE ANSWER = {n1, n2, diffp1p2, zstar, SE_phat, Lower, Upper}. PRINT ANSWER / FORMAT "F10.5" /Title = "Confidence Interval for Comparing 2 Proportions" / CLABELS = n1, n2, diffp1p2, zstar, SE, Lower, Upper. END MATRIX. *NB if you want to obtain values to a greater (lesser) number of decimal places, change the format specified in the last but one line of the syntax. *e.g. if you want only 3 decimal places, change the format to "F10.3". *(c) Gwilym Pryce 2002. |
Related pages
...