题目
如果,对于
和
,画出由(10.9)式给出的
与
的函数曲线。把你的结果和估计量
进行比较。提示:注意分子可以用闭合形式计算,分布与高斯随机变量的累计分布函数有关。
解答
根据(10.9),给出了A的先验PDF符合高斯分布,且在有限区间情况下的MMSE估计量,即:
现在需要通过求上述积分,得到的闭式解。对上述式子做简单变换,考虑到
与
无关,因此
不受积分影响,得到:
其中:
现在开始求:
考虑,那么:
其中
由于的导数可以表示为:
因此:
本质上是求的是
服从高斯分布
情况下,在
内的概率
也就是求的服从标准高斯分布
情况下,在
内的概率
而标准正态分布的概率可以用表示,即:
可以查标准正态分布函数表,或者直接用matlab中的函数normcdf(z)直接计算。
参考:
https://blog.csdn.net/hpdlzu80100/article/details/102737923
正态累积分布函数 - MATLAB normcdf- MathWorks 中国
因此:
最终,将获得的和
带入最初的公式,得到:
当,
时:
当,
时:
可以用后续的matlab代码进行作图。
以为例,从MMSE估计结果可以看出,根据经验限制了
的估计范围之后,MMSE估计量在
这个范围内,
,而当
时,
,即趋近于限定值。
另外,我们也可以发现,尽管(10.5)给出的MMSE估计量形式比较简洁,但是实际情况下,这个积分获得闭式解非常困难,当然题目给定的条件只是特例。
Matlab作图代码
clc, clear, close all;
sigmanorm=1;
A0=3;
x_avg=-A0:0.01:A0;
AEsit=x_avg+sqrt(sigmanorm/2/pi)*(exp(-(A0+x_avg).^2/(2*sigmanorm))-exp(-(A0-x_avg).^2/(2*sigmanorm)))./(normcdf((A0-x_avg)/sqrt(sigmanorm))-normcdf((-A0-x_avg)/sqrt(sigmanorm)));
figure(1)
plot(x_avg,AEsit,'b')
hold on
plot(x_avg,x_avg,'r')
xlabel('x average')
ylabel('MMSE')
legend('MMSE','avg')
hold off
A0=10;
x_avg=-A0:0.01:A0;
AEsit=x_avg+sqrt(sigmanorm/2/pi)*(exp(-(A0+x_avg).^2/(2*sigmanorm))-exp(-(A0-x_avg).^2/(2*sigmanorm)))./(normcdf((A0-x_avg)/sqrt(sigmanorm))-normcdf((-A0-x_avg)/sqrt(sigmanorm)));
figure(2)
plot(x_avg,AEsit,'b')
hold on
plot(x_avg,x_avg,'r')
xlabel('x average')
ylabel('MMSE')
legend('MMSE','avg')
hold off
时的估计图形:
时的估计图形: