⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sufficient_statistics.m

📁 Duda的《模式分类》第二版的配套的Matlab源代码
💻 M
字号:
function [S1, S2] = Sufficient_statistics(data, distribution)

%Find sufficient statistics for data assuming a distribution
%Inputs:
%	data	- The data from which to estimate
%	distribution	- What distribution is the data taken from. Can be one of:
%							Normal, MultivariateNormal, Exponential, Rayleigh, Maxwell, Gamma, 
%							Beta, Poisson, Bernoulli, Binomial, Multinomial
%	
%Outputs:
%	S		- The sufficient statistics

[D, N] = size(data);

switch distribution
case 'Normal', 
   S1 = 1/N*sum(data')';
   S2 = 1/N*sum(data'.^2)';
case 'MultivariateNormal', 
   S1 = 1/N*sum(data')';
   S2 = 1/N*(data*data');
case {'Exponential', 'Poisson', 'Bernoulli', 'Binomial', 'Multinomial'}
   S1 = 1/N*sum(data')';
   S2 = [];
case {'Rayleigh', 'Maxwell'},
   S1	= 1/N*sum(data'.^2)';
   S2 = [];
case 'Gamma',
   S1	= prod(data').^(1/N);
   S2 = 1/N*sum(data')';
case 'Beta', 
   S1	= prod(data')'.^(1/N);
   S2 = prod(1-data')'.^(1/N);
otherwise
   error('Unknown distribution')
end
   

⌨️ 快捷键说明

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