evalavglogl.m

来自「Non-parametric density estimation」· M 代码 · 共 29 行

M
29
字号
function ll = evalAvgLogL(dens,at,varargin)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% evalAvgLogL(P,Q [,...])  -- evaluate the mean log-likelihood of the KDE P
%                             at points Q ([Ndim x Npts] double or KDE)
%                             Optional flags are the same as evaluate
% See also: evaluate
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Copyright (C) 2003 Alexander Ihler; distributable under GPL -- see README.txt

if (isa(at,'kde'))
  L = evaluate(dens,at,varargin{:});
  W = getWeights(at);
  ind = find(L==0);
  if (any(W(ind))) ll=-inf;
  else
    L(ind) = 1;
    ll = (log(L)*W');
  end;
else
  L = evaluate(dens,at,varargin{:});
  if (length(find(L==0)))
    ll = inf;
  else
    ll = mean(log(L));
  end; 
end;

⌨️ 快捷键说明

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