高斯分布估计子的性能与克拉默劳下界的讨论

本文演示估计子的定义以及评估方法

% 假设一个N长度的高斯随机过程x,按照平均数u、方差a分布,然后根据随机过程估计他的均
% 值u1,并对评估的有效性进行检验

clc
clear 
close all

%% 生成一个随机变量,并将统计结果与概率密度函数做对比
N = 10;
u = 2.5;
a = 0.8;
xrandom = random('norm',u,a,1,N);

xaxis =(1-a)*u:0.1:(1+a)*u;
fx = normpdf(xaxis,u,a);

figure(1)
subplot(2,1,1)
hist(xrandom,10)
xlim([min(xaxis),max(xaxis)])
title('随机变量xrandom的统计结果')
subplot(2,1,2)
hold on
plot(xaxis,fx,'LineWidth',4)


%% 参数估计
% 我们根据xrandom过程估计uest(估计子),这个过程可以计作映射T:Xrandom^N -> U,(其中
% Xrandom^N 是N维样本空间,U是一维参数空间,因为我们只对参数u做估计)
% 显然,我们随机过程xrandom(i)中的每一个数据都可以用来生成一个估计子参数uest(i),而且
% 生成的估计子的值uest(i)的值也是随机的,因此有必要引入误差B(uest)的概念,用来评估如机
% 子的有效性
% 定义 B(uest) = E{uest - u},如果B(uest) = 0,则认为uest是无偏的的
% 相应的,还有有偏估计 B(uest) ≠ 0,以及渐进无偏估计 limN->∞ B(uest)=0
% 当然这个有偏、无偏的判断只能通过解析式来判断,因为计算误差的存在,数值方法上是无法
% 对其进行准确判断的。

Euest1 = 1/N*(sum(xrandom,2));
Euest2 = 1/(N+1)*(sum(xrandom,2));
fxest1 = normpdf(xaxis,Euest1,a);
fxest2 = normpdf(xaxis,Euest2,a);
fprintf('u = %d \n E{uest1} = %d \n E{uest2} = %d \n',u,Euest1,Euest2)

%% 对比原始密度分布函数以及估计出来的密度分布函数
% 显然的uest1是u的无偏估计,uest2是u的渐进无偏估计
% 无偏的一定是渐进无偏的,但是渐进无偏的却不一定是无偏的

plot(xaxis,fxest1)
plot(xaxis,fxest2)
xlim([min(xaxis),max(xaxis)])
legend('原始分布','估计分布1','估计分布2')
title(' xrandom的概率密度函数对比')
hold off


%% 估计子的有效性对比
% 估计子有效性的考察,依赖于估计子代价函数的定义
% 简单来讲,可以通过偏差B(uest)来确定谁更有效
% 但是当两个估计子都是无偏无极的时候B(uest) = 0,这时候就要考察两个估计子的方差var(uest)
% 方差更小的被认为更有效
% 当两个估计子的偏差B(est) 与 aest^2都不相同的时候,就可以引入均方差的概念加以区别
% 定义 M^2(uest) = var(uest) + B^2(uest)

% 问题:如何计算估计子的方差呢?
% 答案:不断重复随机过程xrandom,对u不断的重复进行估计,会得到以系列的uest,这个无偏估计
% uest系列是随机分布,且具有方差以及均值的。var(uest)能够达到的最小值就是克拉默-劳下界
% 此处代码不再赘述

关于高斯分布的Fisher信息,以及克拉默劳下界是否能够达到的求解、证明方法。

高斯分布估计子的性能与克拉默劳下界的讨论_第1张图片

费舍尔信息,以及克拉默-劳下界的求解代码如下

%% 高斯分布的费舍尔信息
% 费舍尔信息是在被估计参数u已知的情况下,定义出来的一个均值
% 其表达式为 J(u) = E{(x-u)^2/(4*a^4)}
% 其中品质函数 V(x) = (x-u)/(2*a^2)
% 克拉默-劳下界 1/J(u) 是估计子 uest 均方误差{M^2(uest) = var(uest) + B^2(uest)}能取得的最小值。

Vxrandom = (xrandom - u)/(2*a^2);
JVxsquare = mean(Vxrandom.^2);
fprintf('费舍尔信息 JVxsquare = %d \n',JVxsquare)
fprintf('克拉默劳下界 1/JVxsquare = %d \n',1/JVxsquare)

以下为代码运行结果

u = 2.500000e+00 
 E{uest1} = 2.146888e+00 
 E{uest2} = 1.951716e+00 
费舍尔信息 JVxsquare = 7.860628e-01 
克拉默劳下界 1/JVxsquare = 1.272163e+00 

高斯分布估计子的性能与克拉默劳下界的讨论_第2张图片

进一步的理解有偏&无偏可以参考这篇文章

你可能感兴趣的:(matlab仿真,DSP)