当事件在指定的时间间隔内(单位时间),以固定平均瞬时速率(平均发生次数) θ \theta θ发生,那么描述这个单位时间内事件发生次数的变量就是泊松变量。泊松分布适合于描述单位时间内随机事件发生的次数,例如:每分钟经过十字路口的车辆数量;没小时车站的候客人数;
P ( x ) = θ x e − θ x ! , x = 0 , 1 , 2 , . . . P(x) = \frac{\theta^x e^{-\theta}}{x!},x = 0, 1, 2, ... P(x)=x!θxe−θ,x=0,1,2,...
期望和方差:
E
(
x
)
=
θ
E(x) = \theta
E(x)=θ
V
(
x
)
=
θ
V(x) = \theta
V(x)=θ
泊松变量&指数变量: t t t
E ( t ) = 1 θ E(t) = \frac{1}{\theta} E(t)=θ1
生成随机泊松变量 x x x,且 E ( x ) = V ( x ) = θ E(x) = V(x) = \theta E(x)=V(x)=θ
例:假设 x x x为服从泊松分布的随机变量,单位时间内事件发生的期望次数为 θ = 2.4 \theta = 2.4 θ=2.4,下面通过指数变量 t t t,( E ( t ) = 1 / 2.4 E(t) = 1/2.4 E(t)=1/2.4)来生成泊松变量:
例:一个24小时营业的加油站,每天有200-300辆车来这里加油,其中80%是汽车,15%是卡车,5%是摩托车。每辆汽车消耗汽油最小是3加仑,平均是11加仑。卡车消耗汽油最少是8加仑,平均是20加仑。摩托车消耗的汽油最少是2加仑,平均是4加仑。分析员想弄清楚加油站一天之内消耗总量的分布情况。
用随机数模拟未来1000天,加油站汽油消耗情况,车辆的类型和消耗的油量通过随机数生成。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def gas_consum_oneday():
num_vehicle = np.clip(np.random.poisson(300), 200, 500)
num_cars = int(num_vehicle * 0.8)
num_trucks = int(num_vehicle * 0.15)
num_motos = num_vehicle - (num_cars + num_trucks)
car_consume = [np.random.randint(3, 19) for i in range(num_cars)]
truck_consume = [np.random.randint( 8, 32) for i in range(num_trucks)]
moto_consume = [np.random.randint( 2, 6) for i in range(num_motos)]
sum_gas = np.sum(car_consume + truck_consume + moto_consume)
return num_vehicle, num_cars, num_trucks, num_motos, sum_gas
| vehicle_record | cars_record | trucks_record | motos_record | gas_record | P | |
|---|---|---|---|---|---|---|
| 9 | 201 | 160 | 30 | 11 | 2362 | 0.01 |
| 49 | 202 | 161 | 30 | 11 | 2447 | 0.05 |
| 99 | 213 | 170 | 31 | 12 | 2498 | 0.10 |
| 199 | 215 | 172 | 32 | 11 | 2617 | 0.20 |
| 299 | 228 | 182 | 34 | 12 | 2723 | 0.30 |
| 399 | 245 | 196 | 36 | 13 | 2841 | 0.40 |
| 499 | 254 | 203 | 38 | 13 | 2965 | 0.50 |
| 599 | 259 | 207 | 38 | 14 | 3089 | 0.60 |
| 699 | 262 | 209 | 39 | 14 | 3199 | 0.70 |
| 799 | 276 | 220 | 41 | 15 | 3332 | 0.80 |
| 899 | 288 | 230 | 43 | 15 | 3468 | 0.90 |
| 949 | 297 | 237 | 44 | 16 | 3536 | 0.95 |
| 989 | 299 | 239 | 44 | 16 | 3616 | 0.99 |
模拟结果: