作者enjoy9003 (找人)
看板MATLAB
标题[讨论] 最适化一些问题
时间Mon Dec 22 22:33:15 2014
我使用fminsearch来进行MLE估计
这是我的模型,用卡门滤波来叠代
for i =1:m
zt = z(1,i);
X_pre = Phi_0 + Phi_1*Ex ;
P_pre = Phi_1*Ep*Phi_1 + Q*Q' ;
EQt = kappa*theta/(kappa+eta) + (X_pre -
kappa*theta/(kappa+eta))*exp(-(kappa+eta)*(T-i));
EQt_2 = sigma^2*(1-exp(-(2*(kappa+eta))*(T-i)))/(2*kappa+2*eta);
f = (A + B*EQt)^(1/2) - 0.125*(A + B*EQt)^(-3/2)*B^2*EQt_2;
df =
0.5*beta*(1-exp(-(kappa+eta)*T))*exp(-(kappa+eta)*(T-i))/((beta*(1-exp(-(kappa+eta)*T))*(kappa*theta/(kappa+eta)+(X_pre-kappa*theta/(kappa+eta))*exp(-(kappa+eta)*(T-i)))/((kappa+eta)*T)+alpha+beta*kappa*theta/(kappa+eta)-beta*kappa*theta*(1-exp(-(kappa+eta)*T))/((kappa+eta)^2*T))^0.5*(kappa+eta)*T)+0.1875*beta^3*(1-exp(-(kappa+eta)*T))^3*sigma^2*(1-exp(-(2*(kappa+eta))*(T-i)))*exp(-(kappa+eta)*(T-i))/((beta*(1-exp(-(kappa+eta)*T))*(kappa*theta/(kappa+eta)+(X_pre-kappa*theta/(kappa+eta))*exp(-(kappa+eta)*(
T-i)))/((kappa+eta)*T)+alpha+beta*kappa*theta/(kappa+eta)-beta*kappa*theta*(1-exp(-(kappa+eta)*T))/((kappa+eta)^2*T))^2.5*(kappa+eta)^4*2*T^3);
K = P_pre*df'*inv(df*P_pre*df' + V*V');
Ex = x(1,i);
Ep = (1 - K*df)*P_pre;
tmp2 = -0.5*log(det(df*P_pre*df' + V*V'));
tmp3 = -0.5*(zt-f-df*(Ex-X_pre))'*inv(df*P_pre*df' +
V*V')*(zt-f-df*(Ex-X_pre));
tmpsum = tmpsum + tmp1 + tmp2 + tmp3 ;
end
MLE = -tmpsum;
结果可以估的出来
para=
0.31876524
0.647414747
0.722724063
-0.127474933
-0.61163496
1.62282685
可是他的fval是负的
fval=
-428.628;
有估狗过fminsearchcon,fminsearchbnd,fmincon都用过
只有fminsearchcon比较符合我的需求,
(fmincon再LB,UB上会一值错误,是我放弃的原因)
ptt板上也有过类似问题
他建议在尾端加入
if (imag(MLE)~=0.0)
MLE = 100;
end
是可以跑,但fval值都变成100...
(这样没问题吗= =?)
想问问看有没有人有类似经验可以解决的...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 163.22.18.73
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1419258797.A.5C1.html
1F:推 kolun: imag(MLE)是要避免log likelihood有复数吧 另ll正负不重要 12/23 17:57
2F:→ kolun: 比大小才重要 12/23 17:59