# Von Mises distribution for Kuiper test

Hello all,
I want to use Kuiper test to see whether my distribution is Von Mises distribution or not. The problem is that I cannot find out how should I defined cdf in the kuiper test. The documentation mentions this:

``````astropy.stats.kuiper(data, cdf=<function <lambda>>, args=())
``````

How should I define the function of CDF for Von Mises distribution?
I have already found a scipy command that can estimate the cdf of Von Mises distribution. This is discussed here. However, I am not sure how to use it in the Kuiper test.

I use the following command for instance:

``````astropy.stats.kuiper(a,vonmises.cdf(a, 137.2221, loc=-0.7414, scale=1))
``````

However I get the following error:

``````
File "<ipython-input-11-cee05f94c313>", line 1, in <module>
astropy.stats.kuiper(a,vonmises.cdf(a, 137.2221, loc=-0.7414, scale=1))

File "C:\Python\Anaconda3\lib\site-packages\astropy\stats\funcs.py", line 1386, in kuiper
cdfv = cdf(data, *args)

TypeError: 'numpy.ndarray' object is not callable`````````
1 Like

The Kuiper function takes a callable (a function) for the CDF argument. In your example above you pass the evaluated function. There are two good ways to fix this: 1) to â€śfreezeâ€ť the distribution and 2) to pass the arguments to the unfrozen distribution using `kuiper`'s `args=`.

First I need to import stuff and make a fake data set

``````from astropy.stats import kuiper
from scipy.stats import vonmises

import numpy as np
data = np.linspace(0, 1)
``````

This is method (1), the frozen distribution. Itâ€™s nice because `frozenvm` can be used anywhere and we can use keyword arguments instead of positional arguments.

``````frozenvm = vonmises(kappa=137.2221, loc=-0.7414, scale=1)
kuiper(data, frozenvm.cdf)
``````

This is method (2), passing the arguments. It works in a pinch, but I prefer method (1)

``````kuiper(data, vonmises.cdf, args=(137.2221, -0.7414, 1))
``````

Thanks for your response @nstarman. One more question: what is the default significance level in the Kuiper test of astropy? is it 5%? I could not find it in the documentation.

@bradley , I think this question is for you

@A-ep93, I think you are looking to understand `kuiper_false_positive_probability`, which is the `fpp ` (second) output of `kuiper`

Actually, I donâ€™t have any experience or expertise with the Kuiper test. It looks like it was added by Anne Archibald in Implemented Kuiper test and some support functions by aarchiba Â· Pull Request #3724 Â· astropy/astropy Â· GitHub</tit