Why does (bivariate) ksdensity() return decreasing cdf values?

1 view (last 30 days)
Hi guys,
I encountered decreasing values of the estimated cumulative distribution function when using ksdensity. I think this should not be possible, since F(x1,x2) is defined to be non-decreasing (see e.g. https://en.wikipedia.org/wiki/Cumulative_distribution_function#Multivariate_case). Why can ksdensity return decreasing values?
This is a minimum code example:
rng default % for reproducibility
x = [0+.5*rand(20,1) 5+2.5*rand(20,1);
.75+.25*rand(10,1) 8.75+1.25*rand(10,1)];
[F,xi] = ksdensity(x,'function','cdf');
figure
ksdensity(x,xi,'function','cdf');
xlabel('x1');
ylabel('x2');
zlabel('F(x1,x2)');
title({'Problem: Decreasing cumulative distribution function', ...
'e.g. F(x1=0,x2=11) > F(x1=0,x2=13)'});
Which plots this:

Accepted Answer

Oskar Adolfson
Oskar Adolfson on 28 Nov 2017
Edited: Oskar Adolfson on 28 Nov 2017
This is a known bug which was fixed in the R2017b MATLAB version. Anyone using R2017b or newer versions shouldn't encounter this problem anymore.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!