t-проверка с независимыми выборками по агрегированным данным
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 | * Тема: t-проверка с независимыми выборками по агрегированным данным. * Ключевые слова: t-проверка, t-критерий, Хартли (Hartley), Велч (Welch), равенство дисперсий, доверительный интервал, асимптотический, MATRIX, T-Test, Ливина, матрица. * Опубликован: ?, перевод: 27.10.2008. * Автор: Marta Garcia-Granero. * Перевод: А. Балабанов. * Размещение: http://www.spsstools.ru/Syntax/T-Test/DoT-TestWithSummaryData.txt (.sps). * Проверено: SPSS 15.0.0. * Посылаю Вам синтаксис для выполнения t-проверки с независимыми выборками по агрегированным данным. Хотя у Вас уже есть для этого решение (через матричную форму ввода данных с использованием дисперсионного анализа), этот метод гораздо более полон в плане статистики. - во-первых, выполняется проверка на равенство дисперсий (F-проверка Хартли); - во-вторых, выполняется стандартная t-проверка (в предположении об одинаковости дисперсий) и проверка Велча (Welch) без предположения о равенстве дисперсий; - в-третьих, для выборок с число наблюдений более 30 рассчитываются асимптотические 95% доверительные интервалы для разности средних (для обеих проверок); - в-четвёртых, если размеры выборок малы, даются также неасимптотические доверительные интервалы. * Для сравнения с "нормальной" T-проверкой я также прилагаю исходные несгруппированные данные), из которых я брала размеры выборок, средние и стандарты. * С наилучшими пожеланиями, * Марта СИНТАКСИС: * За один раз можно обработать только один набор данных (одну строку агрегированной информации) (см. ниже исходные данные). data list list /mean1(f8.3) sd1(F8.3) n1(F8.0) mean2(f8.3) sd2(F8.3) n2(F8.0). begin data 187.643 38.098 14 235.929 54.286 14 end data. * T-проверка *. matrix. PRINT /TITLE "T-ПРОВЕРКА ДЛЯ НЕЗАВИСИМЫХ ВЫБОРОК ПО АГРЕГИРОВАННЫМ ДАННЫМ". GET DATA /FILE=* /names=vecnam. get mean1 /var=mean1. get sd1 /var=sd1. get n1 /var=n1. get mean2 /var=mean2. get sd2 /var=sd2. get n2 /var=n2. compute sem1=sd1/sqrt(n1). compute sem2=sd2/sqrt(n2). print {n1,mean1,sd1,sem1;n2,mean2,sd2,sem2} /title='Данные' /clabels='N','Средн.','Ст. откл.','Ст. ош. ср.' /rlabels='Выб. 1','Выб. 2' /format='f8.2'. compute diff=mean1-mean2. compute var1=sd1**2. compute var2=sd2**2. do if var1 ge var2. compute ftest=var1/var2. compute fsig=1-fcdf(ftest,n1,n2). else if var1 lt var2. compute ftest=var2/var1. compute fsig=1-fcdf(ftest,n2,n1). end if. print {ftest,fsig} /title='Проверка Хартли на равенство дисперсий' /clabels='F-стат.','Знач.' /format='f8.3'. compute n=n1+n2. compute poolvar=((n1-1)&*(var1)+(n2-1)&*(var2))/(n-2) . compute eedif1=sqrt(poolvar*(1/n1+1/n2)). compute t1=diff/eedif1. compute df1=n-2. compute t1sig=2*(1-tcdf(abs(t1),df1)). compute eedif2=sqrt(var1/n1+var2/n2). compute t2=diff/eedif2. compute df2=((var1/n1+var2/n2)**2)/(((var1/n1)**2)/(n1-1)+((var2/n2)**2)/(n2-1)). compute t2sig=2*(1-tcdf(abs(t2),df2)). print {diff,eedif1,t1,df1,t1sig;diff,eedif2,t2,df2,t2sig} /title='T-проверка для независимых выборок с равными или неравными дисперсиями' /clabels='Разн.','SE(разн.)','t','df','2-ст. знач.' /rlabels='Равны','Неравны' /format='f8.3'. do if (n1 ge 30) and (n2 ge 30). compute low1=diff-1.96*eedif1. compute upp1=diff+1.96*eedif1. compute low2=diff-1.96*eedif2. compute upp2=diff+1.96*eedif2. print {low1,upp1;low2,upp2} /title='Приблизительные 95%ДИ для разности (асимптотические)' /clabels='НГ','ВГ' /rlabels='Равные','Неравные' /format='f8.3'. end if. compute data={data,diff,eedif1,df1,eedif2,df2}. compute vecnam={vecnam,"diff","eedif1","df1","eedif2","df2"}. save data /outfile=* /names=vecnam. end matrix. * Вычисление точных(неасимптотических) 95%ДИ для разности *. COMPUTE low1 = diff -eedif1* IDF.T(0.975,df1) . COMPUTE upp1 = diff +eedif1* IDF.T(0.975,df1) . COMPUTE low2 = diff -eedif2* IDF.T(0.975,df2) . COMPUTE upp2 = diff +eedif2* IDF.T(0.975,df2) . EXECUTE . REPORT FORMAT=LIST AUTOMATIC ALIGN(CENTER) /VARIABLES=low1 upp1 /TITLE "95%ДИ для разности в предположении равенства дисперсий". REPORT FORMAT=LIST AUTOMATIC ALIGN(CENTER) /VARIABLES=low2 upp2 /TITLE "95%ДИ для разности без предположения равенства дисперсий". * Исходные (для сравнения) *. data list free /group(F8.0) wgain(F8.0). begin data 1 175 1 149 1 132 1 187 1 218 1 123 1 151 1 248 1 200 1 206 1 219 1 179 1 234 1 206 2 142 2 214 2 311 2 249 2 337 2 176 2 262 2 211 2 302 2 216 2 195 2 236 2 253 2 199 end data. var label group 'Диета'/wgain 'Набор веса (фунтов)'. value labels group 1 'Контрольная' 2 'Витамин A'. T-TEST GROUPS=group(1 2) /VARIABLES=wgain /CRITERIA=CIN(.95) . * Единственное отличие - в использовании проверки Хартли или Ливина на равенство дисперсий (последний метод оценивает остатки и требует наличия исходных, неагрегированных, данных). |