Вычисление прогноза (одномерный дисп. анализ)
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 | * ВОПРОС: Мы моделируем число посетитиелей как линейные функции от некоторых независимых переменных. Сейчас нам хотелось бы провести валидацию построенной модели, используя несколько дополнительных наблюдений, сделанных в последнее время. Более точно, мы хотели бы применить построенную общую линейную модель (GLM) к новым данным, построить для них прогнозы зависимой переменной и сравнить их с ранее наблюдёнными значениями. Подобная операция в регрессии выполняется очень просто: оставляете нужные значения для зависимой переменной пропущенными, и вам строится для них прогноз. Но в GLM это не работает. Не помогает и фильтрация наблюдений. Разумеется, не хотелось бы перекодировать все предикторы для построения регрессии, равно как не хотелось бы считать прогнозы в ручную. Есть способ обойти эту проблему? * Решение. Размещено в новостной группе 26.02.2001. * Это обходной путь, позволяющий автоматически вычислить предсказанные значения для пропущенных значений y. * UNIANOVA (одномерный дисперсионный анализ): Вычисление прогнозных значений. * Автор: Raynald Levesque, rlevesque@videotron.ca DATA LIST LIST /a(f2.0) b(f2.0) y(f2.0) . BEGIN DATA. 4 7 3 6 4 2 7 8 5 9 15 7 5 4 . END DATA. UNIANOVA y WITH a b /METHOD = SSTYPE(3) /INTERCEPT = INCLUDE /SAVE = PRED RESID /PRINT = PARAMETER /CRITERIA = ALPHA(.05) /DESIGN = a b /OUTFILE=COVB('C:\\temp\\параметры.sav'). SAVE OUTFILE='c:\\temp\\данные.sav'. GET FILE='C:\\temp\\параметры.sav'. SELECT IF (rowtype_="EST"). FORMATS p1 p2 p3 (F14.8). WRITE OUTFILE="C:\\temp\\вычисл прогноза.sps" /"COMPUTE mypre=",p1," + a*",p2," + b*",p3,".". EXECUTE. GET FILE='c:\\temp\\данные.sav'. INCLUDE FILE="C:\\temp\\вычисл прогноза.sps". EXECUTE. |