楼主: edwardzxf
8237 10

SAS Proc Model [推广有奖]

  • 0关注
  • 2粉丝

已卖:32份资源

讲师

26%

还不是VIP/贵宾

-

威望
0
论坛币
222 个
通用积分
0.4203
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
3991 点
帖子
242
精华
0
在线时间
375 小时
注册时间
2010-7-30
最后登录
2021-5-25

楼主
edwardzxf 学生认证  发表于 2011-10-17 17:32:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
数据.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;

   

二维码

扫码加我 拉你入群

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

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

关键词:model mode del Mod ROC Error 程序

沙发
kuhasu 发表于 2011-10-17 20:18:45
样本数据~~

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

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

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

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

地板
edwardzxf 学生认证  发表于 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和没删之前算得是不同的。。。它好像只能正确运行前面一些的,后面的就偷懒了。。

7
kuhasu 发表于 2011-10-17 21:20:25
-49919524945108.500000000
后面的还有这个
应该不是表达范围问题~

8
edwardzxf 学生认证  发表于 2011-10-17 21:26:30
kuhasu 发表于 2011-10-17 21:20
-49919524945108.500000000
后面的还有这个
应该不是表达范围问题~
你可以试着把前面14个观察值删了,再运行剩余的,发现之后的r和没删之前算得是不同的。。。它好像只能正确运行前面一些的,后面的就偷懒了。。

9
kuhasu 发表于 2011-10-17 21:48:16
edwardzxf 发表于 2011-10-17 21:26
你可以试着把前面14个观察值删了,再运行剩余的,发现之后的r和没删之前算得是不同的。。。它好像只能正确 ...
不同其实无所谓,本来迭代这个东西,就是趋近。
你可以加设置,变动下迭代方式。
具体原因我也不清楚,有时间给你看看~
很有意思的问题~

10
edwardzxf 学生认证  发表于 2011-10-19 01:21:18
kuhasu 发表于 2011-10-17 21:48
不同其实无所谓,本来迭代这个东西,就是趋近。
你可以加设置,变动下迭代方式。
具体原因我也不清楚 ...
那个问题帮我看看吧,弄了好久了,网上也查不到. 跪求你帮帮忙了,大师...感激阿..

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 09:08