sas 用宏循环来解决非线性回归的问题
发布:xiaoliwu1991 | 分类:SAS软件培训
关于本站
人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!
获取电子版《CDA一级教材》
完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。
TOP热门关键词
妹子是个入门菜鸟,这个程序已经想了一天了,大神帮帮忙吧。求蔑视求秒杀。妹子的脑子应经转不动了。Topic:NonlinearregressionAim:Fitanonlinearmodelandprovidegraphsoftheresults.Dataset:dataa;inputtrialxy;dat ...
免费学术公开课,扫码加入![]() |
Topic:Nonlinear regression
Aim: Fit a nonlinear model and provide graphs of the results.
Dataset:
data a ;
input trial x y ;
datalines ;
1 480 58
1 440 91
1 400 112
1 360 344
1 320 942
2 570 48
2 520 69
2 475 102
2 425 265
2 380 1456
3 480 .
3 440 .
3 400 179
3 360 424
3 320 837
4 510 86
4 465 111
4 425 219
4 380 298
4 360 708
5 570 27
5 520 75
5 475 83
5 425 252
5 380 351
proc print ;
/*
%mp11(b0=20000,b1=300,b2=-50,xstart=319,xend=500,group=0) ;
*/
run ;
quit ;
Shell macro code:
Notes:
1. The NL model is y = = (a0 /(x-a1)) + a2;
2. Use b0, b1, b2 to pass the "initial guesses" of the NL model parameters (see above)
3. To plot the results use xstart to xend (see below)
%macro mp11(data=,b0=,b1=,b2=,xstart=,xend=, group=);
proc nlin data =&data ;
parms a0=&b0 a1=&b1 a2=&b2;
if &group EQ 0 then
model y = (a0 /(x-a1)) + a2;
else do;
model y = (a0 /(x-a1)) + a2;
by &group;
output out=b parms= a0 a1 a2;
/*
dataset to create the fitted model:
use xstart to xend to get X2 and create Y2 from:
Y2 = (a0 /(X2-a1)) + a2;
proc gplot ;
overlay the plots y*x Y2*X2
*/
%mend mp11;
下面是我目前为止尽力做的,
data a ;
input trial x y ;
datalines ;
1 480 58
1 440 91
1 400 112
1 360 344
1 320 942
2 570 48
2 520 69
2 475 102
2 425 265
2 380 1456
3 480 .
3 440 .
3 400 179
3 360 424
3 320 837
4 510 86
4 465 111
4 425 219
4 380 298
4 360 708
5 570 27
5 520 75
5 475 83
5 425 252
5 380 351
proc print ;
%mp11(b0=20000,b1=300,b2=-50,xstart=480,xend=320,group=trial) ;
run ;
quit;
%macro mp11(data=,b0=,b1=,b2=,xstart=,xend=, group=);
proc nlin data =&data a;
parms a0=&b0 a1=&b1 a2=&b2;
%if &group EQ 0 %then %do;
model y = (a0 /(x-a1)) + a2;
run;
%end;
%else %do;
model y = (a0 /(x-a1)) + a2;
by &group;
run;
%end;
data plot;
output out=b parms= a0 a1 a2;
%do x2=&xstart %to &xend by -40;
y2=(a0/(x2-a1))+a2;
output;
%end;
proc gplot;
plot y*x y2*x2/overlay;
%mend mp11;
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
您可能感兴趣的文章
人气文章
本文标题:sas 用宏循环来解决非线性回归的问题
本文链接网址:https://bbs.pinggu.org/jg/ruanjianpeixun_sasruanjianpeixun_2771045_1.html
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。



