0
$\begingroup$

I am trying to populate 100 data points (equal percentiles) from 5 data points. I have Minimum,median,maximum and standard deviation.

So the first of the 100 data points would be the minimum, and the last would be the maximum- so I am looking for the 98 percentile values in between.

enter image description here

If I graphed the the 100 percentile points which is the output data I am looking for it would look like this:

enter image description here

Any ideas?

$\endgroup$
3
  • 2
    $\begingroup$ This is in general a hard problem, since there are many possible solutions. Can you tell us some more about your data, some context? $\endgroup$ Commented Sep 20, 2019 at 6:32
  • $\begingroup$ User2974951 - here are a couple of other points of interest:the 10th percentile point is consistently 2.2XMin and the the 100th percentile point is approx 2x the 90th. Would that help in matching the data sets more precisely? $\endgroup$
    – KiteSurfer
    Commented Sep 21, 2019 at 21:19
  • $\begingroup$ Not much. Where are these figures coming from? $\endgroup$ Commented Sep 23, 2019 at 10:50

1 Answer 1

0
$\begingroup$

We can solve this by assuming some form for the graph. The computations may be easiest assuming that the graph of percentile points is piecewise linear.

Suppose the graph is the collection of line segments through the points $(0,0.560)$, $(0.5, 1.583)$, $(a, 3.000)$, $(b, 4.000)$, $(1, 6.660)$. This will automatically have the right minimum, maximum and median.

It is also easy to calculate the contributions of these regions to standard deviation, using a fact from calculus that if $y$ is a line segment from $(p_x,p_y)$ to $(q_x,q_y)$, then the integral of $y^2$ in that region is $(q_x-p_x)(p_y^2+p_y q_y+q_y^2)/3$.

So the requirements on the mean and mean-square of the population give

\begin{align} 1.793 = (0.5-0)&(0.560 + 1.583)/2\\ +\ (a-0.5)&(1.583+3.000)/2\\ +\ (b-a)&(3.000 + 4.000)/2\\ +\ (1-b)&(4.000 + 6.660)/2\\ \\ 1.793^2+0.948^2 = (0.5-0)&(0.560^2 + 0.560\ 1.583 + 1.583^2)/3\\ +\ (a-0.5)&(1.583^2 + 1.583 \ 3.000 + 3.000^2)/3\\ +\ (b-a)&(3.000^2 + 3.000 \ 4.000 + 4.000^2)/3\\ +\ (1-b)&(4.000^2 + 4.000 \ 6.660 + 6.660^2)/3 \end{align}

This has the solution $a=0.944, b=0.976$, which looks like this graph:

piecewise linear graph

We could similarly choose other shapes for the graph, or $y$ values other than $3.000$ and $4.000$ for the kinks in it. We can then determine the values of all the percentiles by interpolation from the corner points on the graph.

$\endgroup$
4
  • $\begingroup$ Matt, thank you. This is a good start- unfortunately I dont know much calculus... Would you be willing to consult for me and solve this problem. The shape of the curve is really important as I will be using the data points for a business purpose so I need to curves to match the data set exactly. The way I am doing it for the last 6 years is sort of sillyas I dont get an exact fit. $\endgroup$
    – KiteSurfer
    Commented Sep 19, 2019 at 21:57
  • $\begingroup$ my website with my contact info on it is: the dupont group . net $\endgroup$
    – KiteSurfer
    Commented Sep 19, 2019 at 22:09
  • 1
    $\begingroup$ This is a nice trick but for the OP: There is no sense in which you can match the dataset exactly with this information as several datasets are consistent with this summary. It is easy to see that many different curves go through (min, median, max) and knowing the mean and SD doesn't further identify the data uniquely. Compare also the comment from @user2974951. $\endgroup$
    – Nick Cox
    Commented Sep 20, 2019 at 12:01
  • $\begingroup$ Nick Cox and User2974951 - here are a couple of other points of interest:the 10th percentile point is consistently 2.2XMin and the the 100th percentile point is approx 2x the 90th. Would that help in matching the data sets more precisely? $\endgroup$
    – KiteSurfer
    Commented Sep 21, 2019 at 4:02

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.