# Estimate distribution from 4 quantiles

I would like to estimate the percent of freshmen at a particular university who have each possible ACT score.

I know that ACT scores can only be integers 36 or lower and, for a particular school, I know that:

• 75% of freshmen have a 33 or lower
• 25% <= 31
• 13% <= 29
• 1% <= 23

What family of distribution is appropriate given the discrete values that max out at 36?

How should I go about coming up with a reasonable distribution?

(My first question; please be gentle.)

• A few quantiles don't pin a distribution down very much. An infinity of distributions will match all these conditions, and may lead to quite different answers to other questions. What would this choice be used to do? – Glen_b Oct 21 '17 at 21:45

According to the principle of maximum entropy, the best approach to this kind of problem would be to choose the probability distribution that

2. has maximum entropy.

From the Wikipedia article:

The principle of maximum entropy states that the probability distribution which best represents the current state of knowledge is the one with largest entropy, in the context of precisely stated prior data (such as a proposition that expresses testable information).

Take precisely stated prior data or testable information about a probability distribution function. Consider the set of all trial probability distributions that would encode the prior data. According to this principle, the distribution with maximal information entropy is the proper one.

If you agree with this principle, then the question becomes:

How do I find that distribution?

Well, the cumulative distribution has 36 - 4 - 1 = 31 free parameters. (4 constraints plus the normalisation).

I believe the distribution with maximum entropy would be such that each score from 1 to 23 would be equally probable. Since they must sum up to 1%, this number would be 1%/23. Then the scores from 24 to 29 would be 12%/5 and so on. (It's worth checking this numerically).

So, what the principle is suggesting is that you should interpolate your cumulative distribution with straight lines.

Maybe that's good enough, but you might believe that your distribution should be smoother (the poor principle did not know about that!).

So, to conclude, I believe that some polynomial fitting algorithm would do a slightly better job at guessing the correct cumulative distribution.

EDIT:

After reading the comments, I believe there is a better approach to this problem.

It turns out that we actually know that the originally scores are normally distributed, with mean 5 and std 20. The solution I proposed, did not know about that. How to include this information?

Here is an acceptance-rejection method, which is basically the Wallis derivation of the principle.

One can generate a fairly large sample from the normal distribution. Then you consider the sample "good" is it's close enough to your 4 quantiles, otherwise you discard it. When you have collected enough "good" samples, those will give you the best possible guess for your distribution according to the maximum entropy principle.

• Your conclusions are implausible in light of how score distributions are known to behave. That doesn't mean your reasoning is wrong, but it does imply there are ways to exploit other knowledge people have about test scores. Maximum entropy may be useful when you literally know nothing else besides a set of constraints on the distribution. – whuber Oct 22 '17 at 16:45
• I agree. In fact I added a commend to Peter Flom's answer, with a more valid approach, I think (it might be computationally slow, though). It's a acceptance-rejection method, which is basically the Wallis derivation of the principle. – AndreaL Oct 23 '17 at 12:18

I think you have to assume some sort of distribution. It seems reasonable to assume that ACT ability is normally distributed (that's a good guess as to the distribution of a variable like this) but yours is clearly truncated. That is, you've got too many scores at the top and the ACT is too easy a test to accurately distinguish a lot of the students. And the results are rounded.

You can do this with the truncnorm package in R. It requires the mean, sd, and upper and lower cutoffs. The mean should be the same as the median (32) but you'll have to play around with the sd to get approximately the right distribution. Here's a start on such a program:

install.packages("truncnorm")
library(truncnorm)

set.seed(1234)
roundset1 <- round(rtruncnorm(1000, 0, 36, 32, 1),0)
table(roundset1)
sum(roundset1 < 33)
sum(roundset1 < 31)
sum(roundset1 < 29)
sum(roundset1 < 23)


However, I played around with this a bit and did not find anything close to your desired distribution, so maybe it isn't normal after all.

In addition, any attempt at estimating the lower ACT scores will require a huge sample size. Even at the largest universities, most of those scores will have no people.

EDIT: The comment says the mean ACT is 20 and sd 5 for the whole population of test takers and that it's normally distributed. Now, your school is clearly way above average. So, first, let's generate a large sample with mean 20 and sd 5, then take samples the size of your college class that are random samples from a specific portion of the sorted version of that class. Let's say there are 1,000 people in your class, then something like this:

set.seed(1234)

pop <- rnorm(100000, 20, 5)

sortpop <- sort(pop, decreasing = TRUE)
subset1 <- round(sortpop[1:3000],0)  #play with 1 and 3000
class <- sample(subset1, 1000)

table(class)
sum(class < 33)   #Want 750
sum(class < 31)   #Want 250
sum(class < 29)   #Want 130
sum(class < 23)   #Want 10


You might have to pick a non-random sample from the population.

• The national mean ACT is about 20 and standard deviation about 5. Normally distributed. The distributions for schools in the middle seem to follow a normal distribution. But I'm having trouble with schools near the top of the range. – 2nd career data science Oct 21 '17 at 21:45
• OK, that gives me an idea, I will edit my answer – Peter Flom Oct 21 '17 at 21:47
• I hadn't been thinking in terms of simulating the admission process. But here is more data: assume 1,500,000 students take ACT (with score distribution given earlier) (actually they take the ACT and/or SAT, but let's fold them all together). 35,100 apply to the school in question-- presumably skewed high. 3743 applicants are admitted -- again presumably skewed toward the high end of the pool. 2158 of those enroll as freshmen, giving the quantiles in the original question. My intuition is these would not skew high but instead be random or maybe even skew low for all but top schools. – 2nd career data science Oct 21 '17 at 22:55
• You can generate a sample of 35,100 number from the normal distribution with mean 5 and std 20. Then you consider the sample "good" is it's close enough to your 4 quantiles, otherwise you discard it. When you have collected enough "good" samples, those will give you the best possible guess for your distribution according to the maximum entropy principle: if you are interested, this is the Wallis derivation of the principle. Described here: en.wikipedia.org/wiki/Principle_of_maximum_entropy – AndreaL Oct 21 '17 at 23:02
• (1) It doesn't seem reasonable to model ACT scores at top schools and bottom schools as Normal; because of the selection process that occurs, a better approach might be to model them as some form of extreme-value distributions. (Even this is not realistic: varying admissions criteria used by many schools--think sports recruiting--ought to result in clear mixtures of score distributions.) (2) I believe you meant to write "censored" rather than "truncated." Truncation would be tantamount to students who otherwise would get scores above 36 (if that were possible) not to matriculate at all! – whuber Oct 22 '17 at 16:41