parzen窗概率密度估计 matlab,核密度估计(parzen窗密度估计)

本文介绍了MATLAB中使用ksdensity函数进行核密度估计的方法,特别是Parzen窗概率密度估计。通过代码示例展示了如何计算并绘制估计结果,并与MATLAB内置函数进行比较,探讨两者之间的差异。
摘要由CSDN通过智能技术生成

matlab中提供了核平滑密度估计函数ksdensity(x):

[f, xi] = ksdensity(x)

返回矢量或两列矩阵x中的样本数据的概率密度估计f。 该估计基于高斯核函数,并且在等间隔的点xi处进行评估,覆盖x中的数据范围。

ksdensity估计单变量数据的100点密度,或双变量数据的900点密度。

ksdensity适用于连续分布的样本。

也可以指定评估点:

[f,xi] = ksdensity(x,pts) specifies points (pts) to evaluate f. Here, xi and pts contain identical values。

核密度估计方法:

90bb324897ab1a0832486116a0cb165a.png

代码实现,对比:

clear all;

clc;

n=100;

% 生成一些正态分布的随机数

x=normrnd(0,1,1,n);

minx = min(x);

maxx = max(x);

dx = (maxx-minx)/n;

x1 = minx:dx:maxx-dx;

h=0.5;

f=zeros(1,n);

for j = 1:n

for i=1:n

f(j)=f(j)+exp(-(x1(j)-x(i))^2/2/h^2)/sqrt(2*pi);

end

f(j)=f(j)/n/h;

end

plot(x1,f);

%用系统函数计算比较

[f2,x2] = ksdensity(x);

hold on;

plot(x2,f2,'r'); %红色为参考

2d51f94f5d8da3413b2a060ca1e04693.png

3433fb23dd9de441eebe579a8cfa87da.png

PRML上核密度估计(parzen窗密度估计)的实现:

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值