Регрессия внутри цикла
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 | * ВОПРОС: * Меня интересует построение 800 регрессионных уравнений, так, чтобы * пробежать все зависимые переменные от y1 до y800 с одними и теми же * предикторами: x1, x2, x3. * В пределах цикла LOOP запускать регрессию нельзя. * Есть способ обойти это ограничение? * ОТВЕТ. Автор: rlevesque@videotron.ca, 16.04.2002. * Создадим пример данных для иллюстрации. NEW FILE. INPUT PROGRAM. VECTOR y(20F8.0). LOOP v1=1 TO 100. COMPUTE x1=UNIFORM(5). COMPUTE x2=UNIFORM(5). COMPUTE x3=UNIFORM(5). LOOP #cnt=1 TO 20. COMPUTE y(#cnt)=UNIFORM(10). END LOOP. END CASE. END LOOP. END FILE. END INPUT PROGRAM. EXECUTE. SET MPRINT=no. * Определяем рабочий макрос. */////////////////////////////////. DEFINE !regloop(nby=!TOKENS(1)). !DO !cnt=1 !TO !nby. REGRESSION /STATISTICS COEFF OUTS R ANOVA /DEPENDENT !CONCAT('y',!cnt) /METHOD=ENTER x1 x2 x3 . !DOEND. !ENDDEFINE. */////////////////////////////////. SET MPRINT=yes. *Вызов макроса (замените 20 на 800 если имена ваших переменных меняются от y1 до y800). !regloop nby=20. |
Related pages
...