实验报告。
1.研究一些概率密度函数的估计的特性:
a)编写程序,根据均匀分布产生位于单位立方体内的样本点,即-1/2≤xi≤1/2,其中i=1,2,3.共产生10^4个点。
b)编写程序,基于这10^4个样本点,估计原点附近的概率密度,作为边长为h的立方体体积的函数,并且对于0(c)估计原点附近的概率密度,使用n个样本点,并且选择窗使得恰好包含进n个样本点。对于n=1,2,……10^4,画出估计的函数图像。
d)编写程序,产生服从球形高斯分布的概率密度并且以原点为中心的样本点。重复(b),(c)。
e)定性的讨论在一致和高斯密度两种情况下,估计结果对函数形式的依赖性的异同。
2.考虑对于**中的数据进行parzen窗估计和设计分类器。窗函数为一个球形的高斯函数,如下:
a)编写程序,使用parzen窗估计方法对一个任意的测试样本点x进行分类。对分类器的训练则使用**中的三维数据。同时令h=1,分类样本点为(0.
5,1.0,0.0)^t,(0.
31,1.51,-0.50)^t,(-0.
3,0.44,-0.1)^t。
b)令h=0.1,重复(a)。
题目1:a)
clc;clear;
upb=0.5*ones(3,10000);
lob=-0.5*ones(3,10000);
先设置分布的上、下界、样本点的维度以及样本数量。
x=unifrnd(lob,upb);
用unifrnd函数生成规定数目的样本点。
scatter3(x(1,:)x(2,:)x(3,:)filled');
以散点图形式绘制在三维坐标系下。
b)count=zeros(100,1);
for h=1:100
选择不同的边长h
l=h/200;
for i=1:10000
if(abs(x(1,i))count(h,1)=count(h,1)+1;
endend
count(h,1)=count(h,1)/(10000*8*l^3);
endplot(count);
xlabel('100*h');
ylabel('p(h)=k(h)/(n*h^3)')
通过公式= 估计原点附近的概率密度,并画出 h- 的分布图。
c)k=sort(max(abs(x),[1));
取各样本点绝对值最大分量,这个分量表示能刚好将它包围在内的立方体边长的一半。
并从小到大排序,排序后数组中第k个元素就是包围k个样本点所需的最小立方体边长的一半。
for i=1:10000
k(i)=i/(10000*8*k(i)^3);
endplot(k);
xlabel('k');
ylabel('p(k)=k/(n*v(k))'
通过公式= 估计原点附近的概率密度,并画出 k- 的分布图。
d)x=normrnd(0,1,3,10000);
scatter3(x(1,:)x(2,:)x(3,:)filled');
调用内置函数normrnd生成样本点并绘制散点分布图。
l=zeros(10000,1);
l(:,1)=sqrt(x(1,:)2+x(2,:)2+x(3,:)2);
l=sort(l);
统计每个样本点到原点的距离并排序。
count=zeros(10000,1);
统计半径r不同的球形包围的样本点个数。
for i=1:10000
r=max(l)*i/10000;
选择不同的距离r
k=1;while(r>l(k))
count(i)=count(i)+1;
k=k+1;
endcount(i)=count(i)/(10000*0.75*pi*r^3);
endplot(count);
xlabel('10000*r/max(r),max(r)=4.7407');
ylabel('p(r)=k(r)/(nv)')并画出 r- 的分布图。
count=zeros(10000,1);
for k=1:10000
count(k)=k/(10000*0.75*pi*l(k)^3);
通过公式= (v=0.75π) 估计原点附近的概率密度。
endplot(count);
xlabel('k');
ylabel('p(k)=k/(nv(k))'
画出 k- 的分布图。
e)对于同一概率密度分布,使用窗函数法和k-近邻法估计概率密度的结果基本相同。在均匀分布下的较小尺寸窗函数或k较少的k-近邻法估计的结果会出现一些波动,随着窗函数尺寸增加或k的增加估计结果很快趋于稳定。
在高斯分布下,较小尺寸窗函数或k较少的k-近邻法估计时也会出现波动,但增加窗函数尺寸过大或增加k过多也会导致对于原点附近的概率密度估计严重失真,对于概率密度较准确的估计应该只存在于开始的波动结束后的一小段区域。
题目2:a)
clc;clear;
x1=[0.28,0.07,1.
54,-0.44,-0.81,1.
52,2.2,0.91,0.
65,-0.26;1.31,0.
58,2.01,1.18,0.
21,3.16,2.42,1.
94,1.93,0.82;-6.
2,-0.78,-1.63,-4.
32,5.73,2.77,-0.
19,6.21,4.38,-0.
96];
x2=[0.011,1.27,0.
13,-0.21,-2.18,0.
34,-1.38,-0.12,-1.
44,0.26;1.03,1.
28,3.12,1.23,1.
39,1.96,0.94,0.
82,2.31,1.94;-0.
21,0.08,0.16,-0.
11,-0.19,-0.16,0.
45,0.17,0.14,0.
08];
x3=[1.36,1.41,1.
22,2.46,0.68,2.
51,0.6,0.64,0.
85,0.66;2.17,1.
45,0.99,2.19,0.
79,3.22,2.44,0.
13,0.58,0.51;0.
14,-0.38,0.69,1.
31,0.87,1.35,0.
92,0.97,0.99,0.
88];
x=[x1;x2;x3];
训练样本点。
x1=[0.5;1;0];
x2=[0.31;1.51;-0.5];
x3=[-0.3;0.44;-0.1];
x=[x1,x2,x3];
测试样本点。
h=1;设定参数h
label=zeros(3,1);
用’label’存放每个测试样本点的分类结果。
l=zeros(3,1);
for i=1:3
p=zeros(3,1);
for j=1:3
for k=1:10
l=x(:,i)-x(3*j-2:3*j,k);
p(j)=p(j)+exp(-l'*l/(2*h^2));
对于测试样本点,计算它在每一类中的φ值。
endend
a,b]=max(p);
label(i)=b;
对于测试样本点,比较得出φ值最大的一类,后验概率p(|x)也是最大的。endb)
修改h的值,其他与(a)相同。
h=0.1;
通过这两个编程实践,使我更深刻的理解了理论知识,也体会到了将非参数估计的理论应用于实际分类的过程,同时加强编程能力也很重要。
概率论实验报告
课程 概率论实验实验名称 各种分布的密度函数和分布函数第页。系别实验日期 2012 年 6 月 2日。专业班级组别实验报告日期 2012年 6 月 2 日。姓名 学号 报告退发 订正 重做 同组人教师审批签字。实验名称 方差分析。一。实验内容。问题 为了研究咖啡因对人体功能的影响,特选30名体质大致...
概率论实验报告
概率论与数理统计实验报告。实验名称区间估计。姓名学号。班级实验日期。1 实验名称 区间估计。二 实验目的 1.会用matlab对一个正态总体的参数进行区间估计 2.会对两个正态总体的均值差和方差比进行区间估计。三 实验要求 1.用matlab查正态分布表 2分布表 分布表和分布表。2.利用matla...
概率论实验报告
概率论上机实验报告。电气 班 张程 2013年6月14日 第一次实验。题目一2 均匀分布。1 实验目的。熟练掌握matlab软件的关于概率分布作图的基本操作。会进行常用的概率密度和分布函数的作图。绘画出分布律图形。2 实验要求。掌握matlab的画图命令plot 掌握常见的概率密度图像和分布函数图像...