Проверка взаимодействия в факторном плане с негауссовой зависимой переменной
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 | * Проверка взаимодействия в факторном плане с ненормальной зависимой переменной. *(Вопрос) Как можно проверить эффект взаимодействия в факторных планах с ненормально *распределенной зависимой переменной? *(Непараметрический 2-факторный дисперсионный анализ - Non parametric 2-way ANOVA) *(Ответ) Существует несколько способов: *Литература: *1) Shirley EAC. "Applications of Ranking Methods to Multiple Comparison Procedures and Factorial Experiments". Appl Statist. - 1987;36(2):205-213. *2) Conover WJ and Iman RL. "Rank Transformations as a Bridge between Parametric and Nonparametric Statistics". The American Statistician. - 1981;35:124-129. * Код составила Marta Garcia-Granero. Отправлен Рею Левек по электронной почте 05.02.2002. ******************** ПРИМЕР ****************************. DATA LIST LIST /altit(f2.0) splenec(f2.0) fibrinog(f4.0). BEGIN DATA 1 1 528 1 1 444 1 1 338 1 1 342 1 1 338 1 2 434 1 2 331 1 2 312 1 2 575 1 2 472 2 1 294 2 1 254 2 1 352 2 1 241 2 1 291 2 2 272 2 2 275 2 2 350 2 2 350 2 2 466 END DATA. VARIABLE LABELS altit "Высота". VALUE LABELS altit 1 "на уровне моря" 2 "15.000 футов" . VARIABLE LABELS splenec "Спленэктомия". VALUE LABELS splenec 1 "Нет" 2 "Да" . * РЕШЕНИЕ #1: ТОЛЬКО ДЛЯ СБАЛАНСИРОВАННЫХ И КВАДРАТНЫХ ПЛАНОВ * (КАК ПРИВЕДЕННЫЙ ВЫШЕ: число наблюдений на ячейку плана n=5; план 2x2) * (в данном случае значения хи-квадрат будут аддитивны) *********************************************************. COMPUTE group = splenec+2*(altit=2) . * (для планов 3x3 это выражение было бы таким: COMPUTE group = splenec+3*(altit=2)+6*(altit=3) * и так далее...). EXECUTE . VARIABLE LABELS group "Сводная группировка". VALUE LABELS group 1 "на уровне моря/Нет" 2 "на уровне моря/Да" 3 "15.000 футов/Нет" 4 "15.000 футов/Да" . NPAR TESTS /K-W=fibrinog BY group(1 4) /K-W=fibrinog BY altit(1 2) /K-W=fibrinog BY splenec(1 2). * Теперь найдём 3 значения хи-квадрат и соответствующие им числа степеней свободы и подсчитаем * хи-квадрат и числа степеней свободы для взаимодействий по схеме: group - altit - splenec * Числа из таблиц следует скопировать в 2 следующих выражения COMPUTE * (я ещё не нашла, как сделать это автоматически). DO IF $casenum=1. COMPUTE chi=5.774-4.487-0.824. COMPUTE df=3-1-1. COMPUTE sig = 1-CDF.CHISQ(chi,df) . END IF. EXECUTE. FORMAT chi (F8.3) df (F2.0) sig (F8.4). REPORT FORMAT=LIST AUTOMATIC ALIGN(CENTER) /VARIABLES=chi df sig /MISSING=LIST /TITLE "Проверка Краскала-Уоллиса (Kruskal-Wallis) на взаимодействие". * Но! Для несбалансированных и/или неквадратных планов (2x3, 3x4...) решение, приведенное выше, * не работает (можно получить отрицательные значения хи-квадрат!). * РЕШЕНИЕ #2 (УНИВЕРСАЛЬНОЕ): 2-факторый дисперсионный анализ (2-way ANOVA) с суммой квадратов типа III с рангами *****************************************************************************. DATA LIST LIST /altit(f2.0) splenec(f2.0) fibrinog(f4.0). BEGIN DATA 1 1 528 1 1 444 1 1 338 1 1 342 1 1 338 1 2 434 1 2 331 1 2 312 1 2 575 1 2 472 2 1 294 2 1 254 2 1 352 2 1 241 2 1 291 2 2 272 2 2 275 2 2 350 2 2 350 2 2 466 END DATA. VARIABLE LABELS altit "Высота". VALUE LABELS altit 1 "на уровне моря" 2 "15.000 футов" . VARIABLE LABELS splenec "Спленэктомия". VALUE LABELS splenec 1 "Нет" 2 "Да" . * Во-первых, проранжируем зависимую переменную (как это сделал бы алгоритм проверки Краскала-Уоллиса). RANK VARIABLES=fibrinog (A) /RANK INTO yranks /PRINT=NO /TIES=MEAN . * Теперь выполняем факторный дисперсионный анализ (factorial ANOVA) с ранжированной зависимой переменной. UNIANOVA yranks BY altit splenec. * Согласно публикациям Conover и Iman, значения F-статистик и собственные уровни значимости * в принципе являются пригодными. Но если необходимо получить более подходящие статистики, * необходимо вычислить значения хи-квадрат для проверки Краскала-Уоллиса и их значимости * (согласно алгоритму Shirley). * Следующий макрос выполняет все вычисления (от ранжирования до вычисления значимости хи-квадрат), * а также строит 2 графика с медианами для интерпретации значимых взаимодействий. ******************** * ОПРЕДЕЛЕНИЕ МАКРОСА * ********************. DEFINE rank2w (facta=!CHAREND ('/') /factb=!CHAREND ('/') /depvar=!CMDEND ). GRAPH /LINE(MULTIPLE)MED(!depvar) BY !facta BY !factb. GRAPH /LINE(MULTIPLE)MED(!depvar) BY !factb BY !facta. RANK VARIABLES=!depvar (A) /RANK INTO yranks /PRINT=NO /TIES=MEAN . UNIANOVA yranks BY !facta !factb /OUTFILE=EFFECT ('report_.sav'). GET FILE='report_.sav' /KEEP= source_ ss df. EXECUTE. SELECT IF((source_='CorModel') or (source_='CorTotal') or (source_='S2') or (source_='S3') or (source_='S4')). EXECUTE . COMPUTE pos=$casenum. execute. SORT CASES BY pos(D). compute varri=ss/df. if $casenum>1 varri=lag(varri,1). execute. DO IF $casenum>1. COMPUTE chi=ss/varri. COMPUTE sig = 1-CDF.CHISQ(chi,df) . END IF. execute. VARIABLE LABELS sig "Знач. (p)". VARIABLE LABELS chi "Хи-квадрат". FORMAT ss (F8.3) df (F4.0) chi (F8.3) sig (F9.4). SORT CASES by pos(A). VARIABLE LABELS SOURCE_ "Источник вариации". ADD VALUE LABELS SOURCE_ "CorModel" "Испр. модель" "CorTotal" "Испр. общая". VARIABLE LABELS SS "Сумма квадратов". VARIABLE LABELS DF "Ст. св.". REPORT FORMAT=LIST AUTOMATIC ALIGN(CENTER) /VARIABLES=source_(label) ss df chi sig /TITLE "2-факторная проверка Краскала-Уоллиса". !ENDDEFINE. * Вызов макроса *. rank2w facta=altit /factb=splenec /depvar=fibrinog. |