Прогнозное моделирование с анализом таблиц сопряженности в SAS

Существует ли быстрый способ создания всех возможных моделей (т.е. независимых, совместных, однородных, насыщенных) для таблицы сопряженности с данными подсчета с использованием sas? И затем сгенерировать достоверность соответствия, которая включает значения p для каждой из этих моделей?

*model testing only main effects  (S,E,I) this is the independence model;
proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = seatbelt ejected injury /dist=Poisson;     
run;

*checking pvalue of deviance statistics from independent model; 
data testp2; 
dev=11444.3754; 
df=4;
pvalue=1-probchi(dev, df); 
run;
proc print data=testp2 noobs;  run;
***models testing joint independence;
*model testing seatbelt, and ejected*injury interaction (S,EI);
proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = seatbelt ejected injury ejected*injury  /dist=Poisson;     
run;
*model testing ejecting, and seatbelt by injury interaction (E,SI);
proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = ejected seatbelt injury seatbelt*injury  /dist=Poisson;     
run;
*model testing injury and seatbelt*ejected interaction (I,SE);
proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = injury  seatbelt ejected seatbelt*ejected  /dist=Poisson;     
run;

 ***models testing conditional independence;
 *model testing seatbelt*ejected and seatbelt*injury interaction  (SE,SI);
 proc genmod data=class5.accident;
 class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
   model count = injury  seatbelt ejected seatbelt*ejected  seatbelt*injury 
/dist=Poisson;     
run;
*model testing seatbelt*ejected and ejected*injury interaction  (SE,EI);
proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = injury  seatbelt ejected seatbelt*ejected  ejected*injury 
/dist=Poisson;     
run;
*model testing seatbelt*injury and ejected*injury interaction (SI,EI);
proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = injury  seatbelt ejected seatbelt*injury  ejected*injury 
/dist=Poisson;     
run;

***homogenous model
*model testing homogenous model, i.e. seatbelt*ejected, seatbelt*injury, and 
ejected*injury interactions (SE,SI,EI);

proc genmod data=class5.accident;
class seatbelt(ref='0') ejected(ref='0') injury(ref='0') /param=reference ;
model count = injury  seatbelt ejected seatbelt*injury  ejected*injury  
seatbelt*ejected /dist=Poisson;
output out=pred predicted=predicted;

0 ответов

Другие вопросы по тегам