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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
* Примеры анализа мощности критерия (power analysis).

* ======================================================================= 
*  Файл:  	 power_analysis.SPS .
*  Дата:  	 9 октября 2003.
*  Автор:  	 Bruce Weaver, weaverb@mcmaster.ca .
*  Описание: Примеры анализа мощности критерия.
* ======================================================================= .

* Здесь рассмотрены примеры из статьи D'Amico, Neilands и
* Zambarano в журнале Behavior Research Methods, Instruments, & Computers,
* 2001, 33(4), P. 479-484.

* В этих примерах данные считываются в матричном формате через команду MATRIX DATA.
* Подробнее об этом см.
*  http://ssc.utexas.edu/consulting/answers/spss/spss33.html .


* -------------------------------------------------- .
* Пример 1:  ANCOVA (анализ ковариаций) с 3 группами (одним трехуровневым фактором) и 2 ковариатами .
* -------------------------------------------------- .

* Данные примера следующие:.

*               Тревожн.   Число     Тревожн.  .
*               пациента  братьев и  родителей .
* ВОЗРАСТН.               сестер               .
* ГРУППА         M    SD    M  SD    M   SD .
*  6-12         7.5  1.9    3  1     4  2.3 .
* 13-19         6.8  2.5    2  2     5  1.4 .
* 20-45         7.1  2.1    4  1     6  1.8 .

* Уровень тревожности пациента - зависимая переменная.
* Возрастная группа - независимая переменная.
* Число братьев и сестер, а также уровень тревожности родителей - ковариаты.

* Следующий синтаксис считывает эти данные в матричном формате.

matrix data 
 variables = agegroup rowtype_ pat_anx sibnumbr prnt_anx
 /factor = agegroup
 /format = lower nodiagonal.
begin data.
1 mean 7.5 3.0 4.0
1 n 50 50 50
2 mean 6.8 2.0 5.0
2 n 50 50 50
3 mean 7.1 4.0 6.0
3 n 50 50 50
. sd 2.17 1.33 1.83
. corr 0.3
. corr 0.3 0.3
end data.

VARIABLE LABELS agegroup "Возрастн. группа" 
 /pat_anx "Тревожность пациента"
 /sibnumbr "Число братьев и сестер"
 /prnt_anx "Тревожность родителей".


Примеч.:	Мы считали в матрицу всего 3 стандартных отклонения: одно для зависимой
		переменной и по одному для каждой ковариаты. Это СРЕДНИЕ стандартные отклонения,
		т.е. средние из стандартных отклонений по 3-м возрастным группам. Для уровня 
		тревожности пациента, например, среднее отклонение вычислено как
		(1.9 + 2.5 + 2.1) / 3 = 2.17. Использование средних стандартов имеет смысл в 
		том случае, если предположение о равных дисперсиях в группах выглядит допустимым.
		Можно ввести стандарты для каждой группы (как мы это сделали для средних), но при
		этом все равно потребуется задать средние стандарты, как мы это сделали. (Я пробовал
		вводить индивидуальные стандарты по каждой группе без указания средних, но
		получил сообщение об ошибке, означающее, что отсутствуют необходимые стандартные 
		отклонения).

manova
 pat_anx by agegroup(1,3) with prnt_anx sibnumbr
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* Для главного эффекта фактора "Возрастная группа" наблюдаемая мощность критерия составила 0.742.
* Это немного меньше показателя 0.8, которого обычно стремятся достичь исследователи.
* Повторим этот пример, увеличив размер выборок.
* В каждой возрастной группы увеличим выборку с 50 до 60.

matrix data 
 variables = agegroup rowtype_ pat_anx sibnumbr prnt_anx
 /factor = agegroup
 /format = lower nodiagonal.
begin data.
1 mean 7.5 3.0 4.0
1 n 60 60 60
2 mean 6.8 2.0 5.0
2 n 60 60 60
3 mean 7.1 4.0 6.0
3 n 60 60 60
. sd 2.17 1.33 1.83
. corr 0.3
. corr 0.3 0.3
end data.
VARIABLE LABELS agegroup "Возрастн. группа" 
 /pat_anx "Тревожность пациента"
 /sibnumbr "Число братьев и сестер"
 /prnt_anx "Тревожность родителей".

manova
 pat_anx by agegroup(1,3) with prnt_anx sibnumbr
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* С выборкой n=60 в каждой группе мощность критерия для главного эффекта фактора "Возрастная группа" составила 0.823 .

* ---------------------------------------- .
* Мощность для однофакторного дисперсионного анализа (One-way ANOVA) с теми же данными.
* ---------------------------------------- .

* Предположим, мы исключили из рассмотрения две ковариаты. Тогда используем однофакторный дисперсионный
* анализ. Мощность критерия будет вычислена так, как показано ниже (в примере используем объем
* выборки n=60 в каждой возрастной группе).

matrix data 
 variables = agegroup rowtype_ pat_anx 
 /factor = agegroup .
begin data.
1 mean 7.5 
1 n 60 
2 mean 6.8 
2 n 60 
3 mean 7.1 
3 n 60 
. sd 2.17 
. corr 1
end data.

VARIABLE LABELS agegroup "Возрастн. группа" 
 /pat_anx "Тревожность пациента".

* ОБРАТИТЕ НА СЛЕДУЮЩИЕ ИЗМЕНЕНИЯ В СИНТАКСИСЕ КОМАНДЫ MATRIX DATA (в сравнении с предыдущим примером).

*   [1] Исчезла строка "/format = lower nodiagonal";
*   [2] Корреляционная матрица состоит из единственного значения "corr 1".

* Для представления корреляционной матрицы нам требуется лишь одна строка, т.к. матрица
* содержит корреляцию зависимой переменной с собой же.

manova
 pat_anx by agegroup(1,3)
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* Без учета двух ковариат мощность снижается с .823 до .329.


* ---------------------------------------------------------- .
* Пример 2:  MANOVA (множественный дисперсионный анализ) с 3 группами (1 фактор с 3 уровнями) и 2 зависимыми переменными.
* ---------------------------------------------------------- .

* Исследовательский вопрос:  Существуют ли различия между 3 этническими группами
* в рейтингах рисков и положительных эффектов от употребления алкоголя?

* Независимая переменная: этническая группа (3 уровня).
* Зависимая переменная:	1) рейтинги рисков от употребления алкоголя
*				2) рейтинги положительных эффектов от употребления алкоголя.

* Считаем данные в матричном формате.

matrix data
 variables = group rowtype_ risk benefit
 /factor = group
 /format = lower nodiagonal.
begin data.
1 mean 4.8 3.9
1 n 20 20
2 mean 5.3 4.0
2 n 20 20
3 mean 5.8 3.5
3 n 20 20 
. sd 1.27 1.4
. corr .3
end data.

VARIABLE LABELS group "Этнич. группа" 
 /risk "Рейтинг рисков"
 /benefit "Рейтинг положительных эффектов".

manova
 risk benefit by group(1,3)
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* Имеется 3 типа значений мощности:

* 	1) Мощность = 0.57 для одномерной проверки по переменной RISK
* 	2) Мощность = 0.17 для одномерной проверки по переменной BENEFIT
* 	3) Мощность = от 0.65 до 0.67 для разных многомерных проверок.

* Возможно, вы захотите увеличить объем выборок для достижения подходящих
* значений мощности. Но то, насколько необходимо увеличить выборку, будет
* зависеть от того, какая из зависимых переменных представляет для вас наибольший
* интерес. Если вы, в основном, заинтересованы в обнаружении эффекта по переменной
* RISK, большого увеличения не потребуется. Но если вы хотите обеспечить 80%-ю
* мощность для переменной BENEFIT, выборку потребуется увеличить куда больше.

* Попробуем снова с объемами выборок в каждой группе n = 30 вместо 20.

matrix data
 variables = group rowtype_ risk benefit
 /factor = group
 /format = lower nodiagonal.
begin data.
1 mean 4.8 3.9
1 n 30 30
2 mean 5.3 4.0
2 n 30 30
3 mean 5.8 3.5
3 n 30 30 
. sd 1.27 1.4
. corr .3
end data.

VARIABLE LABELS group "Этнич. группа" 
 /risk "Рейтинг рисков"
 /benefit "Рейтинг положительных эффектов".

manova
 risk benefit by group(1,3)
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* Теперь мы имеем примерно 85%-ю мощность для многомерных проверок,
* 77% для переменной RISK и 23% для переменной BENEFIT.

* ---------------------------------------------------------- .
* Пример 3:  ANOVA (дисперсионный анализ) со смешанным планом эксперимента .
* ---------------------------------------------------------- .

* Зависимая переменная: уровень депрессии.
* Фактор различий между наблюдаемыми: группа (3 уровня).
* Фактор различий внутри наблюдаемых: время (зависимая переменная измерена с 3 повторами).

* Наибольший интерес представляет эффект взаимодействия "группа x время".
* Сколько наблюдаемых (испытуемых) необходимо набрать, чтобы обеспечить 80%-ю мощность для данного эффекта?.

* Считываем данные в матричном формате .

matrix data
 variables = group rowtype_ depress1 depress2 depress3
 /factor = group
 /format = lower nodiagonal.
begin data.
1 mean 11 10 9
1 n 33 33 33
2 mean 11 10 10
2 n 33 33 33
3 mean 11 11 10
3 n 34 34 34
. sd 2.3 2.0 1.8
. corr 0.3
. corr 0.3 0.3
end data.

VARIABLE LABELS group "группа" 
 /depress1 "Депрессия, 1-е измерение"
 /depress2 "Депрессия, 1-е измерение"
 /depress3 "Депрессия, 1-е измерение".

manova
 depress1 depress2 depress3 by group(1,3)
 /wsfactors depress(3)
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* Мощность для эффекта взаимодействия составила 0.56. Таким образом, нужно увеличить объем выборки.
* Попробуем снова с выборкой n = 55 в каждой из групп.

matrix data
 variables = group rowtype_ depress1 depress2 depress3
 /factor = group
 /format = lower nodiagonal.
begin data.
1 mean 11 10 9
1 n 55 55 55
2 mean 11 10 10
2 n 55 55 55
3 mean 11 11 10
3 n 55 55 55
. sd 2.3 2.0 1.8
. corr 0.3
. corr 0.3 0.3
end data.

VARIABLE LABELS group "группа" 
 /depress1 "Депрессия, 1-е измерение"
 /depress2 "Депрессия, 1-е измерение"
 /depress3 "Депрессия, 1-е измерение".

manova
 depress1 depress2 depress3 by group(1,3)
 /wsfactors depress(3)
 /method = unique
 /error = within+residual
 /matrix = in(*)
 /power t (.05) F (.05)
 /print signif (mult averf)
 /noprint param(estim).

* С размером выборки n=55 в каждой группе мощность для эффекта взаимодействия составила .813.

* ======================================================================= .