* Тема: 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) . * Единственное отличие - в использовании проверки Хартли или Ливина на равенство дисперсий (последний метод оценивает остатки и требует наличия исходных, неагрегированных, данных).