---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
Other examples of distributions (see here)
# The time between the arrival at a traffic light (or at a highway toll booth) of a car
# and the arrival of the next car, the time between the arrival of one phone call and
# the other at the switchboard for a television broadcast,
on the one hand, the
# number of car or the number of phone calls that arrive in a fixed time interval,
# on the other are example of two other laws of distribution: the negative exponential
# distribution and the Poisson distribution. Let's remember them through an example.
# A 1 long wall; a w wide hole in the wall; every second a zombie arrives in a
# completely random position of the wall.
# Let w be 1/10; let's simulate 8.5 hours.
# (1) The distribution (in 1 sec intervals) of the waiting times between a pass through
# the hole of a zombie and the next pass.
# (2) The distribution of the number of zombies that pass through the hole in 60 sec
(1)
(2)
zombie = function() { w <<- 1/10; TZ <<- NULL; h=8.5; sec=60*60*h
i=1; n=0; NZ <<- NULL; u=0
while (i <= sec) {
t=0; j=0; while(j<1) {j=ifelse(runif(1) < w, 1,0); t=t+1; r=i/60; u=u+j
if(r==floor(r)) {NZ[r] <<- u; u=0}; i=i+1}
n=n+1; TZ[n] <<- t } }
# The assignment <<- also applies outside of the function definition
# ifelse(runif(1)<w,1,0) is 1 if the zombie pass through the hole, 0 otherwise; t: time
# between 2 passes; TZ: the waiting Times; NZ: the Number of zombies that pass in 60 s
BF=3; HF=2.5
zombie(); noClass=1; histogram(TZ) # histogram of a continuous variable
c(min(NZ),max(NZ))
# 1 15
noClass=1; Histogram(NZ, 0.5,15.5, 1) # histogram of a discrete variable
# If we want the histogram of the density (ie the histogram of area 1):
max( hist(TZ, right=FALSE, probability=TRUE, plot=FALSE)$density )
# 0.06664432
Plane(0,80, 0,0.07)
hist(TZ, right=FALSE, probability=TRUE, col="grey",add=TRUE)
(1)
(2)
statistics(TZ)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 1.00 3.00 7.00 10.27 14.00 78.00
# The brown dots are 5^ and 95^ percentiles
sqm(TZ)
# 9.86031
max( hist(NZ, seq(0.5,15.5,1), probability=TRUE, plot=FALSE)$density )
# 0.1666667
Plane(0,16, 0,0.17)
hist(NZ, seq(0.5,15.5,1), probability=TRUE, col="grey",add=TRUE)
statistics(NZ)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 1.000 4.000 6.000 5.847 7.000 15.000
# The brown dots are 5^ and 95^ percentiles
# The red dot is the mean
sqm(NZ)
# 2.363145
# It can be shown that, in the hypotheses made, TZ has the density function:
# x -> w·exp(-w·x) [negative exponential distribution with parameter w]
# and that NZ has the law of distribution:
# Pr(NZ=n) = exp(-a)·an/n! [Poisson distribution with parameter a]
# (a = average number of zombies that pass through the hole in 60 s;
# usually, the parameter of the Poisson distribution is denoted by lambda)
# In our case a=w*60=6. For the density function of the Poisson distribution I can use:
k=0:100; P = dpois(k, lambda = 6)
EN = function(x) w*exp(-w*x)
Plane(0,80, 0,0.07)
hist(TZ, right=FALSE, probability=TRUE, col="grey",add=TRUE)
graph(EN,0,80, "brown"); integral(EN,0,Inf)
# 1 OK: the integral must be 1
# the mean:
g = function(x) EN(x)*x; m = integral(g,0,Inf); m
# 10 (but I already knew that m = 10)
# the Sd (or sqm):
h = function(x) EN(x)*(x-m)^2; S = sqrt(integral(h,0,Inf)); S
# 10
# The negative exponential distribution has both the mean and the Sd equal to w
(1)
(2)
Plane(0,16, 0,0.17)
hist(NZ, seq(0.5,15.5,1), probability=TRUE, col="grey",add=TRUE)
polyline(k, P, "red"); POINT(k, P, "brown")
sum(P[0:40]) # I must calcuate P[0]+P[1]+P[2]+... and the sum must be 1, but
# 1 OK it is enough P[0]+
+P[40]: P[40]=2.7e-19, P[41]=4.1e-20,
# the mean:
Wmean(0:100,dpois(0:100, lambda = 6))
# 6
# the variance:
WVar(0:100,dpois(0:100, lambda = 6))
# 6
# The Poisson distribution has both the mean and the variance equal to lambda
# It can be shown that, at the growth of lambda, the graph of Poisson distribution
# tendes to confuse with a Gauss curve.