The probability of a random number less than a specific value

x = RandomVariate[NormalDistribution[1, 3], 10^4];

If x are some random numbers like that, how to write the program about the probability of x<1.2, thanks very much

Here are two ways:

z = 1.2;

(* Estimate of Pr(X < z) *)
n = 10^4;
x = RandomVariate[NormalDistribution[1, 3], n];
N[Count[x, x_ /; x < z]/n]
N[Length[Select[x, # < z &]]/n]

Thank you, It helps me a lot. LOL

From your response I’m not convinced I answered your question. How to estimate (or calculate) Pr(X < z) depends on what you know and whether you are a Frequentist or a Bayesian. Here is an expansion on some possibilities if you are a Frequentist:

(* Generate a sample dataset *)
n = 10^4;
x = RandomVariate[NormalDistribution[1, 3], n];

(* Objective is to estimate Pr(X < z) with z=1.2 *);
z = 1.2;

(* Estimate of Pr(X < z) if all you know is that you have a simple \
random sample of size n from some unknown distribution *)
N[Count[x, x_ /; x < z]/n]
N[Length[Select[x, # < z &]]/n]

(* Calculation (rather than estimation) of Pr(X < z) if you know that \
you are sampling from a normal distribution with mean 1 and standard \
deviation 3 *)
CDF[NormalDistribution[1, 3], z]

(* Estimate of Pr(X < z) if all you know is that you have a simple \
random sample from a normal distribution with unknown mean and \
unknown standard deviation *)
CDF[NormalDistribution[Mean[x], StandardDeviation[x]], z]

0.5295

0.5295

0.526576

0.524444

There is also the new (i.e. MMA10.1) function FindDistribution.

n = 10^4;
data = RandomVariate[NormalDistribution[1, 3], n];
z = 1.2;
\[ScriptCapitalD] = FindDistribution[data];
NProbability[x <= z, x \[Distributed] \[ScriptCapitalD]]
(*0.529283*)

Cheers,

Marco

Very nice, Marco!

For this particular example (10^4 samples from a normal distribution with mean 1 and standard deviation 3 and z = 1.2) the FindDistribution approach results in a smaller root mean square error for the estimator of Pr(X < z) than the naïve count approach and is almost as good as knowing that the distribution is normal. Here are the root mean square errors I found using 1,000 simulations:

 0.0041996  for the FindDistribution approach

 0.0048878  for the naïve count approach

 0.0039955  for the "knowing the distribution is normal but not the mean and standard deviation" approach.

Of course, depending on the distribution, the parameters of the distribution, the sample size, and the value of z, your mileage may vary.