[R] density estimation: compute sum(value * probability) for given distribution

Liaw, Andy andy_liaw at merck.com
Sat Nov 13 14:11:45 CET 2004


First thing you probably should realize is that density is _not_
probability.  A probability density function _integrates_ to one, not _sum_
to one.  If X is an absolutely continuous RV with density f, then Pr(X=x)=0
for all x, and Pr(a < X < b) = \int_a^b f(x) dx.

sum x*Pr(X=x) (over all possible values of x) for a discrete distribution is
just the expectation, or mean, of the distribution.  The expectation for a
continuous distribution is \int x f(x) dx, where the integral is over the
support of f.  This is all elementary math stat that you can find in any
textbook.

Could you tell us exactly what you are trying to compute, or why you're
computing it?

HTH,
Andy

> From: bogdan romocea
> 
> Dear R users,
> 
> This is a KDE beginner's question. 
> I have this distribution:
> > length(cap)
> [1] 200
> > summary(cap)
>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
>   459.9   802.3   991.6  1066.0  1242.0  2382.0 
> I need to compute the sum of the values times their probability of
> occurence.
> 
> The graph is fine,
> den <- density(cap, from=min(cap), 
>        to=max(cap), give.Rkern=F)
> plot(den)
> 
> However, how do I compute sum(values*probabilities)? The
> probabilities produced by the density function sum to only 26%: 
> > sum(den$y)
> [1] 0.2611142
> 
> Would it perhaps be ok to simply do
> > sum(den$x*den$y) * (1/sum(den$y))
> [1] 1073.22
> ?
> 
> Thank you,
> b.
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html
> 
>




More information about the R-help mailing list