ecdfactory
Construct a zero-mean elliptically contoured distribution structure
Syntax
D = ecdfactory(datadim, radialD)
Description
D = ecdfactory(datadim, radialD) returns a structure representing a datadim-dimensional ecd distribution with square radial pdf radialD.
Distribution Parameters
- sigma (datadim-by-datadim) The scatter matrix.
- radialD (parameter structure) Contains the parameters of the square radial pdf
Probability Density Function
The distribution has the following density:
where is the data space dimensions,
is the scatter matrix and
is the squared radial distribution.
Example
% Construct a 2-dimensional elliptical-gamma distribution D = ecdfactory(2, gammafactory()); % Build a parameter structure for it: theta = struct('sigma', [3 0; 0 2], 'radialD', struct('a', 3, 'b', 1)); % Plot the PDF: x = -5:0.2:5; y = -5:0.2:5; [X, Y] = meshgrid(x, y); data = [X(:) Y(:)]'; f = D.pdf(theta, data); surf(X, Y, reshape(f, size(X)));
name
See distribution structure common members.
Flag to control the memory usage (resulting code will be slower)
M
See distribution structure common members.
dim
See distribution structure common members.
datadim
See distribution structure common members.
radialD
Returning radial distribution
ll
See distribution structure common members.
llvec
See distribution structure common members.
llgrad
See distribution structure common members.
llgraddata
See distribution structure common members.
gaussianize
See distribution structure common members.
sample
See distribution structure common members.
randparam
See distribution structure common members.
init
See distribution structure common members.
penalizerparam
See distribution structure common members.
Penalizer Info
The default penalizer for this distribution is the Inverse-Wishart distribution for covariance and default prior for squared-radial.
Inverse-Wishart prior on covariance has the following form:
where
- nu (scalar) : Degrees of freedom.
- invLambda (datadim-by-datadim matrix) : The inverse scale matrix.
penalizercost
See distribution structure common members.
penalizergrad
See distribution structure common members.
sumparam
See distribution structure common members.
scaleparam
See distribution structure common members.
sumgrad
See distribution structure common members.
scalegrad
See distribution structure common members.
entropy
See distribution structure common members.
kl
See distribution structure common members.
AICc
See distribution structure common members.
BIC
See distribution structure common members.
display
See distribution structure common members.
fixate
Make some parameters fixed
Syntax
newD = D.fixate(paramName, paramValue, ...)
Description
newD = D.fixate(paramName, paramValue, ...) returns the new gamma distribution newD where the specified parameters are fixed so that they won't change in estimation. paramName is the name of the parameter ('a' or 'b') and paramValue is its desired fixed value.
Example
D = gammafactory();
D = D.fixate('a', 2);
unfix
Undo fixate
Syntax
newD = D.unfix(paramName, ...)
Description
newD = D.unfix(paramName, ...) where D is a gamma distribution with fixed parameters, returns the new gamma distribution newD where the specified parameters are unfixed. paramName is the name of the parameter ('a' or 'b').
Example
D = gammafactory(); D = D.fixate('a', 2, 'b', 1); D = D.unfix('a');
fullparam
Get the full parameter structure, given the variable parameter structure
Syntax
fulltheta = D.fullparam(theta)
Description
fulltheta = D.fullparam(theta) where D is a gamma distribution with fixed parameters, returns the full parameters of the gamma distribution including the fixed parameters. theta is a parameter structure for the distribution D (i.e. excluding the fixed parameters).
Example
D = gammafactory(); D = D.fixate('a', 2); theta = struct('b', 1); fulltheta = D.fullparam(theta)
fulltheta =
b: 1 a: 2