In the previous post we considered the occurrence of 100-year floods as a Binomial random variable. We can do similar analysis using the Poisson distribution. As noted by Jones et al. “For *n* large, the Binom(*n,p*) distribution is approximately Pois(*np*)”.

In the examples we’ve been looking at, *n* is reasonably large i.e. 100 (years). So binom(100, 0.01) is approximately pois(100 x 0.01) = pois(1).

Lets try it:

Consider the probability of 1, 100-year flood in 100 years.

The poisson distribution can be expressed as follows:

In this case,

So, using the Poisson distribution the probability of 1, 100-year flood in 100 years is 0.367894. Using the Binomial distribution it is 100 x 0.01 x (1-0.01)^99 = 0.3697296. i.e. pretty close. The approximation gets better for larger *n*.

Similar to the Binomial example, we can use a Poisson random variable to simulate flood occurrence – although the Binomial approach will be more accurate. The figure below shows a simulation of 100, 100-year sequences in a 10 x 10 grid. You can see that most of the time there is 0 or 1 flood but occasionally there are a lot more.

Simulation of the number of 100-year floods occurring in 100 (10 x 10), 100-year sequences

R code (also available as a gist)

dpois(0,1) # prob of zero 100-year floods in 100 years
dpois(0,1) # prob of zero 100-year floods in 100 years
[1] 0.3678794
dpois(1,1) # prob of one 100-year floods in 100 years
[1] 0.3678794
dpois(2,1) # prob of two 100-year floods in 100 years
[1] 0.1839397
# simulation
library(ggplot2)
df <- expand.grid(x = 1:10, y = 1:10)
df$z <- rbinom(100, 100, 0.01) # could also use rpois(100,1)
ggplot(data=df, aes(x,y)) + geom_tile(aes(fill=z)) +
scale_fill_gradient(low="green", high = "red", name = 'Floods') +
geom_text(data = df, aes(x, y, label = z)) +
scale_x_continuous(breaks = NULL) +
scale_y_continuous(breaks = NULL) +
xlab('') +
ylab('')
set.seed(2000)
rpois(10, 1)
[1] 0 1 0 1 2 1 3 1 2 1
# number of 100-year floods in each of 10 100-year sequences

### Like this:

Like Loading...

*Related*