全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2309 4
2013-04-25
请教该模拟找不到最优解??
%state space simulation data
%state space model y(t)=x*beta(t)+e(t),e(t)-N(0,R^2)
%                  beta(t)=mu+F*beta(t-1)+v(t),e(t)-N(0,Q^2)
%                  simulation x=0.3,mu=2,F=-0.4,R^2=2,Q^2=1
clear;clc;
T=100;x=0.3;
e=randn(T,1)*2;
v=randn(T,1);
mu=2;
F=-0.4;%beta is stationary
beta=zeros(T,1);
beta(1)=0;
for t=2:100
    beta(t)=mu+F*beta(t-1)+v(t);
end
y=x.*beta+e;
%estimation state space model
initial=[0.2,1.7,-0.2,1.5,0.5];%x1=para(1);mu1=para(2);F1=para(3);R1=para(4)^2;Q1=para(5)^2;
options = optimset('LargeScale','on','Display','iter','maxiter',1000);
[xopt,fval,exitflag]=fminsearch(@stateloglike,initial,options,y,T);

function loglike= stateloglike(para,y,T)
x1=para(1);
mu1=para(2);
F1=para(3);
R1=para(4)^2;
Q1=para(5)^2;
loglike=0;
beta0=(1-F1)^(-1)*mu1;
p0=(1-F1^2)^(-1)*(Q1);%var(v)=Q1^2
for t=1:T
betahat=mu1+F1*beta0;
phat=F1*p0*F1'+Q1;
eta=y(t)-x1*betahat;
f=x1*phat*x1'+R1;
loglike=loglike-1/2*log(2*pi*det(f))-1/2*eta'*inv(f)*eta;
betanew=betahat+phat*x1'*inv(f)*eta;
pnew=phat-phat*x1'*inv(f)*x1*phat;
beta0=betanew;
p0=pnew;
end
end

二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-25 21:25:37
跪求高手
二维码

扫码加我 拉你入群

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

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

2014-5-6 14:10:22
请问您搞定了吗,能借鉴一下您正确的卡尔曼滤波模拟程序和极大似然评估程序吗?
二维码

扫码加我 拉你入群

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

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

2014-7-2 14:23:55
请问楼主解决了吗?
二维码

扫码加我 拉你入群

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

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

2016-4-5 11:18:26
您好 我也在做这个东西 可以加个好友聊一下么 我在头疼估计值和给定值是一样的!!!!
QQ582433937
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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