CS478 Permutation Test Details

To compare the performance of models M1 and M2 using a permutation test:

  1. Obtain a set of k estimates of accuracy A = {a1, ..., ak} for M1 and B = {b1, ..., bk} for M2
  2. Calculate the average accuracies, μA = (a1 + ... + ak)/k and μB = (b1 + ... + bk)/k
  3. Calculate dAB = |μA - μB|
  4. let p = 0
  5. Repeat n times
    1. let S={ a1, ..., ak, b1, ..., bk} (statistically best if partitions not repeated)
    2. randomly partition S into two equal sized sets, R and T
    3. Calculate the average accuracies, μR and μT
    4. Calculate dRT = |μR - μT|
    5. if dRTdAB then p = p+1
  6. p-value = p/n (Report p, n, and p-value)