Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I randomly draw numbers according to the probability mass function (PMF) $X$ in which all negative values have probability zero. Each value that is drawn from $X$ can be thought of the lifespan of one individual. I'd like to know what is the expected population size (number of existing individuals).

Note: We can assume that we are interested in the expected population size a long enough time after the start of the experiment so that the lifespan the individuals in the initial population can be safely ignored.

For example, I draw from $X$: [2,0,0,1,3,2,1,1]

Let's assume an initial population size of 0. If we call $Y$ the random variable (PMF) of the number of individuals in the population, then the observations according to the random variable $Y$ (population size) are [1,1,0,1,1,2,3,1]

Given the PMF of $X$: [0.25,0.25,0.15,0.1,0.05,0.1,0.1] for the values [0,1,2,3,4,5,6]. The cumulative PMF of $X$ is [0.25 0.50 0.65 0.75 0.80 0.90 1.00]

- What is expected value of $Y$ (the mean population size)?

- What is the PMF of $Y$ (the mean population size)?

Note: I know that having a population size of 0 at a given time step and a population size greater than zero at the following time step is not biologically realistic.

I didn't really know how to tackle this problem so I started with a very simple computer simulation hoping that I could find the solution from empirical data! I get lost because the function that maps $X$ to $Y$ does not seem to be a standard function but instead it depends on past outcomes of $X$

Here is the program (coded in R):

# Parameters
values = 0:6
proba = c(0.25,0.25,0.15,0.1,0.05,0.1,0.1)

CumulProba = cumsum(proba)
expected = 0
for (i in 1:length(values)){
    expected = expected + values[i] * proba[i]

# Create observations from X
X = c()
for (i in 1:5000){
    n = runif(1,0,1)
    for (j in 1:length(CumulProba)){
        if (n < CumulProba[j]){
            X = append(X, values[j])

# Create the variable observation according to Y
Y = c()
for (i in 1:length(X)){
    n = 0 
    for (j in 0:6){
        if (i <= j){break}
        if (X[i-j] > j){n = n + 1}
    Y = append(Y, n)

# print some results
share|cite|improve this question
What was the output of the program? – jazzwhiz Feb 22 '14 at 2:18
up vote 0 down vote accepted

We first note that $Y(t)$ only depends on $X(t-5)$ through $X(t)$. Then we have $$Y(t)=\sum_{i=0}^5 \begin{cases} 1\qquad&X(t-i)>i\\ 0&\text{else} \end{cases}$$ Then we have the following $P(X>5)=0.1$, $P(X>4)=0.2$, $P(X>3)=0.25$, $P(X>2)=0.35$, $P(X>1)=0.5$, and $P(X>0)=0.75$. Since the $X(t)$ are independent, $$E[Y(t>5)]=\sum_{i=0}^5P(X>i)=2.15$$ For early values just reduce the sum as appropriate. Hopefully this agrees with your computer program.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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