[討論] 最適化一些問題

看板MATLAB作者 (找人)時間10年前 (2014/12/22 22:33), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
我使用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://www.ptt.cc/bbs/MATLAB/M.1419258797.A.5C1.html

12/23 17:57, , 1F
imag(MLE)是要避免log likelihood有複數吧 另ll正負不重要
12/23 17:57, 1F

12/23 17:59, , 2F
比大小才重要
12/23 17:59, 2F
文章代碼(AID): #1Kc2kjN1 (MATLAB)
文章代碼(AID): #1Kc2kjN1 (MATLAB)