Discretizing the probability distribution
2 views (last 30 days)
Show older comments
I have a probability distribution f on [0,1]. I want to discretize f on (0,0.1,0.2,...1). I see
"What you could do instead, in order to approximate it to a discrete probability space, is to define some points (x_1, x_2, ..., x_n), and let their discrete probabilities be the integral of some range of the PDF (from your continuous probability distribution), that is P(x_1) = P(X \in (-infty, x_1_end)), P(x_2) = P(X \in (x_1_end, x_2_end)), ..., P(x_n) = P(X \in (x_(n-1)_end, +infty))"
Is there any implementation of this idea?
4 Comments
John D'Errico
on 26 Jul 2020
Edited: John D'Errico
on 26 Jul 2020
And what do you think your question asked? That is, it seems to be to find the points x1,x2,...
You don't recognize what was said there as locating the corresponding quantiles of that distribution?
If all you want to do is to find the probbilities for a fixed set of x_i, then all you need to do is compute the integral under the PDF, and this is given directly by the CDF. In any event, this is fairly easy to do.
Accepted Answer
Bruno Luong
on 26 Jul 2020
To generate 1D random variable with a prescribed continuous PDF, one need 2 things:
- able to integrate pdf (called cdf)
- able to invert it
If you know how to do 1 and 2, then problem solves.
If you know to do 1 and not 2, then you can use INTERPOLATION in place invertion, after selecting a set of intervals that cover the domain. I think using 'pchip' is the best since it preserves monotonic and also more accurate than the default 'LINEAR'.
If you don't know to do 1 and 2, but knowing evaluate PDF, then using cumulative sum, trapz rule, simpson rule to replace the continuous CDF by discrete sum, then do the interpolation as above.
In this thread I post some code for the later case. Feel free to modify the code, for example experiment with other interpolation method ('pchip') and integration method (replace cumsum with appropriate higher integration rule).
0 Comments
More Answers (0)
See Also
Categories
Find more on Special Functions 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!