r******e 发帖数: 244 | 1 【 以下文字转载自 EE 讨论区 】
发信人: realhire (realhire), 信区: EE
标 题: [求助] 使用MCMC方法和卡尔曼滤波求后验概率遇到一些问题求助
发信站: BBS 未名空间站 (Wed May 8 16:14:26 2013, 美东)
我的问题是这样的:
意志一个系统状态X的先验分布为N(mu, sigma),和测量更新方程: Z=HX+V,
H为线性矩阵,V为测量噪声,设为normal分布. 要求X的后验概率密度.
我使用了两种方法:
1 基于random walking 的MCMC方法, 但是这个方法求的后验概率的均值和方差都很不
稳定. 我已经使用超过100万次的转移,效果还是不理想. 我用的是M_H的方法,求解一个
未知参数为二维的问题, 转移概率 : 后验概率~先验概率*likehood函数.
2 所以我想通过卡尔曼滤波的方法,求的这个后验概率的真实的均值和方差, 以下是我
的结论:
E(X_hat)=(I-K*H)*E(X)+ K*Z
Cox(X_hat)=(I-K*H)*Cov(X)*(I-K*H)' +K*Cov(Z)*K'
K=Cov(X)*H'*(H*Cov(X)*H+Cov(Z))^-1
K是卡尔曼滤波增益, X_hat表示后验值. 用这个公式算出的均值和方差和MCMC方法在先
验概率均值为0时,基本一致.
但均值如果不为零,则结果不符合.
求各位卡尔曼高手,说说,我这个推导有问题么? 还有MCMC的方法结果则么这么差阿? | G*********n 发帖数: 20 | 2 MCMC不可能这么差,check code是否错了
另外几个debug的建议,把X的维数设小点,设成1,看看是否收敛
还有转移方差不能太大或者太小,如果X高维,acceptance rate以25%为宜
【在 r******e 的大作中提到】 : 【 以下文字转载自 EE 讨论区 】 : 发信人: realhire (realhire), 信区: EE : 标 题: [求助] 使用MCMC方法和卡尔曼滤波求后验概率遇到一些问题求助 : 发信站: BBS 未名空间站 (Wed May 8 16:14:26 2013, 美东) : 我的问题是这样的: : 意志一个系统状态X的先验分布为N(mu, sigma),和测量更新方程: Z=HX+V, : H为线性矩阵,V为测量噪声,设为normal分布. 要求X的后验概率密度. : 我使用了两种方法: : 1 基于random walking 的MCMC方法, 但是这个方法求的后验概率的均值和方差都很不 : 稳定. 我已经使用超过100万次的转移,效果还是不理想. 我用的是M_H的方法,求解一个
| r******e 发帖数: 244 | 3 谢谢,我做了一个 一维的问题,但是似乎还是收敛的不好。
请问你能帮我看下code么?
prior PDF:1/(1+x^2)
likehood: exp(-0.5*n*(x-y)^2)
measurement: y=x+v, v~N(x,1)
set n=1
"
xc = X(:,i-1);
p_c = -0.5*n*(xc-y)^2;
xs = xc + randn(Dim,1)*2;
p_s = -0.5*n*(xs-y)^2;
CC = exp(p_s-p_c)*(1/(1+xs^2))/(1/(1+xc^2));
if rand < CC
X(:,i) = xs;
else X(:,i) = xc;
end
"
【在 G*********n 的大作中提到】 : MCMC不可能这么差,check code是否错了 : 另外几个debug的建议,把X的维数设小点,设成1,看看是否收敛 : 还有转移方差不能太大或者太小,如果X高维,acceptance rate以25%为宜
|
|