оценка в SAS 9.2

Создал ли кто-нибудь ручной код для оценки набора данных с использованием результатов proc glm в SAS?

Примечание. В этом исследовании используются две разные программы с тремя версиями двух разных программ. Х01 Х02 Х03 Y01 Y02 Y03

proc glm data=maindata;
 class program_group;
 model program_score = prog_group TOBACCO DRUGS ALCOHOL age_on_admit 
                      yrs_in_program stand_test_score
                      / solution ss1 ss3;
      format program_group $program_group.
;
output out = results predicted=phat r=resid;
ods output parameterestimates = out.program_test_year1;
run;

Нужно ли мне создавать фиктивные переменные для 6 различных программных групп при запуске proc glm, если я намереваюсь прочитать оценки параметров вручную и оценить другой набор данных?


person ljff    schedule 21.03.2016    source источник
comment
Почему? Есть PROC SCORE и несколько других способов...blogs.sas.com/content/iml/2014/02/19/   -  person Reeza    schedule 21.03.2016


Ответы (1)


РЕДАКТИРОВАТЬ: Поскольку у вас есть SAS 9.2, вам следует использовать PROC SCORE. Еще одна хитрость заключается в том, чтобы включить ваши данные в данные модели и оставить значение y/зависимое пустым. Если вы получите выходной набор оцененных данных, ваши дополнительные данные также будут оценены. Вы можете получить это через OUTPUT out=want p=predicted;

Есть PROC SCORE и несколько других способов. Оператор CODE является новым и малоиспользуемым - вероятно, то, что вы ищете.

proc glm data=A noprint;
model y = x | x | x;  
code file='glmScore.sas';
quit;

data Pred;
set ScoreX;
%include 'glmScore.sas';
run;

См. список способов, перечисленных здесь: http://blogs.sas.com/content/iml/2014/02/19/scoring-a-regression-model-in-sas.html

person Reeza    schedule 21.03.2016