parzendm.m

来自「模式识别中的parzen窗估计概率密度的一个自编的函数」· M 代码 · 共 64 行

M
64
字号
function  pdf=parzendm(X,data,h1)
%进行多维数据的parzen窗的非参数密度估计,,parzen3dm的修改
%input   X-D*N data structure
%        data-X中的某个需要估计密度的数据D*1
%output  pdf-the estimation pdf of data
%author:DM
%date:08-01-30
  


[D,N]=size(X);
% h1=50;
hn=h1/sqrt(N);

pdf=0;

    Xtemp=zeros(D,N);
    Xitemp=repmat(data,1,N);
    Xtemp=(X-Xitemp)/hn;
    phei=zeros(1,N);
    temp=normpdfdm(Xtemp);%see below
    phei=temp.pdf;
    pdf=sum(phei/hn)/N;

% Y.data=data;
% Y.pdf=pdf;

% figure;
% switch D
%     case 1
% for i=1:N
% plot(Y.data(i),Y.pdf(i),'*');hold on;
% end
% axis([-2 6 0 1])
%     case 2
%         for i=1:N
%             plot3(Y.data(1,i),Y.data(2,i),Y.pdf(i),'*');
%             hold on;
%         end;
% end;
%     return;





%------------------------------------function normpdfdm---------------
function Y=normpdfdm(X)

%input  X-D*N  data structure 
%output Y-structure data
%         Y.data=X
%         Y.pdf=the norm pdf of every data(D dimension) along column
%author:DM
%data:08-01-28

A=X'*X;
pdf=diag(A)';
pdf=exp(-pdf/2)/sqrt(2*pi);
Y.data=X;
Y.pdf=pdf;
return;

%-------------------end of function of normpdfdm-----------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?