Population Ecology, pt 2:

Structured populations

Potential hurricane

  • Stay alert for notifications from LSU about campus closure

  • Depending on the status of the weather, might switch class to an online format on Wednesday

  • (Will make the final call by Tuesday night)

Logistics Reminders

  • Biweekly activity due on Sunday night
  • Also by Sunday, return to your first weekly reflection on Moodle and leave a comment grading yourself out of 10 points:

Schematic for grading self-reflections

10 points: Deeply engaged with one or more of the reflection prompts (or other topics of your own choosing). Deep engagement could mean that you connected ideas from class to activities or observations outside, identified ideas or skills that you were finding difficult and contemplated potential ways of resolution, etc.

8 points: Engaged with the reflection prompts, but only in a cursory way. Did not go “beneath the surface” of any topic, rather just wrote down the first set of ideas that came to mind about the topic at hand.

6 points: Completed a submission that roughly counts as a progress update, but made no attempt to reflect on your learning, either in this course or outside of this course.

4 points: Made half an attempt at completing a submission.

0 points: Did not submit.

Stage structured populations

Think back to the assumptions made in the simple exponential model of population growth (\(\frac{dN}{dt} = rN\)).

  • Which assumption(s) are we relaxing when accounting for age/stage structure in populations?

Monarch butterflies are migratory species that spend the North American winter in southwestern Mexico, and return to the US and Canada to breed during the summer months.

  • The dynamics of these butterflies during the summer months is as follows (estimates from Hunt & Tongan 2017):

  • Each female adult butterfly can lay up to \(45\) viable eggs, of which only \(3.4\%\) survive to the chrysalis stage. Eggs that make it to the chrysalis stage survive into the adult stage at rate of \(85\%\), and adults have a survival rate of \(25\%\).

  • Your task : Draw the life transition diagram and write the transition matrix for the monarch butterfly.

  • Consider a species whose life cycle is described by the following matrix:

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

Draw a life transition diagram representing this matrix

Consider a species of fish whose individuals live for 3 years (age classes 0, 1, 2, and 3). Newborn fish have a \(30\%\) survival rate to year 1; year 1 fish have a \(80\%\) survival rate to year 2; year 2 fish have a \(50\%\) survival rate to year 3; and all fish die in their third year.

Newborn fish are sexually immature and cannot give birth. Year 1 fish can give birth to \(1\) newborn per year; Year 2 fish can give birth to \(8\) newborns per year; and Year 3 fish can only give birth to \(0.5\) newborns per year.

Structure of transition matrices

For a population with \(n\) stages, we can capture the demographic transitions in an \(n\mathrm{-by-}n\) matrix.

  • Each element captures the contribution from the current column, to the current row.
    • The top row always reflects new births
    • The first (leftmost) column reflects the youngest individuals
    • The last (rightmost) column reflects the oldest individuals

The value of a transition matrix

  • The product of the current population distribution and the transition matrix tells you the future population distribution

The value of a transition matrix

  • From our worked example, recall the transition matrix

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

  • At time \(t=0\), the population has \(52\) individuals in stage 0, \(10\) in stage 1, \(15\) in stage 2, and \(30\) in stage 3.

  • What is the expected distribution of individuals at \(t=1\)?

The value of a transition matrix

Matrix product of the transition matrix and the current distrubition:

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \times \begin{bmatrix} 52 \\ 10 \\ 16 \\ 30 \end{bmatrix} \]

The value of a transition matrix

Matrix product of the transition matrix and the current distrubition:

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \times \begin{bmatrix} 52 \\ 10 \\ 16 \\ 30 \end{bmatrix} = \begin{bmatrix} 153 \\ 15 \\ 8 \\ 8 \end{bmatrix} \]

The value of a transition matrix

For timestep \(2\):

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \times \begin{bmatrix} 153 \\ 15 \\ 8 \\ 8 \end{bmatrix} \]

The value of a transition matrix

For timestep \(2\):

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \times \begin{bmatrix} 153 \\ 15 \\ 8 \\ 8 \end{bmatrix} = \begin{bmatrix} 83 \\ 45.9 \\ 12 \\ 4 \end{bmatrix} \]

The value of a transition matrix

For timestep \(3\):

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \times \begin{bmatrix} 83 \\ 45.9 \\ 12 \\ 4 \end{bmatrix} = \dots \]

The value of a transition matrix

  • We can keep iterating over and over (and over), or….
  • Calculate the \(\mathrm{eigenvalue}\) of the transition matrix
  • The dominant eigenvalue reflects the long-term growth rate.

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \xrightarrow[]{\text{Eigenvalue}} 1.33 \]

The value of a transition matrix

  • The dominant Eigenvalue represents the expected long-term annual growth rate (\(\lambda\))
  • Populations grow when \(\lambda \gt 1\)
  • Populations shrink when \(\lambda \lt 1\)
  • Population size is stable when \(\lambda = 1\)

For more on what Eigenvalues are…

What happens when transition rates change?

  • Let’s return to our previous fish example. In normal conditions, newborn fish have a \(30\%\) survival rate to year 1; year 1 fish have a \(80\%\) survival rate to year 2; year 2 fish have a \(50\%\) survival rate to year 3; and all fish die in their third year.

  • An extreme heat event causes newborn survival rates to plummet to \(0%\) in a given year. What are the consequences for the population?

What happens when transition rates change?

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 \to 0 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

What happens when transition rates change?

  • What if instead, the extreme heat event only reduced newborn survival from \(30%\) to \(20\%\)?

  • Or if newborn rates were unaffected, but survival from year 1 to 2 was reduced from \(80\%\) to \(70\%\)?

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 \to 0.2 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 \to 0.2 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \Rightarrow \lambda = 1.15 \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 \to 0.7 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 \to 0.7 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \Rightarrow \lambda = 1.28 \]

The value of a transition matrix

How is the growth rate affected by particular transitions?

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 \to 0.2 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \Rightarrow \lambda = 1.15 \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 \to 0.7 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \Rightarrow \lambda = 1.28 \]

We can go through each entry one-by-one and identify critical transitions (Sensitivity analysis)

But there is a problem…

Elasticity analysis

Quantify the effects of proportional changes

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 \to 0.27 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 \to 0.72 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

Elasticity analysis

Quantify the effects of proportional changes

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 \to 0.27 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \Rightarrow \lambda=1.28 \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 \to 0.72 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \Rightarrow \lambda = 1.29 \]

Structured populations, con’t.
Population dynamics of red cockaded woodpeckers

Figure 1: Some common woodpeckers around Baton Rouge (photos from All About Birds)

Red cockaded woodpeckers: an uncommon (near threatened) species

Causes for the decline

From Ziegler & Walter 2014, in Ecological Applications

The Red Cockaded Woodpecker is an endangered species endemic to fire dependent longleaf pine ecosystems in the southeastern United States. Primary threats to the species include a lack of suitable cavity trees, habitat fragmentation, and fire suppression that results in hardwood midstory encroachment and the declining suitability of foraging habitat.

Preferred habitat for the species consists of mature, open pine forest with large trees, sparse midstory, and a lush herbaceous ground cover, conditions primarily maintained through frequent, low-intensity ground fires. Old pines are an especially important part of RCW ecology because RCWs construct cavities in living trees, and heartwood diameter is a function of age. Cavity construction is difficult and time intensive, and RCW groups will defend and use the same cavity trees for many years

Photo by Gaurav Kandlikar near Abita Springs

How to build a matrix population model for RCW?

Question 1: What are the stages?

RCWs are territorial and cooperatively breeding with a complex social structure.

Groups are composed of a monogamous breeding pair and non-breeding helpers.

Fledglings either remain on the natal territory as helpers or disperse

Almost all females disperse in either the fall or spring following fledging and ultimately obtain breeding positions if they survive, although they may act as floaters before acquiring a breeding opportunity.

Substantial numbers of male fledglings stay as helpers, and those that survive ultimately inherit the breeding position in their natal territory or fill breeding vacancies in neighboring territories. Other male fledglings disperse to either become breeders, solitary males, floaters, or (to a lesser extent) helpers in another territory

So… what are the stages? It’s complex!

So… what are the stages? It’s complex!

Banded individuals were classified according to age and stage class each year, with potential stage classes including fledglings, individuals <1 year old; breeders, males and females that occupy a territory and have the potential to produce offspring; helpers, nonbreeding adults that are part of the social group and assist breeders; solitary males, adult males that maintain a territory but are unpaired and do not breed; and floaters, adults without territories that do not breed

Question 2: What are the transition rates and reproduction rates?

Question 3: How to put these together into a matrix?

As in Heppell et al. (1994), matrices were constructed in this study as male-only models because, unlike females, males almost exclusively comprise the helper class and can hold territories despite being unpaired

In fact, the authors made lots of different models, each of which captures different amounts of biological detail about the species and its biology.

Which model to choose?

Takeaways

  • Matrix population models as important tools for conservation and restoration

  • Importance of comparing models that incorporate different aspects of a species’ biology

  • Importance (and difficulty!) of collecting field data

  • Integrating data with models enables predictions

Stay safe!

Population ecology
Transition matrix wrapup

Logistics/Reminders

  • Activity due on Sunday…

    • or is it?
  • Return to last week’s reflection and leave your self-reported grade+justification as a comment on moodle

  • Next Sunday (22 Sept): Self Reflection due; Also, first submission for semester project

How did we get to matrix models?

  • Began with an exploration of how populations grow:

\[N_{t+1} = N_t + B - D + I - E\]

  • Closed population, meaning \(I = E = 0\). Only births and deaths change population size.

  • If we assume constant and uniform rates of birth and death, we got simple exponential growth

\[\frac{dN}{dt} = rN\]

Key assumptions of the exponential growth model

  • No immigration or emigration (Closed population)

  • Constant birth and death rate (\(b\) and \(d\) don’t vary with \(N\))

  • No variation within population (all individuals have similar \(b\) and \(d\))

    • This implies that \(b\) and \(d\) don’t vary with age or stage
  • Continuous population growth without time lags
    (e.g. no seasonality)

Structured populations

  • What if we consider “structured” populations in which birth rates and mortality rates vary across ages or stages?

\[ \begin{bmatrix} ~ & ~ & ~ & ~ & ~& ~ & ~ \\ ~ & ~ & ~ & ~ & ~& ~ & ~ \\ ~ & ~ & ~ & ~ & ~& ~ & ~ \\ ~ & ~ & ~ & ~ & ~& ~ & ~ \\ ~ & ~ & ~ & ~ & ~& ~ & ~ \\ ~ & ~ & ~ & ~ & ~& ~ & ~ \end{bmatrix} \]

  • For a population with \(n\) stages, \(n-\text{by}-n\) matrix.

  • First row represents births

  • All other cells represent transition from the stage represented by \(n\)th column, to stage represented by \(n\)th row.

What does population growth look like?

  • Recall the predictions from the exponential model (\(\frac{dN}{dt} = rN\)):

What does population growth look like

  • A few features we can expect for structured population growth:

  • Discrete time steps (\(N_t\), \(N_{t+1}\), \(N_{t+2}\), …)

  • Different trajectories for each stage (e.g. \(N_{\text{eggs}}\), \(N_{\text{juveniles}}\), etc.)

  • Recall that population growth rate given by \(\lambda\), which is the matrix’s eigenvalue.

    • Population expected to grow if \(\lambda > 1\), or shrink if \(\lambda < 1\).

Plotting population growth over time

For this exercise, we return to a population that we’ve worked with a few times now

  • Consider a species of fish whose individuals live for 3 years (age classes 0, 1, 2, and 3). Newborn fish have a \(30\%\) survival rate to year 1; year 1 fish have a \(80\%\) survival rate to year 2; year 2 fish have a \(50\%\) survival rate to year 3; and all fish die in their third year.

  • Newborn fish are sexually immature and cannot give birth. Year 1 fish can give birth to \(1\) newborn per year; Year 2 fish can give birth to \(8\) newborns per year; and Year 3 fish can only give birth to \(0.5\) newborns per year.

  • Step 1: Draw the life transition diagram and matrix

  • Step 2: Write the transition matrix

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

  • Eigenvalue analysis of the matrix tells us long-term growth rate

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \xrightarrow[]{\text{Eigenvalue}} 1.33 \]

How do we actually do this work?

  • Using R to work with structured populations
fish <- matrix(c(0,   1,   8,   0.5,
                 0.3, 0,   0,   0,
                 0,   0.8, 0,   0,
                 0,   0,   0.5, 0), 
            byrow = T, ncol = 4, 
            dimnames = list(c("Age 0", "Age 1", "Age 2", "Age 3"), 
                            c("Age 0", "Age 1", "Age 2", "Age 3")))

print(fish)
      Age 0 Age 1 Age 2 Age 3
Age 0   0.0   1.0   8.0   0.5
Age 1   0.3   0.0   0.0   0.0
Age 2   0.0   0.8   0.0   0.0
Age 3   0.0   0.0   0.5   0.0


eigen(fish)$values[1]
[1] 1.332273+0i

Projecting population sizes over time

  • At time \(t=0\), the population has \(52\) individuals in stage 0, \(10\) in stage 1, \(15\) in stage 2, and \(30\) in stage 3.

  • The matrix product of [50, 10, 15, 30] and the transition matrix predicts next year’s population

year_0 <- c(50,10,15,30)

year_1 <- fish %*% year_0

print(year_1)
       [,1]
Age 0 145.0
Age 1  15.0
Age 2   8.0
Age 3   7.5
year_2 <- fish %*% year_1
print(year_2)
       [,1]
Age 0 82.75
Age 1 43.50
Age 2 12.00
Age 3  4.00
year_3 <- fish %*% year_2
print(year_3)
         [,1]
Age 0 141.500
Age 1  24.825
Age 2  34.800
Age 3   6.000

Writing a loop to do this for many years

n_years <- 20 # Number of years into the future to run the predictions
year_0 <- c(50,10,15,30) # Current population size
fish <- matrix(c(0,   1,   8,   0.5, # Stage transition matrix
                 0.3, 0,   0,   0,
                 0,   0.8, 0,   0,
                 0,   0,   0.5, 0), 
            byrow = T, ncol = 4, 
            dimnames = list(c("Age 0", "Age 1", "Age 2", "Age 3"), 
                            c("Age 0", "Age 1", "Age 2", "Age 3")))

# Run the model
projections <- matrix(nrow = length(year_0), ncol = n_years+1)
projections[,1] <- year_0
for(current_year in 1:n_years) {
  projections[,current_year+1] <- fish %*% projections[,current_year]
}
colnames(projections) = paste0(0:n_years)
rownames(projections) = paste0("age",0:3)
print(projections)
      0     1     2       3       4        5        6        7        8
age0 50 145.0 82.75 141.500 306.225 210.0300 368.5125 659.4510 532.1848
age1 10  15.0 43.50  24.825  42.450  91.8675  63.0090 110.5537 197.8353
age2 15   8.0 12.00  34.800  19.860  33.9600  73.4940  50.4072  88.4430
age3 30   7.5  4.00   6.000  17.400   9.9300  16.9800  36.7470  25.2036
            9         10         11        12        13        14        15
age0 917.9811 1447.91213 1336.75630 2228.8284 3236.0970 3322.0954 5330.3851
age1 159.6555  275.39433  434.37364  401.0269  668.6485  970.8291  996.6286
age2 158.2682  127.72436  220.31546  347.4989  320.8215  534.9188  776.6633
age3  44.2215   79.13412   63.86218  110.1577  173.7495  160.4108  267.4594
            16        17         18         19         20
age0 7343.6646 8171.7044 12636.7645 16871.1705 19921.3218
age1 1599.1155 2203.0994  2451.5113  3791.0293  5061.3512
age2  797.3029 1279.2924  1762.4795  1961.2091  3032.8235
age3  388.3316  398.6514   639.6462   881.2398   980.6045

Plotting population trajectories

plot_trajectory <- 
  as_tibble(projections) |> 
  mutate(age = rownames(projections)) |> 
  pivot_longer(`0`:`20`) |> 
  ggplot(aes(x = as.numeric(name), y = value, color = age)) +
  geom_point(size = 3, color = "black") + 
  geom_point(size = 2) + 
  geom_line() + 
  xlab("Year") + ylab("Population size") + 
  scale_color_manual(values = c("#FB938F", "#F2CAC8", "#C36B85", "#FDBB75")) + 
  theme_classic()

plot_trajectory

Implications

  • “Unbounded” growth over time
  • Over very long timescales, we effectively get an “exponential-type” growth
  • (Technically called “geometric” growth)

Value of transition matrices

  • What happens if environmental change affects the survival or reproductive rates?

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ \boxed{0.3 \to 0.2} & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \]

Small changes with (potentially) big effects

  • How sensitive is overall population growth (\(\lambda\)) to changes in each parameter?
    • e.g. If we are conserving species, is it more useful to increase survival from age 0 to age 1 by 0.1, or to increase survival from age 2 to age 3 by 0.1?
  • Sensitivity analysis

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ \boxed{0.3 \to 0.4} & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \xrightarrow[]{\text{Eigenvalue}} \boxed{1.332 \to 1.471} \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & \boxed{0.5 \to 0.6} & 0 \end{bmatrix} \xrightarrow[]{\text{Eigenvalue}} \boxed{1.332 \to 1.334} \]

Small changes with (potentially) big effects

  • Sensitivity analysis can be difficult to interpret from a management perspective

  • Is it as easy to increase age 0 survival by 0.1, as it is to increase age 2 survival?

  • Perhaps more “fair” to compare a percentage increase:

  • Better to increase age 0 survival by 10%, or age 2 survival by 10%?

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ \boxed{0.3 \to 0.33} & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & 0.5 & 0 \end{bmatrix} \xrightarrow[]{\text{Eigenvalue}} \boxed{1.332 \to 1.377} \]

\[ \begin{bmatrix} 0 & 1 & 8 & 0.5 \\ 0.3 & 0 & 0 & 0 \\ 0 & 0.8 & 0 & 0 \\ 0 & 0 & \boxed{0.5 \to 0.55} & 0 \end{bmatrix} \xrightarrow[]{\text{Eigenvalue}} \boxed{1.332 \to 1.333} \]

Small changes with (potentially) big effects

  • Whichever transition has the biggest effect on long-term growth rate (\(\lambda\)) is said to have highest elasticity.

Next week

Recall the assumptions of exponential growth

Key assumptions of the exponential growth model

  • No immigration or emigration (Closed population)

  • Constant birth and death rate (\(b\) and \(d\) don’t vary with \(N\))

  • No variation within population (all individuals have similar \(b\) and \(d\))

    • This implies that \(b\) and \(d\) don’t vary with age or stage
  • Continuous population growth without time lags
    (e.g. no seasonality)

Next week

  • What if birth and death rates are not constant, but vary with population size (\(N\))?
    • For example, in animals that live in social groups, death rate \(d\) might get lower as population size grows
    • Or in ecosystems with limited resources, birth rates \(d\) might get lower as population size grows.