100-year flood: Binomial distribution

The Binomial distribution applies when there are trials with two outcomes (‘success’ and ‘failure’).  The standard example is coin tossing; a coin can come up heads or tails and the probability of success e.g. a head, is the same in every trial.  The probability of tossing a head with an unbiased coin is 50% but the binomial distribution also applies where the probability of success differs from 50%.  In the case of a 100-year flood, the probability of ‘success’ – having a 100-year flood, is 1% in any year.

The Binomial distribution can be used to calculate the probability of experiencing a certain number of 100-year floods in a specified number of years.  The probability of  experiencing 0, 1, 2, 3, 4 or 5 100-year floods in 100 years is shown in the table and figure below.  Having one flood is the most likely outcome but there is also a good chance of having zero, or 2, or more.  There is a 63.4% change of having at least 1.

Number of floods Probability
0 36.6%
1 37.0%
2 18.5%
3 6.1%
4 1.4%
5 0.3%
At least 1 63.4%
Probability of experiencing 0, 1, 2, 3, 4 or 5 100-year (1%) floods in 100 years

Probability of experiencing 0, 1, 2, 3, 4 or 5 100-year (1%) floods in 100 years

Lets do a sample calculation.  The probability of k successes from n trials, where the probability of success from an individual trial is p, is given by:

{n\choose k}p^{k}\left( 1-p\right) ^{n-k}

So the probability of exactly two, 100-year floods in 100 years is:

{100\choose 2}0.01^{2}\left( 1-0.01\right) ^{98} = 0.185 or 18.5%

The probability of at least one flood is the same as 1 – the probability of zero floods. So the probability of at least one 100-year flood in 100 years is:

1-(1-0.01)^{100} = 0.6339677 \approx 1 - \frac{1}{e}

We can also use a Binomial random variable to simulate the occurrence of floods.  Check the help for ?rbinom.

To simulate the number of 100-year floods in 100 years:

rbinom(1, 100, 0.01)

To do this in 10, 100-year sequences:

rbinom(10, 100, 0.01)

See the code below for an example.

R code (also available as a gist)

dbinom(0,100,0.01) # zero 1% floods in 100 years
dbinom(1,100,0.01)
dbinom(2,100,0.01)
dbinom(3,100,0.01)
dbinom(4,100,0.01)
dbinom(5,100,0.01) # five 1% floods in 100 years

# at least 1 1% flood in 100 years
1 - pbinom(0,100, 0.01) 

# Sample calculation
# Exactly 2 1% floods in 100 year
choose(100,2) * 0.01^2 * (1 - 0.01)^98
#[1] 0.1848648


par(oma = c(1, 2, 0, 0))
barplot(dbinom(0:5,100,0.01),
        ylim = c(0, 0.4),
        las = 1, 
        names.arg = 0:5,
        ylab = 'Probability',
        xlab = 'Number of 100-year floods in 100 years')

set.seed(2000)
rbinom(10, 100, 0.01)
#[1] 0 1 0 1 2 1 3 1 2 1
# number of 100-year floods in each of 10 100-year sequences

One thought on “100-year flood: Binomial distribution

  1. Michael Porretta

    I am looking for advice on calculation of probabilities of floods of different return periods an numbers of occurrences in range of time. This is very helpful.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s