# how can I effectively compute expected value by histogram approximation of probability desnsity function

20 views (last 30 days)
Michal on 22 Oct 2019
Commented: the cyclist on 22 Oct 2019
What is the proper way to compute effectively (fast) the expected value E(x) in a case when I have approximation of probability desity function f(x) by probability normalized histogram?
Is there (FEX) any code available?
##### 2 CommentsShowHide 1 older comment
Michal on 22 Oct 2019
Edited: Michal on 22 Oct 2019
It is structure of discrete values similar to matlab histogram object.

the cyclist on 22 Oct 2019
There might be some nuances in the numerical integration, but here is the basic idea. You need to approximate the integral of x over the pdf.
% For reproducibility
rng default
% Simulated data -- normal centered on x=5.
N = 1000000;
x = 5 + randn(N,1);
% Get the probability density function. (You have these values already?)
[pdf_x,xi] = ksdensity(x);
% The bin width. (In this case, they are all equal, so I just take the first one.)
dx = xi(2) - xi(1);
% Calculate the total probability. (It should be 1.)
total_probability = sum(pdf_x*dx)
% Calculate the mean, which is the expected value of x.
mean_x = sum(xi.*pdf_x*dx)
the cyclist on 22 Oct 2019
You might be able to use the trapz function.

### Categories

Find more on Piecewise Linear Distribution in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by