问题是求一个似然函数的极大值,可以转化为求一些方程组的解的问题。。。
我直接用牛顿法求似然函数极大值时,根本就不收敛,每次运行出来的结果很不相同,而且求出来的最大值为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;