- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PR上机实验3
模式识别上机实验3: 密度的非参数估计
专业:数学与应用数学 学号: 姓名:
理论:已知一维样本,给出非参数密度估计的Parson窗算法。
实践:分别产生1、16、256和16384个服从一维标准正态分布的样本,
分别就窗宽为,,窗函数为高斯函数的情形估计所给样本的密度函数并画出图形。
分别就时用近邻方法估计所给样本的密度函数并画出图形。
1、实验过程
窗函数为高斯函数时,即正态函数为:
其图像为:
图1
再利用Parzen窗法的基本公式
上式中N分别取1、16、256和16384,分别取0.25,1和4,可得到结果
图2
根据图1和图2,我们可以清楚地了解到针对不同数目的样本总数,小窗过宽或者过窄都会造成较大的误差。以N=16为例就可以清晰地看到当h1=0.25时图象粗糙,在h1=4时得到的图象就比较光滑,跟标准正态分布密度图象比较相符。
邻近估计
题意要求分别就时用近邻方法估计所给样本的密度函数并画出图形。
根据邻近估计的基本公式,取可得
这里是的样本是一维的,取 ,根据MATLAB程序语言,可得图3
图3
通过编程实现和分析上图,可以这种近邻估计也能很好实现概率密度函数的估计,最后的一个图很清晰的可以看到标准正态分布概率曲线的样子,这要求样本数目很大,达到第四幅图的样子用了16384个样本。
2、实验代码
MATLAB代码如下:
三个常用窗函数 chuanghanshu.m
function fu=chuanghanshu(u,t)
if t==1
if abs(u)=1/2
fu=1;
else
fu=0;
end
elseif t==2
fu=exp(-(u^2)/2)/sqrt(2*pi);
elseif t==3
fu=exp(-abs(u));
end
绘制三个常用窗函数图像huizhiCHS.m
u=-5:0.1:5;N=size(u);
for i=1:N(2)
fu1(i)=chuanghanshu(u(i),1);
fu2(i)=chuanghanshu(u(i),2);
fu3(i)=chuanghanshu(u(i),3);
end
subplot(1,3,1),plot(u,fu1);
subplot(1,3,2),plot(u,fu2);
subplot(1,3,3),plot(u,fu3);
Parzen窗法 Parzen.m
function px=Parzen(X,h1)
syms x;
N=size(X);N=N(2);
hN=h1/sqrt(N);
for i=1:N
pNx(i)=chuanghanshu((x-X(i))/hN,2)/hN/N;
ezplot(pNx(i));hold on;
plot(X(i),0,*);hold on;
end
px=sum(pNx);ezplot(px);hold off;
邻近法 KNLJ.m
function KNLJ(X,h1)
x=linspace(min(X)-0.5,max(X)+0.5,100);step=(max(X)-min(X))/100;
N=size(X);N=N(2);
SX=sort(X);px=0;
for i=1:100
absX=sort(abs(SX-x(i)));d=absX(h1);
px(i)=1/(sqrt(N)*2*d);
end
plot(x,px,r);hold off;
方窗邻近法 KNLJ.m
function px=FCKNLJ(X,h1)
x=linspace(min(X)-0.5,max(X)+0.5,100);
N=size(X);N=N(2);
SX=sort(X);px=0;
for i=1:N-h1+1
XI=SX(i:i+h1-1);
u=(x-mean(XI))./(max(XI)-mean(XI)+1/2);
for j=1:100
if abs(u(j))=1
pNx(j)=1/(max(XI)-min(XI)+1)/(N-h1+1);
else
pNx(j)=0;
end
end
plot(x,pNx);hold on;
plo
文档评论(0)