当前位置:   article > 正文

matlab多维核密度估计工具箱@kde的使用_matlab 多维核密度估计工具箱

matlab 多维核密度估计工具箱

KDE类是用于k维核密度估计的通用matlab类。 它是用matlab“.m”文件和MEX / C ++代码混合编写的。因此,要使用它,你需要能够为Matlab编译C ++代码。 请注意,Windows的默认编译器不支持C ++,因此您需要在Linux下使用GCC,或者在Windows下使用GCC或Visual C ++。

KDE下载网址:http://www.ics.uci.edu/~ihler/code/kde.html

该网址还有kde安装说明

kde安装:

1:软件包解压缩,添加到matlab路径下,

2:matlab命令窗口输入:@kde\mex\makemex.m,然后就可以调用kde函数创建核密度估计类对象,调用类对象的各种“方法”实现核密度估计、画图等。

这里举一个例子:

p = kde(rand(2,1000), [.15;.1], [], ‘E’); % 创建核密度估计类对象,列向量,第二个输入参数是每个维度的带宽,一定是列向量
%p = kde( rand(2,1000), ‘rot’ ); % Gaussian kernel, 2D, BW chosen by “rule of thumb” (below),带宽也可以按一定规则选择
核函数带宽的自动生成规则有:
p = ksize(p, ‘lcv’); % 1D Likelihood-based search for BW1D基于似然的搜索BW

p = ksize(p, ‘rot’); % “Rule of Thumb”; Silverman '86 / Scott '92“拇指规则”即”经验法则; Silverman '86 / Scott '92

p = ksize(p, ‘hall’); % Plug-in type estimator (estimates each dim. separately) 插件类型估计器(单独估计每个dim)

mesh(hist§); % 二维核密度估计图
fp = getPoints§; % 核密度估计值
效果:

evaluate(kde,x);%根据kde,估计x的密度

[H,X,Y]=hist(kde);%H:对应点的密度,X:第一个属性的点,Y第二个属性的点
mesh(hist(kde));%画密度图,默认取第一个和第二个属性

plot(kde);%如果是一维点,则画曲线图

BW=getBW(kde);%返回带宽

point=getPoints§;%返回p中计算密度的点

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/67115
推荐阅读
相关标签
  

闽ICP备14008679号