首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于SAS的稳健回归

基于SAS的稳健回归
EN

Stack Overflow用户
提问于 2017-09-27 11:12:11
回答 1查看 307关注 0票数 0

我正在使用SAS进行稳健回归。我收到以下警告:

警告:标度接近0。检测到一个可能的精确匹配。 警告:未创建输出“GoodFit”。确保输出对象名称、标签或路径拼写正确。另外,验证是否使用了适当的过程选项来生成请求的输出对象。例如,验证NOPRINT选项是否被使用。

我为什么要收到这个警告?我怎样才能纠正它,这样才能创造出良好的效果?由于outttest=dataset中没有任何观察,所以我的代码中出现了一个错误,作为随后用作输入的outtest输出。

代码片段如下:

代码语言:javascript
运行
复制
proc robustreg data=test method=m (wf=huber(c=1.3)) outest = fac1;
   class bucket bucket0;
   model R_res_new=xyz_ldg*bucket bucket0  abcdev_sh*bucket0 abcdev_lg*bucket0 /  noint;
   output out=fac1t residual=res;
   ods output GoodFit=fit1; 
run;

测试数据集是:-

代码语言:javascript
运行
复制
bucket0 R_res_new     abcdev_sh      abcdev_lg    xyz_ldg     bucket
pp      0.118023674       0         0.427853531  0.622702006    aa
pp      0.2443029    -0.52011222    0            0.84582555     bb
pp      0.242459596  -0.198019513   0            3.796344334    bb
pp      0.150550397       0         0.05454537   0.57086536     bb
pp      0.093373827       0         0.855772297  0.68810985     bb
pp      0.401303208  -0.620039465   0            1.319799593    bb
EN

回答 1

Stack Overflow用户

发布于 2017-09-30 00:51:15

我不知道,但我的猜测是,基于对文档的快速浏览。

您正在使用ods output GoodFit=fit1获取写入输出数据集的拟合优度统计数据(R-平方、AIC等)。

当我运行您的代码,并查看输出时,没有输出任何合适的统计数据。如果PROC没有计算拟合优度统计数据,那么它们就不能写入输出数据集。他们根本不存在。

所以关键的问题是,为什么PROC不计算拟合统计量的优度?我认为这与你收到的警告有关:

WARNING: The scale is close to 0. A possible exact fit is detected.

完全适合回归通常不是一件好事。注意,每个参数估计的标准误差为0,这与精确的拟合是一致的。从整体上看,你有一个6个观测数据集,你用大量的预测因子来拟合一个模型。难怪你能得到一个精确的配合。我把它简化为一个预测器,它计算适合的统计数据。但是即使这样,即使它“有效”,一个基于6个记录的回归模型也是相当不稳定的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46446445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档