Skip to main content
. Author manuscript; available in PMC: 2016 Apr 1.
Published in final edited form as: J Classif. 2015 Mar 10;32(1):63–84. doi: 10.1007/s00357-015-9171-5

Algorithm 1: Outline of algorithm for determining outliers via Eigenvalue method

Initialize: Determine initial cluster membership for all observations;
Return: Number of clusters: G and
 Cluster variance estimates: V^g for g = 1,…, G;
for Observations i = 1,…, N do
  For observation i assigned to cluster g,
hold other N − 1 cluster memberships constant;
  (A) Determine variance structure when removing observation i;
   With N-1 observations, use the M-step (from the EM algorithm) to calculate parameter estimates for all G groups under all specified variance structures Select best variance structure through maximization of the BIC;
   Return: Cluster variance estimate: V^g,i;
   if Selected variance structure differs from original variance structure,
   then re-estimate cluster variance V^g for g = 1,…, G with all N observations under the best variance structure selected for N − 1 observations ;
  (B) Calculate the minimum eigenvalue Eig of Ri, where
Ri=V^g,iV^g1
 Define: the # of observations in cluster g as Ng, trimming value T=N/G and tj for j = 1,…, 5 to create 4 equally spaced intervals from 1,…, T;
for g = 1,…, G do
  if Ng > T then
   Compute thresholds with trimmed cluster-specific eigenvalues Eg,tj
   for j = 1,…, 5, do Mt,g = Mean( Eg,tj) − 5 SD( Eg,tj)
   for j = 2,…, 5, do Mj,g=Mtj,g/Mtj1,g = Mean
   If (M.,g)>(1+1/Ng)
   Then k=argmaxjj=2,,5:Mtj,g >(1+1/Ng) and Cg=Mtk,g
   Else Cg = M1,g
else Cluster g denoted as “outlier cluster”, Cg=E(Ng)g
Return: Observations with Eg ≤ Cg, for g = 1,…, G