Linear-time kernel goodness-of-fit test
-
When reproducing the results, it will be necessary to modify the dictionary keys in
kgof.config
to have correct directories for various paths. If the keys are modified externally, then the same modifications need to be applied before plots can be generated by the provided Jupyter notebooks. -
When adding a new Kernel or new
UnnormalizedDensity
, usenp.dot(X, Y)
instead ofX.dot(Y)
.autograd
cannot differentiate the latter. Also, do not usex += ...
. Usex = x + ..
instead. -
Note that current version of the test only works for cases where the domain is R^d (not even a bounded subset). This is due to the vanishing-boundary condition required to construct the Stein operator.
-
The sub-module
kgof.intertst
depends on the linear-time two-sample test of Jitkrittum et al., 2016 (NIPS 2016). The code (freqopttest
Python package) can be found here.