SAS回归模型RMSE - 得分与否

时间:2013-12-06 06:58:17

标签: statistics sas regression

说明: 从一个数据集中获取模型并应用于另一个数据集以查找RMSE。

说,我有数据集“data100”

并运行以下选择操作以确定重要变量:

PROC REG DATA =data100;
model y= x0-x999 / selection=forward SLENTRY=.01;
run;quit;

它返回x0 x10 x20 x30 x40 x50 x60 x70 x80 x90在< .0001处显着。好。现在,我想在另一个数据集“data1000”中使用此模型。

为什么我不能只使用:

PROC REG DATA =data1000;
model y= x0 x10 x20 x30 x40 x50 x60 x70 x80 x90;
run;quit;

确定data1000设置的RMSE?


这个问题出现的原因是导师告诉我使用:

proc reg=data100 outest=data100est;
model y= x0-x999;
run;quit;

proc score data=data1000 score=data100est out=data1000p residual type=parms;
var y x0-x999;
run;

proc univariate data=data1000P;
var model1;
output out=data1000stat uss=ss1;
run;

data data1000stat;
set data1000stat;
rmse=sqrt(ss1/1000);
run;

proc print data=data1000stat;
run;quit;

我对这一点感到非常困惑,如果有人能够澄清为什么甚至如果 proc得分在这里是合适的,那就太棒了。

1 个答案:

答案 0 :(得分:2)

在Stats论坛上可能会有更好的问题。但既然你问过......

运行第二个REG语句时,您将重新安装模型。估计的beta将与您在第一个REG语句中获得的beta不同。您正在重新运行回归,并按定义获取这些数据的MINIMUM RMSE。

第二种方法保留第一次回归的beta值并将它们应用于第二种。您在此处计算的RMSE将显示您的100个数据对1000个数据进行建模的程度。

最后,两者都是翔实的。两个RMSE之间的差异向您显示100预测1000的好坏。