proc glm data=msexam.fall08reg outstat=backwardr;
model P= G_G GA_G FA_5_5 SA_G PP;
run;
proc glm data=msexam.fall08reg outstat=backward;
model P= G_G GA_G;
run;
%macro ftest (dataset1, dataset2);
/* this macro is counting on the data sets being created by proc glm's outdata*/
data ftest;
set &dataset1 &dataset2;
if _source_= "ERROR";
sse0=lag(ss);
dfe0=lag(df);
drop _name_ _type_;
f= ((sse0-ss)/(dfe0-df))/(min(of ss, sse0)/min(of df,dfe0));
prob =1 - cdf('F',f,abs(dfe0-df),min(of df,dfe0));
if f='.' then delete;
run;
proc print data=ftest;
var f prob;
run;
%mend;
%ftest(backward, backwardr);
以上是俺写过的一个macro。是检验linear regression下full model和nested model的F-test(model selection)。
听讲9.2的proc reg可以检验lack-of-fit,毕竟能用得上9.2的只是少数人。所以今天抛砖引玉,放出这一F-test的code,来换取高手做lack-of-fit的code。