Kolmogorov–Smirnov test, retrieve output

question

#1

Hi,

I would like to use the KS test on 2000 datasets and each time I run it just retrieve the output values into an array. Being quite new to Julia, I wonder how (and if) this is possible. Currently, I am doing ApproximateTwoSampleKSTest(x11,y11) which prints out all results to the screen like this

Approximate two sample Kolmogorov-Smirnov test

Population details:
parameter of interest: Supremum of CDF differences
value under h_0: 0.0
point estimate: 0.1540000000000001

Test summary:
outcome with 95% confidence: reject h_0
two-sided p-value: 1.0030026093285193e-10 (extremely significant)

Details:
number of observations: [1000,1000]
KS-statistic: 3.443544685349679

Thanks

Philipp


#2

You can save the whole objects into an array easily, e.g. by results[11] = ApproximateTwoSampleKSTest(x11, y11), or if you are only after the p value you can results[11] = pvalue(ApproximateTwoSampleKSTest(x11, y11)). Interestingly, there does not seem to be a function to get the test statistic. You can get it by

function teststatistic(x)
    n = x.n_x*x.n_y/(x.n_x+x.n_y)
    sqrt(n)*x.δ
end

x = ApproximateTwoSampleKSTest(x11, y11)
teststatistic(x)

I have taken this code from the package source. The x.n_x variables above refer to the field names of the object, you can see them by e.g. fieldnames(x).


#3

Thanks!

Ja, I used the
results[11] = ApproximateTwoSampleKSTest(x11, y11)
option, and even figured out the pvalue function in the meantime, but I was really interested in storing the test statistics for all my 2000 tests. So great, thanks a lot.

P