全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5087 5
2010-05-10
比如模型为y=a1*x2+a2*x2+a3,约束条件0<a1<1,0<a2<1,sas proc reg可不可以直接处理?还是要用其他模块来处理?
二维码

扫码加我 拉你入群

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

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

全部回复
2010-5-10 13:37:23
你提的问题是线性规划问题,用PROC LP或者PROC NLP等解决.
二维码

扫码加我 拉你入群

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

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

2010-5-10 13:44:35
2# nkwilling
不是,我是想做回归,就是说,我有若干组因变量y与自变量x1,x2的数据,想用最小二乘法沽出模型y=a1*x1+a2*x2+a3的参数a1 a2 a3。我看到sas proc reg中有一项restrict,但是只能用等式约束。我要考虑的问题是a1,a2满足不等式约束,在不等式约束之下的最小二乘法估计。

理论上可以用某些带约束优化问题求解,但是不太想编程,想直接用proc reg做,不知是否可行。
二维码

扫码加我 拉你入群

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

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

2010-5-10 13:52:53
我认为可行性不大,刚刚查了SAS HELP,里面说的很清楚:
The method used for restricting the parameter estimates is to introduce a Lagrangian parameter for each restriction (Pringle and Raynor 1971). The estimates of these parameters are displayed with test statistics

既然后台算法是拉格朗日求参数值,所以不等式失效.
二维码

扫码加我 拉你入群

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

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

2010-5-10 13:54:56
嗯。看来只能用or模块了。
二维码

扫码加我 拉你入群

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

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

2010-5-11 06:21:11
warrenzhang 发表于 2010-5-10 13:29
比如模型为y=a1*x2+a2*x2+a3,约束条件0
Any procedures have bounds statements can solve your problem.

Here is an example,

data t1;
   do i = 1 to 100;
     x=rannor(990);    error= rannor(990);
     y=1+1*x+error;
     output;
  end;
run;


proc nlin data=t1;
parms a=0 b=0;
model y=a+b*x;
run;

proc nlin data=t1;
parms a=0 b=0;
bounds -0.5<b<0.5;
model y=a+b*x;
run;
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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