[英]SAS Regression model RMSE - to score or not to score
简介:从一个数据集中获取模型并应用于另一个数据集以查找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比分是适当这里,那将是巨大的。
这可能是在统计论坛上更好的问题。 但既然你问过......
运行第二个REG语句时,您将重新安装模型。 估计的beta将与您在第一个REG语句中获得的beta不同。 您正在重新运行回归,并按定义获取这些数据的MINIMUM RMSE。
第二种方法保留来自第一次回归的beta并将它们应用于第二种。 您在此处计算的RMSE将显示您的100个数据对1000个数据建模的程度。
最后,两者都是翔实的。 两个RMSE之间的差异向您显示100预测1000的好坏。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.