[讨论] 最适化一些问题

楼主: enjoy9003 (找人)   2014-12-22 22:33:15
我使用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...
(这样没问题吗= =?)
想问问看有没有人有类似经验可以解决的...
作者: kolun (...)   2014-12-23 17:57:00
imag(MLE)是要避免log likelihood有复数吧 另ll正负不重要比大小才重要

Links booklink

Contact Us: admin [ a t ] ucptt.com