概率论实验报告一

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

一、问题描述

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 窗估计和设计分类器。窗函数为一个球形的高斯函数,如下: ()()()()()[]

22/exp /h x x x x h x x i t i i ---∝-ϕ

(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;

end

end

count(h,1)=count(h,1)/(10000*8*l^3);

end

plot(count);

xlabel('100*h');

ylabel('p(h)=k(h)/(n*h^3)');

%通过公式 p k=k

估计原点附近的概率密度,并画出 h-k h的分布图nV k

(c)

k=sort(max(abs(X),[],1));

%取各样本点绝对值最大分量,这个分量表示能刚好将它包围在内的立方体边长的一半

%并从小到大排序,排序后数组中第k个元素就是包围k个样本点所需的最小立方体边长的一半for i=1:10000

k(i)=i/(10000*8*k(i)^3);

end

plot(k);

xlabel('k');

ylabel('p(k)=k/(n*V(k))');

估计原点附近的概率密度,并画出 k-p k的分布图

%通过公式 p k=k

nV 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不同的球形包围的样本点个数k 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;

end

count(i)=count(i)/(10000*0.75*pi*r^3);

end

plot(count);

xlabel('10000*r/max(r),max(r)=4.7407');

ylabel('p(r)=k(r)/(nV)');

%,并画出 r-p r的分布图

count=zeros(10000,1);

for k=1:10000

count(k)=k/(10000*0.75*pi*l(k)^3);

%通过公式p r=k r

(V=0.75πr3) 估计原点附近的概率密度

nV

end

plot(count);

xlabel('k');

ylabel('p(k)=k/(nV(k))');

%画出 k-p 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));

%对于测试样本点,计算它在每一类中的φ值

相关文档
最新文档