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
164
165
166
167
168
169
* Тема: Статистика на основе t-критерия: эффект, неперекрытие, мощность.
* Ключевые слова: t-критерий, t-проверка, t-test, t-тест, величина эффекта, effect size, неперекрываемость, nonoverlap, мощность критерия, statistical power.
* Опубликован: ?, перевод: 27.10.2008.
* Автор: Valentim R. Alferes (Университет Коимбра, Португалия), valferes@fpce.uc.pt.
* Перевод: А. Балабанов.
* Размещение: http://www.spsstools.ru/Syntax/T-Test/t-test.txt (.sps).
* Проверено: SPSS 15.0.0.

************************************************************************
**
** Синтаксис осуществляет проверку гипотезы о равенстве средних по двум независимым выборкам
** на основе t-критерия и вычисляет показатели величины эффекта, показатели неперекрываемости распределений и наблюдённую мощность.
**
** Выдача разделяется на 4 части:
**
** ЧАСТЬ I - стандартная выдача SPSS для t-проверки:
** - описательная статистика;
** - проверка Ливина (Leven) на равенство дисперсий 
** - t-критерий равенства средних (случаи предполагаемого равенства и неравенства дисперсий);
** - доверительный интервал для разности средних.
**
** ЧАСТЬ II - показатели величины эффекта:
** - d Кохена (Cohen's d, D);
** - Коррекция Хеджеса (Hedges, D_H);
** - точечно-бисериальная корреляция r (R);
** - квадрат точечно-бисериальной корреляции (R2);
** - биномиальный показатель величины эффекта (Binomial Effect Size Display, BESD_LO и BESD_UP).
**
** ЧАСТЬ III - показатели неперекрываемости распределений (см. Cohen, 1988, pp. 21-23):
** - U1 (процент неперекрывающихся плотностей двух распределений);
** - U2 (процент наибольших значений из группы 1, превосходящих такой же процент наименьших значений из группы 2);
** - U3 (соотношение процентилей = процентиль из распределения группы 2, соответствующий значениям из
**   50-го процентиля распределения группы 1).
**
** ЧАСТЬ IV - наблюдённая мощность критерия (см. алгоритм в Borenstein et al., 2001):
** - N1, N2 - размеры выборок, гармонический N (N_HARM);
** - альфа (ALFA) и наблюдённая мощность (OPOWER).
** 
** Если у пользователя имеются исходные данные (по каждому наблюдению в отдельности), он должен воспользоваться
** методом 1, если же у него есть только агрегированные данные (например, из журнальной статьи), он должен воспользоваться 
** методом 2.

************************************************************************

** МЕТОД 1: анализ исходных данных.

** Перед запуском синтаксиса данные должны быть загружены в редактор данных SPSS; в нём должны существовать
** две переменные числового типа:
** IV – независимая переменная (которая определяет совокупности: 1 = группа 1; 2 = группа 2):
** DV – зависимая переменная (для которой считаем средние).

* Задайте доверительный уровень доверительного интервала для разности средних
* (по умолчанию доверительный уровень = .95).
T-TEST GROUPS=IV(1 2)/VARIABLES=DV/CRITERIA=CIN(.95).
GRAPH/BAR(SIMPLE)=MEAN(DV) BY IV.
GRAPH/ERRORBAR(CI 95)=DV BY IV
 /TITLE='Доверительные интервалы для средних'.
AGGREGATE/OUTFILE=*/BREAK=iv/m2=MEAN(dv)/dp2=SD(dv)/N2=N.
COMPUTE N1=LAG(N2,1).
COMPUTE M1=LAG(M2,1).
COMPUTE DP1=LAG(DP2,1).
EXECUTE.
SELECT IF(IV=2).
EXECUTE.

* Задайте альфу для вычисления наблюдённой мощности
* (по умолчанию ALFA = 0.05).
COMPUTE ALFA = 0.05.
COMPUTE SP2=(((N1-1)*(DP1**2))+((N2-1)*(DP2**2)))/(N1+N2-2).
COMPUTE T=(M1-M2)/SQR(SP2*((1/N1)+(1/N2))).
COMPUTE GL=N1+N2-2.
COMPUTE R=T/SQR((T**2)+GL).
COMPUTE R2=R**2.
COMPUTE D=T*SQR((1/N1)+(1/N2)).
COMPUTE D_H=D*(1-(3/(4*(N1+N2)-9))).
COMPUTE BESD_LO=.50-(R/2).
COMPUTE BESD_UP=.50+(R/2).
COMPUTE U3=CDF.NORMAL(D,0,1)*100.
COMPUTE U2=CDF.NORMAL((D/2),0,1)*100.
COMPUTE U2X=CDF.NORMAL((ABS(D)/2),0,1).
COMPUTE U1=(2*U2X-1)/U2X*100.
COMPUTE N_HARM=(2*N1*N2)/(N1+N2).
COMPUTE NCP=ABS((D*SQR(N_HARM))/SQR(2)).
COMPUTE T_ALPHA=IDF.T(1-ALFA/2,GL).
COMPUTE POWER1=1-NCDF.T(T_ALPHA,GL,NCP).
COMPUTE POWER2=1-NCDF.T(T_ALPHA,GL,-NCP).
COMPUTE OPOWER=POWER1+POWER2.
FORMATS ALL(F8.4) N1 N2(F8.0) U1 U2 U3(F8.1).
SUMMARIZE/TABLES=D D_H R R2 BESD_LO BESD_UP/FORMAT=NOLIST TOTAL
 /TITLE='ЧАСТЬ II - показатели величины эффекта'/CELLS=FIRST.
SUMMARIZE/TABLES=U1 U2 U3/FORMAT=NOLIST TOTAL
 /TITLE='ЧАСТЬ III - показатели неперыкрываемости'/CELLS=FIRST.
SUMMARIZE/TABLES=N1 N2 N_HARM ALFA OPOWER/FORMAT=NOLIST TOTAL
 /TITLE='ЧАСТЬ IV - наблюдённая мощность'/CELLS=FIRST.

************************************************************************

** МЕТОД 2: Воспроизведение в SPSS выдачи t-проверки по опубликованным агрегированным данным.

* Заполните две строки файла данных следующими статистиками:
* N - число наблюдений в группе, M - среднее значение группы, SD - стандартное отклонение в группе.
DATA LIST LIST /N(F8.0) M(F8.2) SD(F8.2).
BEGIN DATA
17  7,46  1,98
15  5,34  2,14
END DATA.
COMPUTE IV=$CASENUM.
LOOP ID=1 TO N.
XSAVE OUTFILE=XOUT1.
END LOOP.
EXECUTE.
GET FILE=XOUT1.
COMPUTE DV=M.
COMPUTE K=SQR((SD**2*(N-1))/2).
IF (ID=1) DV=M+K.
IF (ID=2) DV=M-K.
EXECUTE.

* Задайте доверительный уровень доверительного интервала для разности средних
* (по умолчанию доверительный уровень = .95).
T-TEST GROUPS=IV(1 2)/VARIABLES=DV/CRITERIA=CIN(.95).
GRAPH/BAR(SIMPLE)=MEAN(DV) BY IV.
GRAPH/ERRORBAR(CI 95)=DV BY IV
 /TITLE='Доверительные интервалы для средних'.
AGGREGATE/OUTFILE=*/BREAK=IV/N2=MEAN(N)/M2=MEAN(M)/DP2=MEAN(SD).
COMPUTE N1=LAG(N2,1).
COMPUTE M1=LAG(M2,1).
COMPUTE DP1=LAG(DP2,1).
EXECUTE.
SELECT IF(IV=2).
EXECUTE.

* Задайте альфу для вычисления наблюдённой мощности
* (по умолчанию ALFA = 0.05).
COMPUTE ALFA = 0.05.
COMPUTE SP2=(((N1-1)*(DP1**2))+((N2-1)*(DP2**2)))/(N1+N2-2).
COMPUTE T=(M1-M2)/SQR(SP2*((1/N1)+(1/N2))).
COMPUTE GL=N1+N2-2.
COMPUTE R=T/SQR((T**2)+GL).
COMPUTE R2=R**2.
COMPUTE D=T*SQR((1/N1)+(1/N2)).
COMPUTE D_H=D*(1-(3/(4*(N1+N2)-9))).
COMPUTE BESD_LO=.50-(R/2).
COMPUTE BESD_UP=.50+(R/2).
COMPUTE U3=CDF.NORMAL(D,0,1)*100.
COMPUTE U2=CDF.NORMAL((D/2),0,1)*100.
COMPUTE U2X=CDF.NORMAL((ABS(D)/2),0,1).
COMPUTE U1=(2*U2X-1)/U2X*100.
COMPUTE N_HARM=(2*N1*N2)/(N1+N2).
COMPUTE NCP=ABS((D*SQR(N_HARM))/SQR(2)).
COMPUTE T_ALPHA=IDF.T(1-ALFA/2,GL).
COMPUTE POWER1=1-NCDF.T(T_ALPHA,GL,NCP).
COMPUTE POWER2=1-NCDF.T(T_ALPHA,GL,-NCP).
COMPUTE OPOWER=POWER1+POWER2.
FORMATS ALL(F8.4) N1 N2(F8.0) U1 U2 U3(F8.1).
SUMMARIZE/TABLES=D D_H R R2 BESD_LO BESD_UP/FORMAT=NOLIST TOTAL
 /TITLE='ЧАСТЬ II - показатели величины эффекта'/CELLS=FIRST.
SUMMARIZE/TABLES=U1 U2 U3/FORMAT=NOLIST TOTAL
 /TITLE='ЧАСТЬ III - показатели неперыкрываемости'/CELLS=FIRST.
SUMMARIZE/TABLES=N1 N2 N_HARM ALFA OPOWER/FORMAT=NOLIST TOTAL
 /TITLE='ЧАСТЬ IV - наблюдённая мощность'/CELLS=FIRST.

************************************************************************
* Литература:
** Borenstein, M., Rothstein, H., & Cohen, J. (2001). SamplePower 2.0 
**    [Computer Manual]. Chicago: SPSS Inc.
** Cohen, J. (1988). Statistical power analysis for the behavioral 
**    sciences (2nd ed.). Hillsdale, NJ: Lawrence Erbaum.
************************************************************************.