Illustration of two-sample Kolmogorov-Smirnov test: (Data from Table 5.7, p180, of Hollander&Wolfe, 2nd edition.) Sample 1 (Xs, n=10, Xbar=4.22): -0.15 8.60 5.00 3.71 4.29 7.74 2.48 3.25 -1.15 8.38 Sample 2 (Ys, n=10, Ybar=1.89): 2.55 12.07 0.46 0.35 2.69 -0.94 1.73 0.73 -0.35 -0.37 After sorting each sample (using qsort()): Sample 1: -1.15 -0.15 2.48 3.25 3.71 4.29 5.00 7.74 8.38 8.60 Sample 2: -0.94 -0.37 -0.35 0.35 0.46 0.73 1.73 2.55 2.69 12.07 Samples sorted together (with sample designators X,Y): -1.15(X) -0.94(Y) -0.37(Y) -0.35(Y) -0.15(X) 0.35(Y) 0.46(Y) 0.73(Y) 1.73(Y) 2.48(X) 2.55(Y) 2.69(Y) 3.25(X) 3.71(X) 4.29(X) 5.00(X) 7.74(X) 8.38(X) 8.60(X) 12.07(Y) A crude graph (X=o, Y=*): | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |***| | | | | | | | | | | | | | | |***|***| |***| | | | | | | | | | | | |***|***| |***|ooo| | | | |ooo| | | | | |ooo|ooo|***|***|ooo|ooo|ooo|ooo| |ooo|ooo| | | |***| |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| Mann-Whitney or Wilcoxon rank-sum test: Sample I midranks (WX=128) 1.00 5.00 10.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00 Sample II midranks (WY=82) 2.00 3.00 4.00 6.00 7.00 8.00 9.00 11.00 12.00 20.00 WX=128 Z=1.73864 P=0.0821 (2-sided) The Kolmorogov-Smirnov statistic for the observed data: Find Jdif_obs = (mm*nn/gcd)*max_t |F_m(t)-G_n(t)| and Jval_obs = max_t |F_m(t)-G_n(t)| At sorted values of Xi and Yj, Xjump=1 and Yjump=-1: Step # 1: -1.15(X) Jsum= 1 New Jdif=1 (*) Step # 2: -0.94(Y) Jsum= 0 Old Jdif=1 Step # 3: -0.37(Y) Jsum=-1 Old Jdif=1 Step # 4: -0.35(Y) Jsum=-2 New Jdif=2 (*) Step # 5: -0.15(X) Jsum=-1 Old Jdif=2 Step # 6: 0.35(Y) Jsum=-2 Old Jdif=2 Step # 7: 0.46(Y) Jsum=-3 New Jdif=3 (*) Step # 8: 0.73(Y) Jsum=-4 New Jdif=4 (*) Step # 9: 1.73(Y) Jsum=-5 New Jdif=5 (*) Step #10: 2.48(X) Jsum=-4 Old Jdif=5 Step #11: 2.55(Y) Jsum=-5 Old Jdif=5 Step #12: 2.69(Y) Jsum=-6 New Jdif=6 (*) Step #13: 3.25(X) Jsum=-5 Old Jdif=6 Step #14: 3.71(X) Jsum=-4 Old Jdif=6 Step #15: 4.29(X) Jsum=-3 Old Jdif=6 Step #16: 5.00(X) Jsum=-2 Old Jdif=6 Step #17: 7.74(X) Jsum=-1 Old Jdif=6 Step #18: 8.38(X) Jsum= 0 Old Jdif=6 Step #19: 8.60(X) Jsum= 1 Old Jdif=6 Step #20: 12.07(Y) Jsum= 0 Old Jdif=6 Maximum difference: Jdif=6 at Y=2.69 Ending jsum=0 Jval_obs=(gcd(m,n)/(m*n))*Jdif_obs = (10/(10*10))*6 = 0.6 Jstar=1.34164 Large-sample P-value=0.0546463 (2-sided) Doing permutation test with 10000 permutations for jdif_obs=6 (m=10, n=10): Starting random-number seed: 123456 Permutation P-value = 528/10000 = 0.0528 (2-sided) 95% confidence interval for true Pval with estimated P: (0.0484, 0.0528, 0.0572) Random numbers used: 190,000 Recall: Starting random-number seed: 123456