全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
8142 10
2011-10-17
数据.rar
大小:(228.35 KB)

 马上下载



我已把原始数据及代码都放在附件里了,改下路径可以直接运行,在work.out看到结果。

我用proc Model Solve 的时候,发现只有前面大概五十个观察值对应可以Solve出值,之后解出的值都是相同的,这显然是不正确的。
基本程序大概如下:数据集test的观察值大概有2000个。问题是最终大概第60个观察值之后解出来的R值都一样(错误的),但Execution Error Count 又没显示错误。不知是什么问题,那位大师请赐教。。。

Data test;
       input code P ROA1 BPS0 ROA2 BPS1 ROA3 BPS2;
       Cards;
      1 10.2 0.12 3 0.13 3.5 0.12.5 3.6
      ......
      ......
       ;
Run;

Proc Model FORECAST Data=test noprint;

      eq.r=-P+(ROA1-R)*BPS0/((1+R)**1)+(ROA2-R)*BPS1/((1+R)**2)+(ROA3-R)*BPS2/((1+R)**3);
   
      solve R/out=Out Outall;
      id code;
   run;
   quit;

   

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-10-17 20:18:45
样本数据~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-10-17 20:35:22
kuhasu 发表于 2011-10-17 20:18
样本数据~~
我已把原始数据及代码都放在附件(数据)里了,改下路径可以直接运行,在work.out看到结果。麻烦你了。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-10-17 21:00:46
WARNING: Solution values are missing because of missing input values for observation 374 at NEWTON iteration 0.

其他的没报错,是不是一样呢?或者数据差距太小了?
用上个你的帖子,里面的irr验证一下看看。
牛顿迭代本身处理这方面问题,其他方面也有不同迭代方法,只不过有效率差别而以,而迭代本身有个精度问题,跟迭代次数有关。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-10-17 21:17:38
设置r格式25.20
-218653377412.43000000000
看来还不是神马精度问题
那个数那么大,应该是超出数值表达范围了吧~?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-10-17 21:20:08
kuhasu 发表于 2011-10-17 21:00
WARNING: Solution values are missing because of missing input values for observation 374 at NEWTON i ...
对,那个warning到没关系的,可能是某些missing导致的,把missing的删除了就没事了。问题是sovle出来的r,从第十四个开始就明显是应该有问题了。你可以试着把前面14个观察值删了,再运行剩余的,发现之后的r和没删之前算得是不同的。。。它好像只能正确运行前面一些的,后面的就偷懒了。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群