kstest for uniform distribution
62 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
John Smith
il 12 Ott 2021
Commentato: John Smith
il 14 Ott 2021
Hi,
I have been testing the use of kstest for the detection of a discrete uniform distribution. However, I believe that I am encountering an error, or using the function incorrectly. For example, if I define a variable array
x = randi([1 4],1900,1);
where tabluate gives the following very uniform distribution
tablate(x)
Value Count Percent
1 449 23.63%
2 482 25.37%
3 482 25.37%
4 487 25.63%
and I then run the test
kstest(x, 'CDF', [x unidcdf(x,4)])
I get a result of h = 1, i.e. rejection of the hypothesis that x is discrete uniform, which is clearly not the case (at least in my eyes). Would someone with more experience with this test potentially be able to helpfully provide an explanation as to why I'm getting this result? And whether I'm doing something wrong?
Many thanks.
0 Commenti
Risposta accettata
Jeff Miller
il 12 Ott 2021
you can test for the fit of a discrete distribution, including uniform, with chi2gof. One of the examples (about 1/3 of the way down the page) shows how to test for a Poisson distribution. With the uniform discrete, your expected counts expCounts are just the total number of observations divided by the number of possible discrete values.
3 Commenti
Jeff Miller
il 14 Ott 2021
Just a minor correction of the terminology at the end: the null hypothesis is that X is a discrete uniform, and h=0 means that this null hypothesis should not be rejected based on the observed X values.
Più risposte (1)
the cyclist
il 12 Ott 2021
From the documentation: "The one-sample Kolmogorov-Smirnov test is only valid for continuous cumulative distribution functions." (Emphasis added.)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!