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

DSWeightings(directions, DSParm)
function maxWeightings = DSWeightings(directions, DSParm)

% Computes maximum wheightings by data projection through unit norm vectors.
% Measure of "outlyingness"

maxWeightings = zeros(DSParm.numObs, 1); % Maximum data weightings vector

for i = 1:DSParm.numDirections % Runs over all directions
    direction = directions(i, :); % Spatial projector
    dataProjection = DSParm.data * direction';
	
    dataProjectionMedian = median(dataProjection);
    dataProjectionMedianVec = dataProjectionMedian .* ones(DSParm.numObs, 1);
	
    dataProjectionDiff = abs(dataProjection - dataProjectionMedianVec);
    dataProjectionDiffMedian = median(dataProjectionDiff);
    
    dataProjectionMAD = DSParm.MADconst * dataProjectionDiffMedian;
    dataProjectionMADVec = dataProjectionMAD .* ones(DSParm.numObs, 1);
    
    projectionWeights = dataProjectionDiff ./ dataProjectionMADVec;
    maxWeightings = max(maxWeightings, projectionWeights);
end

Contact us at files@mathworks.com