全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2896 3
2009-10-12
问题是求一个似然函数的极大值,可以转化为求一些方程组的解的问题。。。
我直接用牛顿法求似然函数极大值时,根本就不收敛,每次运行出来的结果很不相同,而且求出来的最大值为0(显然最大值应该>0),请问错在哪里?
如果我转化为求方程组解得问题,该如何编程呢。。额。。期望大侠的指点。。嗯

下面是我求似然函数极大值时的程序:
proc nlp tech=nrr;
max y;
parms x1-x12;
bounds x1<=1,x12>=0;
lincon x1>=x2,x2>=x3,x3>=x4,x4>=x5,x5>=x6,x6>=x7,x7>=x8,x8>=x9,x9>=x10,x10>=x11,x11>=x12;
y1=(1-x1)**1*x1**3*(1-x1)**1;
y2=(x1-x2)**1*x2**0*(1-x2)**0;
y3=(x2-x3)**1*x3**1*(1-x3)**1;
y4=(x3-x4)**1*x4**0*(1-x4)**0;
y5=(x4-x5)**1*x5**0*(1-x5)**1;
y6=(x5-x6)**1*x6**0*(1-x6)**0;
y7=(x6-x7)**1*x7**0*(1-x7)**1;
y8=(x7-x8)**1*x8**0*(1-x8)**0;
y9=(x8-x9)**1*x9**0*(1-x9)**0;
y10=(x9-x10)**1*x10**0*(1-x10)**0;
y11=(x10-x11)**1*x11**0*(1-x11)**0;
y12=(x11-x12)**1*x12**0*(1-x12)**0;
y=y1*y2*y3*y4*y5*y6*y7*y8*y9*y10*y11*y12;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2009-10-12 16:54:47
上面子函数y1-y12的定义也有点问题,嗯,当出现0^0时,系统不知道该如何赋值,嗯,我把0次幂的都写为1了,可是还是出错。。哎。。。好像很少有讲sas解非线性方程组的例子,上网到处查都查不到。。额。。不知道有没有这方面的书推荐,可以买到的话最好,,
二维码

扫码加我 拉你入群

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

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

2009-10-12 21:32:16
嗯,改成对数似然函数就对了。。。。
二维码

扫码加我 拉你入群

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

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

2009-10-13 05:23:44
.............................
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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