文章目录
第1关:贝叶斯估计
编程要求
以单变量正态分布为例,设X(N)是取自正态分布N(3.4,2.1^2 )的样本集,假设其中的总体方差已知,均值为未知的随即参数,为待估计量,且已有先验分布N(u0 ,σ02 ),要求使用贝叶斯估计方法求出其估计量 u(N),使得最终的贝叶斯风险最小。
根据提示,在右侧编辑器补充代码,针对给定的注释提示进行对应操作。具体要求如下:
a. 给出服从正态分布N(3.4,2.12)的100个样本;
b. 根据提示,计算贝叶斯估计值。
测试输入:
3.6 0.4
预期输出:
贝叶斯估计值为:3.476283
与真实值的相对误差为:0.022436
load data X; % 加载样本数据
u = 3.4; % 总体分布密度的均值
sigma = 2.1; % 总体分布密度的标准差
u0 = 3.6; % 未知参数分布的均值
sigma0 = 0.4; % 位置参数分布的标准差
num = 100; % 样本个数
Xmu = sum(X)/num; % 样本均值
%%%%%%%%%% Begin %%%%%%%%%%
%% 计算贝叶斯估计值
u1 = num*sigma0^2*Xmu/(num*sigma0^2+sigma^2)+sigma^2*u0/(num*sigma0^2+sigma^2);
%% 输出贝叶斯估计值
fprintf('贝叶斯估计值为:%f\n', u1)
u2 = abs(u1-u)/u;
fprintf('与真实值的相对误差为:%f',u2);
%%%%%%%%%% End %%%%%%%%%%
版权声明:本文为qq_52331221原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。