Проверки и доверительные интервалы для долей
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 155 156 157 158 159 160 161 162 163 | *~~~~~~~~~~~~~~~~~~~~~. *~~~~~~~~~~~~~~~~~~~~~. *~~~~~~~~~~~~~~~~~~~~~. * Статвывод для долей. *~~~~~~~~~~~~~~~~~~~~~. * 20 марта 2001 . *~~~~~~~~~~~~~~~~~~~~~. *~~~~~~~~~~~~~~~~~~~~~. *для справок см. Moore and McCabe (2001), Intro to the Practice of Statistics, глава 8. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. * Проверка гипотезы о доле в генеральной совокупности по большой выборке. * (см. Moore and McCabe (2001), Intro to the Practice of Statistics, стр. 588-591). *-------------------------------------------------------------------------------. MATRIX. COMPUTE n = {4040}. /* Введите сюда объём выборки (т.е. измените число в фигурных скобках)*/ COMPUTE x = {1992}. /* Введите число "успешных" исходов (определяет долю) (измените число в фигурных скобках)*/ COMPUTE p0 = {0.5}. /* Введите проверяемое значение доли в генеральной совокупности (измените число в фигурных скобках)/* *Далее синтаксис вычисляет статистку z и её значимость для значений n, x и p0, которые вы задали выше. *NB С этой строки вам больше ничего не следует изменять. 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. *В выводе выше: n - объём выборки, p - выборочная доля, SE - стандартная ошибка доли, z - статистика критерия, SIGz_2TL - двусторонняя значимость статистики, SIGz_LTL - левосторонняя значимость, SIGz_UTL - правосторонняя значимость - А.Б. *NB Если требуется получить значения статистик с большим/меньшим числом десятичных знаков, измените формат в предпоследней строке. *например, если требуется только 2 знака, укажите формат "F10.2". *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. * Доверительный интервал для доли в генеральной совокупности по большой выборке. * (см. Moore and McCabe (2001), Intro to the Practice of Statistics, стр. 586-588). *-------------------------------------------------------------------------------. *Для вычисления обратного нормального распределения я использую аппроксимацию, представленную на http://www.hpmuseum.org/software/67pacs/67ndist.htm, которая была адаптирована по книге Abramowitz and Stegun, Handbook of Mathematical Functions, National Bureau of Standards 1970. MATRIX. COMPUTE n = {4040}. /* Введите сюда объём выборки (т.е. измените число в фигурных скобках)*/ COMPUTE x = {2048}. /* Введите число "успешных" исходов (определяет долю) (измените число в фигурных скобках)*/ COMPUTE CONFID = {0.99}. /* Введите желаемый доверительный уровень */ *Далее синтаксис строит доверительный интервал с параметрами, заданными выше. *NB С этой строки вам больше ничего не следует изменять. 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 = "ДИ для доли в генеральной совокупности" / CLABELS = n, phat, zstar, SE, Lower, Upper. END MATRIX. *В выводе выше: n - объём выборки, phat - выборочная доля (точечная оценка генеральной доли), SE - стандартная ошибка доли, zstar - z-значение, соответствующее заданному доверительному уровню, Lower - нижняя граница ДИ, Upper - верхняя граница ДИ - А.Б. *NB Если требуется получить значения статистик с большим/меньшим числом десятичных знаков, измените формат в предпоследней команде. *например, если требуется только 2 знака, укажите формат "F10.2". *------------------------------------------------------------------------------. *------------------------------------------------------------------------------. *##############################################################################. *------------------------------------------------------------------------------. *------------------------------------------------------------------------------. * Проверка равенства долей в генеральных совокупностях (по двум большим выборкам). MATRIX. COMPUTE n1 = {7180}. /* Введите объём первой выборки (в фигурные скобки)*/ COMPUTE n2 = {9916}. /* Введите объём второй выборки (в фигурные скобки)*/ COMPUTE x1 = {1630}. /* Введите число "успешных" исходов (определяющих долю) в первой выборке (в фигурные скобки)*/ COMPUTE x2 = {1684}. /* Введите число "успешных" исходов (определяющих долю) во второй выборке (в фигурные скобки)*/ *Далее синтаксис вычисляет статистику критерия z и уровень значимости для введённых величин. *NB С этой строки вам больше ничего не следует изменять. 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. * В выдаче выше: p1 - доля в первой выборке, p2 - доля во второй выборке, SE - стандартная ошибка разницы, z - статистика критерия, SIGz_2TL - двусторонняя значимость статистики, SIGz_LTL - левосторонняя значимость, SIGz_UTL - правосторонняя значимость - А.Б. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. *-------------------------------------------------------------------------------. * Доверительный интервал для разности двух долей в ген. совокупностях (по двум большим выборкам). * (см. Moore and McCabe (2001) Intro to the Practice of Statistics, стр. 602-604). *-------------------------------------------------------------------------------. *Для вычисления обратного нормального распределения я использую аппроксимацию, представленную на http://www.hpmuseum.org/software/67pacs/67ndist.htm, которая была адаптирована по книге Abramowitz and Stegun, Handbook of Mathematical Functions, National Bureau of Standards 1970. MATRIX. COMPUTE n1 = {84}. /* Введите объём первой выборки (в фигурные скобки)*/ COMPUTE n2 = {106}. /* Введите объём второй выборки (в фигурные скобки)*/ COMPUTE x1 = {15}. /* Введите число "успешных" исходов (определяющих долю) в первой выборке (в фигурные скобки)*/ COMPUTE x2 = {21}. /* Введите число "успешных" исходов (определяющих долю) во второй выборке (в фигурные скобки)*/ COMPUTE CONFID = {0.90}. /* Введите желаемый доверительный уровень */ *Далее синтаксис вычисляет доверительный интервал для величин, введённых выше. *NB С этой строки вам больше ничего не следует изменять. 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 = "Доверительный интервал для разности двух долей" / CLABELS = n1, n2, diffp1p2, zstar, SE, Lower, Upper. END MATRIX. *В выводе выше: n1 и n2 - объёмы выборок diffp1p2 - разница долей, SE - стандартная ошибка разности, zstar - z-значение, соответствующее заданному доверительному уровню, Lower - нижняя граница ДИ, Upper - верхняя граница ДИ - А.Б. *NB Если требуется получить значения статистик с большим/меньшим числом десятичных знаков, измените формат в предпоследней команде. *например, если требуется только 2 знака, укажите формат "F10.2". *(c) Gwilym Pryce 2002. |