1
$\begingroup$

For some analysis I have two input variables with some (unknown) probabilities distributions. Of both the input variables I know the (assumed) 10th, 50th and 90th percentile. I have some simple model based on (deterministic) logic that translates these two inputs to an output that I am interested in.

My question now: considering I use the 10th percentiles of those two input variables, and run these values through my model. Is my output now also the 10th percentile of its own probability distribution (which is a combination of the two distributions of the inputs I think)?

Above I wrote that the probability distribution of my input variables are unknown, which I could imagine makes it impossible to know what the percentile of the output variable is. Therefore I was wondering if it would be possible to determine the percentile of the output if we assume the inputs are normally distributed?

My current thought: it is impossible to determine this analytically (even in the case of assumed normality of the inputs), and it could be useful to apply simulation. That is, generate a thousand samples from the probability distributions of the two inputs (assuming they are independent) and run those samples through the model in order to find the approximated 10th percentile from the probability distribution of my output variable.

Let me know if anything is unclear, thanks for your thoughts!

$\endgroup$
2
  • $\begingroup$ Are you talking about some transformation of a variable? $$Y = f(X)$$ and wonder whether the quantile function transforms like $$Q_Y(p) = f(Q_X(p))$$ (This would be true for monotonic transformations) $\endgroup$ Commented Nov 27, 2020 at 10:58
  • $\begingroup$ @SextusEmpiricus Yes basically that is the case. But also considering I use a combination of two quantiles in this transformation. $\endgroup$
    – dubvice
    Commented Nov 27, 2020 at 11:21

2 Answers 2

2
$\begingroup$

My question now: considering I use the 10th percentiles of those two input variables, and run these values through my model. Is my output now also the 10th percentile of its own probability distribution (which is a combination of the two distributions of the inputs I think)?

No this is not generally true.

A counter example is the addition of two standard normal distributed variables

$$Z = X + Y \quad \text{where X,Y i.i.d. $\mathcal{N}$(0,1)}$$

Then we do not have that the quantile function follow the same formula

$$Q_Z(p) \neq Q_X(p) + Q_Y(p)$$

Instead,

$$Q_Z(p) = \frac{ Q_X(p) + Q_Y(p) }{\sqrt{2}}$$

(You can derive this by considering that the quantile function is a constant multiplied by the standard deviation, e.g. the 0.975-th quantile is 1.96 times the standard deviation. But $\sigma_Z = \sqrt{2}$ and $\sigma_X = \sigma_Z = 1$, so $\sigma_Z \neq \sigma_X+\sigma_Y$ and instead $\sigma_Z =(\sigma_X+\sigma_Y)/\sqrt{2}$)


When does it work?

The case when this idea works is when you think about a monotonic transformation of a variable $$Z = f(X)$$

where monotonic means $f(x_1) \leq f(x_2)$ if and only if $x_1 \leq x_2$.

Then the cumulative distribution functions have the following correspondence $$P[Z \leq f(a)] = P[f(X) \leq f(a)] = P[X \leq a] $$ and the quantile functions will be related as $$Q_Z(p) = Q_{f(X)}(p) = f(Q_X(p))$$


Methods to compute the distribution of the output

My current thought: it is impossible to determine this analytically (even in the case of assumed normality of the inputs), and it could be useful to apply simulation. That is, generate a thousand samples from the probability distributions of the two inputs (assuming they are independent) and run those samples through the model in order to find the approximated 10th percentile from the probability distribution of my output variable.

For some cases, you can derive the distribution of the output given the distribution of the input (like the example above), for some examples you can not. Using a Monte Carlo simulation to approximate the output is indeed a way out of this.

If you are dealing with input that has only a small variance then you can use some polynomial approximation such as the Delta method. These approximations work well if the variance is not too large. See for instance an example here for the computation of a fraction $X/(X+Y)$ which can be solved with the Delta method, but has also an analytical solution.

$\endgroup$
1
  • $\begingroup$ Thank you, nice detailed explanation :) $\endgroup$
    – dubvice
    Commented Nov 27, 2020 at 18:13
1
$\begingroup$

If you know the 50th percentile and assume normal distribution of the input, then you already know the mean value of that distribution. The standard deviation can be computed, knowing that the 90th and 10th percentile have a distance of 1.28 standard deviations from the mean. So, you have a completely defined normal distribution with these informations. You can use them to simulate the input in the programming language of your choice and use them as input to your analysis to get the outputs.

## R code:
input = rnorm(1000,mean,sd) ## 1000 cases with this mean and sd

## Python code
import random
input = []
for _ in range(1000):
    input.append(random.gauss(mean,sd))

$\endgroup$
2
  • $\begingroup$ And then I would simulate thousand outputs samples by running it through my model and use these samples to get an estimate of where the 15th percentile would lie? Instead of solving this question analytically (i.e. without using any simulation)? $\endgroup$
    – dubvice
    Commented Nov 27, 2020 at 11:24
  • 1
    $\begingroup$ Yes, that's the way I would do it. $\endgroup$ Commented Nov 27, 2020 at 12:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.