3
>> x = [randn(30,1); 5+randn(30,1)];
>> [f,xi] = ksdensity(x);
>> sum(f)

ans =

    5.5376

I ran the ksdensity function in MATLAB above. After getting the density values, I summed them up. I've got 5.5376, but I expected 1. What am I missing here? Is there any good introductory book that explains the mechanics of the kernel density estimation in line with the ksdensity function?

gung - Reinstate Monica
  • 132,789
  • 81
  • 357
  • 650
Bill TP
  • 161
  • 1
  • 4
  • This question seems to come down to a misunderstanding of densities, which is addressed at http://stats.stackexchange.com/questions/4220. Does that solve your problem? – whuber Oct 06 '14 at 23:32
  • Thank you very much, whuber. Confusing, but I will dig in. – Bill TP Oct 06 '14 at 23:44
  • You appear to be summing the height of the density at some collection of values. Why would that sum to 1? – Glen_b Oct 07 '14 at 01:55

1 Answers1

6

it integrates to one, not sums to one.

trapz(xi, f) should return something close to 1.

Memming
  • 1,570
  • 12
  • 23