如何运行预测模型

时间:2016-11-23 19:59:24

标签: sas predict

SAS中是否存在R&#39的函数predict(model, data)

例如,如何将下面的模型应用于响应变量" Age"不知道?

proc reg data=sashelp.class;
    model Age = Height Weight ;
run;

我知道你可以从结果窗口中提取公式Age = Intercept + Height(Estimate_height)+ Weight(Estimate_weight)并手动预测" Age"对于未知的观察,但这不是很有效。

1 个答案:

答案 0 :(得分:1)

SAS自己做到这一点。只要模型有足够的数据点继续,它就会输出预测值。我使用了proc glm,但您可以使用任何模型程序来创建这种输出。

/* this is a sample dataset */
data mydata;
input age weight dataset $;
cards;
1 10 mydata
2 11 mydata
3 12 mydata
4 15 mydata
5 12 mydata
;
run;

/* this is a test dataset. It needs to have all of the variables that you'll use in the model */
data test;
input weight dataset $;
cards;
6 test
7 test
10 test
;
run;
/* append (add to the bottom) the test to the original dataset */
proc append data=test base=mydata force; run;

/* you can look at mydata to see if that worked, the dependent var (age) should be '.' */
/* do the model */
proc glm data=mydata;
model age = weight/p clparm; /* these options after the '/' are to show predicte values in results screen - you don't need it */
output out=preddata predicted=pred lcl=lower ucl=upper; /* this line creates a dataset with the predicted value for all observations */
run;
quit;

/* look at the dataset (preddata) for the predicted values */
proc print data=preddata;
where dataset='test';
run;