34 views (last 30 days)

Show older comments

I have a parameter z that has the following distribution:

z_distr = [...

0.9 0.0637 0.1349

0.8 0.0658 0.1298

0.7 0.068 0.1272

0.6 0.0701 0.1247

0.4 0.0723 0.1221

0.2 0.0745 0.1195

0.1 0.0766 0.1144];

with

z_distr(:,1); % probability of finding z between boundaries z_distr(:,2) and z_distr(:,3)

z follows a skewed distribution with the mode of z = 0.09395.

I need to be able to get random values according to the distribution of z.

background: z is a parameter related to the growth rate of an organism. To find inter-individual variability in growth, each individual has a different z value according to the above distribution.

Jeff Miller
on 23 Dec 2020

Sorry, I don't completely get it. In making the graph on the left, it seems like you generated 1000 "random" z values--one associated with each of the loss function values, so you could randomly select a z from the 900 of them associated with the lowest 900 values of the loss function, if that's what you want. What does the frequency distribution of these 900 z values look like? Is that the distribution you want to sample from?

I don't see the randomness in the graph on the right. Here, it seems like you fixed z values deterministically and then somehow directly computed the loss value associated with each one of them. I suppose you could select z values uniformly between 0.0637--0.1349, but it doesn't seem like you want all the z values to be equally likely.

Sorry I can't be more helpful.

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

Start Hunting!