Code covered by the BSD License  

Highlights from
Discriminant Analysis Programme

image thumbnail
from Discriminant Analysis Programme by Bartolomeu Rabacal
Discrimination and Classification of data to and from groups with classical/robust estimation

linearCVCoefficent(D, dataElem, groupIdx, dataElemGroupIdx, m_dap)
function cvCoef = linearCVCoefficent(D, dataElem, groupIdx, dataElemGroupIdx, m_dap)
% Linear Cross Validation Coefficent

%MacLachlan, G.J. Discriminant Analysis and Statistical Pattern
% Recognition, Wiley

n = sum(m_dap.constants.numElemPerGrp);
n_i = m_dap.constants.numElemPerGrp(groupIdx);
g = m_dap.constants.numGrp;
d_ii = (dataElem - m_dap.meanList{groupIdx}) * D * (dataElem - m_dap.meanList{groupIdx})';
if groupIdx == dataElemGroupIdx
    cvCoef = ((n - g - 1) * n_i^2 / (n_i - 1)) / ((n - g) * (n_i - 1) - n_i * d_ii);
else
    d_iu = (dataElem - m_dap.meanList{groupIdx}) * D * (dataElem - m_dap.meanList{dataElemGroupIdx})';
    d_uu = (dataElem - m_dap.meanList{dataElemGroupIdx}) * D * (dataElem - m_dap.meanList{dataElemGroupIdx})';
    cvCoef = ((n - g + 1) / (n - g)) * (1 + n_i * d_iu^2 / (d_ii * ((n - g) * (n_i - 1) - n_i * d_uu)));
end

Contact us at files@mathworks.com