Dear all, I'm trying to use ks.test in order to compare two curve. I've 0 values i think this is why I have the follonwing warnings :impossible to calculate exact exact value with ex-aequos a=c(3.02040816326531, 7.95918367346939, 10.6162790697674, 4.64150943396226, 1.86538461538462, 1.125, 1.01020408163265, 1.2093023255814, 0.292452830188679, 0, 0, 0) b=c(2.30769230769231, 4.19252873563218, 5.81924882629108, 6.2248243559719, 5.02682926829268, 4.50728862973761, 3.61741424802111, 5.05479452054795, 3.68095238095238, 1.875, 5.25, 0) ks.test(a,b) data: a and b D = 0.58333, p-value = 0.0337 alternative hypothesis: two-sided Warning message: In ks.test(a, b) : impossible to calculate exact exact value with ex-aequos Does the p-value is correct ? Otherwise, how to solve this issue ? Thanks a lot.
ks.test ; impossible to calculate exact exact value with ex-aequos
5 messages · Fatma Ell, Rui Barradas, (Ted Harding) +1 more
Hello, That is a warning, not an error. And it documented. In ?ks.test, section Details, the relevant part is The presence of ties always generates a warning, since continuous distributions do not generate them. If the ties arose from rounding the tests may be approximately valid, but even modest amounts of rounding can have a significant effect on the calculated statistic. It then adds, three paragraphs down: Exact p-values are not available for the two-sample case if one-sided or in the presence of ties. You can use exact = FALSE but it will still issue a warning. ks.test(a, b, exact = FALSE) Two-sample Kolmogorov-Smirnov test data: a and b D = 0.58333, p-value = 0.0337 alternative hypothesis: two-sided Warning message: In ks.test(a, b, exact = FALSE) : p-value will be approximate in the presence of ties Hope this helps, Rui Barradas ?s 21:17 de 10/12/2018, Fatma Ell escreveu:
Dear all, I'm trying to use ks.test in order to compare two curve. I've 0 values i think this is why I have the follonwing warnings :impossible to calculate exact exact value with ex-aequos a=c(3.02040816326531, 7.95918367346939, 10.6162790697674, 4.64150943396226, 1.86538461538462, 1.125, 1.01020408163265, 1.2093023255814, 0.292452830188679, 0, 0, 0) b=c(2.30769230769231, 4.19252873563218, 5.81924882629108, 6.2248243559719, 5.02682926829268, 4.50728862973761, 3.61741424802111, 5.05479452054795, 3.68095238095238, 1.875, 5.25, 0) ks.test(a,b) data: a and b D = 0.58333, p-value = 0.0337 alternative hypothesis: two-sided Warning message: In ks.test(a, b) : impossible to calculate exact exact value with ex-aequos Does the p-value is correct ? Otherwise, how to solve this issue ? Thanks a lot. [[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
On Mon, 2018-12-10 at 22:17 +0100, Fatma Ell wrote:
Dear all, I'm trying to use ks.test in order to compare two curve. I've 0 values i think this is why I have the follonwing warnings :impossible to calculate exact exact value with ex-aequos a=c(3.02040816326531, 7.95918367346939, 10.6162790697674, 4.64150943396226, 1.86538461538462, 1.125, 1.01020408163265, 1.2093023255814, 0.292452830188679, 0, 0, 0) b=c(2.30769230769231, 4.19252873563218, 5.81924882629108, 6.2248243559719, 5.02682926829268, 4.50728862973761, 3.61741424802111, 5.05479452054795, 3.68095238095238, 1.875, 5.25, 0) ks.test(a,b) data: a and b D = 0.58333, p-value = 0.0337 alternative hypothesis: two-sided Warning message: In ks.test(a, b) : impossible to calculate exact exact value with ex-aequos Does the p-value is correct ? Otherwise, how to solve this issue ? Thanks a lot.
The warning arises, not because you have "0" values as such, but because there are repeated values (which happen to be 0). The K-S test is designed for continuous random variables, for which the probability of repeated values is (theoretically) zero: theoretically, they can't happen.
From the help page ?ks.test :
"The presence of ties always generates a warning, since continuous
distributions do not generate them. If the ties arose from
rounding the tests may be approximately valid, but even modest
amounts of rounding can have a significant effect on the
calculated statistic."
in view of the fact that your sample 'a' has three zeros along with
nine other vauwes which are all different from 0 (and all *very*
different from 0 except for 0.292452830188679), along with the fact
that your sample 'b' has 11 values all *very* different from 0.
and pne finall value equal to 0; together also with the fact that
in each sample the '0' values occur at the end, stringly suggests
that the data source is not such that a K-D test is auitasble.
The K-S test is a non-parametric test for whether
a) a given sample comes from na given kind of distribiution;
or
v) two samples are drwn from the same distribition.
In either case, it is assumed that the sample values are drawn
independently of each other; if there is some reason why they
may not be independent of each other, the test os not valid.
You say "I'm trying to use ks.test in order to compare two curve".
When I ezecute
plot(a)
plot(b)
on your data, I see (approximately) in each case a rise from a
medium vale (~2 or ~3) to a higher vale {~6 or ~10) followed
by a decline down to an exact 0.
This is not the sort of situation that the K-S test is for!
Hoping this helps,
Ted.
Thanks a lot for this reply 'a' is a simulated data while 'b' is empirical data. Other than correlation, how to check ressemblence between these two curve in terms of : Amplitude in each row 1...12 Evolution and variability from 1 to 12 Thanks ! Le lundi 10 d?cembre 2018, Ted Harding <ted.harding at wlandres.net> a ?crit :
On Mon, 2018-12-10 at 22:17 +0100, Fatma Ell wrote:
Dear all, I'm trying to use ks.test in order to compare two curve. I've 0 values i think this is why I have the follonwing warnings :impossible to calculate exact exact value with ex-aequos a=c(3.02040816326531, 7.95918367346939, 10.6162790697674,
4.64150943396226,
1.86538461538462, 1.125, 1.01020408163265, 1.2093023255814, 0.292452830188679, 0, 0, 0) b=c(2.30769230769231, 4.19252873563218, 5.81924882629108,
6.2248243559719,
5.02682926829268, 4.50728862973761, 3.61741424802111, 5.05479452054795, 3.68095238095238, 1.875, 5.25, 0) ks.test(a,b) data: a and b D = 0.58333, p-value = 0.0337 alternative hypothesis: two-sided Warning message: In ks.test(a, b) : impossible to calculate exact exact value with ex-aequos Does the p-value is correct ? Otherwise, how to solve this issue ? Thanks a lot.
The warning arises, not because you have "0" values as such, but because there are repeated values (which happen to be 0). The K-S test is designed for continuous random variables, for which the probability of repeated values is (theoretically) zero: theoretically, they can't happen.
From the help page ?ks.test :
"The presence of ties always generates a warning, since continuous
distributions do not generate them. If the ties arose from
rounding the tests may be approximately valid, but even modest
amounts of rounding can have a significant effect on the
calculated statistic."
in view of the fact that your sample 'a' has three zeros along with
nine other vauwes which are all different from 0 (and all *very*
different from 0 except for 0.292452830188679), along with the fact
that your sample 'b' has 11 values all *very* different from 0.
and pne finall value equal to 0; together also with the fact that
in each sample the '0' values occur at the end, stringly suggests
that the data source is not such that a K-D test is auitasble.
The K-S test is a non-parametric test for whether
a) a given sample comes from na given kind of distribiution;
or
v) two samples are drwn from the same distribition.
In either case, it is assumed that the sample values are drawn
independently of each other; if there is some reason why they
may not be independent of each other, the test os not valid.
You say "I'm trying to use ks.test in order to compare two curve".
When I ezecute
plot(a)
plot(b)
on your data, I see (approximately) in each case a rise from a
medium vale (~2 or ~3) to a higher vale {~6 or ~10) followed
by a decline down to an exact 0.
This is not the sort of situation that the K-S test is for!
Hoping this helps,
Ted.
"Other than correlation, how to check ressemblence between these two curve" (As Ted Indicated) Graph them... and look! There is nothing magical about statistics, which seems to be what you seek. Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Mon, Dec 10, 2018 at 3:36 PM Fatma Ell <fatma.msci at gmail.com> wrote:
Thanks a lot for this reply 'a' is a simulated data while 'b' is empirical data. Other than correlation, how to check ressemblence between these two curve in terms of : Amplitude in each row 1...12 Evolution and variability from 1 to 12 Thanks ! Le lundi 10 d?cembre 2018, Ted Harding <ted.harding at wlandres.net> a ?crit :
On Mon, 2018-12-10 at 22:17 +0100, Fatma Ell wrote:
Dear all, I'm trying to use ks.test in order to compare two curve. I've 0 values
i
think this is why I have the follonwing warnings :impossible to
calculate
exact exact value with ex-aequos a=c(3.02040816326531, 7.95918367346939, 10.6162790697674,
4.64150943396226,
1.86538461538462, 1.125, 1.01020408163265, 1.2093023255814, 0.292452830188679, 0, 0, 0) b=c(2.30769230769231, 4.19252873563218, 5.81924882629108,
6.2248243559719,
5.02682926829268, 4.50728862973761, 3.61741424802111, 5.05479452054795, 3.68095238095238, 1.875, 5.25, 0) ks.test(a,b) data: a and b D = 0.58333, p-value = 0.0337 alternative hypothesis: two-sided Warning message: In ks.test(a, b) : impossible to calculate exact exact value with ex-aequos Does the p-value is correct ? Otherwise, how to solve this issue ? Thanks a lot.
The warning arises, not because you have "0" values as such, but because there are repeated values (which happen to be 0). The K-S test is designed for continuous random variables, for which the probability of repeated values is (theoretically) zero: theoretically, they can't happen.
From the help page ?ks.test :
"The presence of ties always generates a warning, since continuous
distributions do not generate them. If the ties arose from
rounding the tests may be approximately valid, but even modest
amounts of rounding can have a significant effect on the
calculated statistic."
in view of the fact that your sample 'a' has three zeros along with
nine other vauwes which are all different from 0 (and all *very*
different from 0 except for 0.292452830188679), along with the fact
that your sample 'b' has 11 values all *very* different from 0.
and pne finall value equal to 0; together also with the fact that
in each sample the '0' values occur at the end, stringly suggests
that the data source is not such that a K-D test is auitasble.
The K-S test is a non-parametric test for whether
a) a given sample comes from na given kind of distribiution;
or
v) two samples are drwn from the same distribition.
In either case, it is assumed that the sample values are drawn
independently of each other; if there is some reason why they
may not be independent of each other, the test os not valid.
You say "I'm trying to use ks.test in order to compare two curve".
When I ezecute
plot(a)
plot(b)
on your data, I see (approximately) in each case a rise from a
medium vale (~2 or ~3) to a higher vale {~6 or ~10) followed
by a decline down to an exact 0.
This is not the sort of situation that the K-S test is for!
Hoping this helps,
Ted.
[[alternative HTML version deleted]]
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.