等待時(shí)間和指數(shù)分布-北太天元學(xué)習(xí)29
等待時(shí)間和設(shè)備故障時(shí)間的概率密度函數(shù)通常是指數(shù)衰減函數(shù)。考慮一下在食堂排隊(duì)等候的時(shí)間(以分鐘為單位)。這里的等候時(shí)間不是指的你排在很多人的后面,從你到達(dá)到你開始被服務(wù)的等候時(shí)間,而是指的是你的前面有且僅有一個(gè)人,從他開始被服務(wù),到他服務(wù)完畢你開始被服務(wù)計(jì)算的等候時(shí)間,因此這里的等候時(shí)間是一個(gè)隨機(jī)變量X。
如果你的前面有5個(gè)人,那么你的總等候時(shí)間也是一個(gè)隨機(jī)變量Y, 你前面每個(gè)人的
被服務(wù)時(shí)間分別是X_1, X_2, ..., X_5, 那么你的總等候時(shí)間Y = X_1+X_2+ ... + X_5. 我們這里先不考慮總等候時(shí)間,而是僅僅考慮單人次的等候時(shí)間X, 也許應(yīng)該叫
單人次服務(wù)時(shí)長更加恰當(dāng)。 假設(shè)記錄了200人次學(xué)生食堂等候時(shí)間的樣本,
并生成以下直方圖:

我們看到,等待t分鐘的概率呈現(xiàn)指數(shù)衰減的趨勢。對于事件隨機(jī)發(fā)生且獨(dú)立于先前事件的情況,每單位時(shí)間的事件數(shù)遵循泊松分布,事件之間的時(shí)間是遵循指數(shù)分布的連續(xù)隨機(jī)變量。指數(shù)分布建模可以用于某些機(jī)器或設(shè)備(例如燈泡、電池)的壽命, 放射性粒子衰變的時(shí)間, 便民熱線兩次通話之間的時(shí)間間隔等情形。
一般來說,我們說T是一個(gè)參數(shù)為λ 的指數(shù)隨機(jī)變量,如果T具有密度函數(shù)
f(t) = λ exp(-λt)?? if t>0
?????? 0??????????? otherwise.
記作 T~ Exponential(λ).? 指數(shù)分布的累積分布函數(shù)還是比較容易計(jì)算的
F(t) = P(T<=t) = \int_{-\infty}^{t} f(t) dt = 1 - exp(-λ*t).? ?
在北太天元可以使用內(nèi)置函數(shù) rand 生成服從[0,1]上均勻分布的隨機(jī)數(shù),
可以用randn 生成正態(tài)分布的隨機(jī)數(shù), 如何生成服從指數(shù)分布的隨機(jī)數(shù)呢?
實(shí)際上,我們先生成 X ~ U(0,1) 的隨機(jī)數(shù) x , 然后再求滿足
??? F(t) = x
t,? 其中F 是隨機(jī)變量T 的累積分布函數(shù),那么t 就是隨機(jī)變量T的樣本。 剛才
求了指數(shù)分布的累積分布函數(shù) F(t) = 1-exp(λ*t),
?? ?因此?????? x?? = 1 -exp ( -λ*t )
?? ?求解得到
?? ????????????? t = -log( 1 - x ) / λ
這里的 log 是以自然為底的對數(shù)。
下面給出北太天元的一個(gè)腳本,展示如何生成服從指數(shù)分布的隨機(jī)數(shù)。
% 北太天元 學(xué)習(xí) 指數(shù)分布
%等候時(shí)間,這里指的是從上一個(gè)學(xué)生開始打飯計(jì)算起,到下一個(gè)學(xué)生被叫去
%打飯的等候時(shí)間, 這是一個(gè)隨機(jī)變量X 。
% 如果前面排著5個(gè)人,那么你的等候時(shí)間是5*X, 我們這里所研究的
% 等候時(shí)間實(shí)際不是總的等候時(shí)間。
%? 所以我們這里的等候時(shí)間實(shí)際上是一個(gè)學(xué)生被服務(wù)的時(shí)間,你等著他
% 被服務(wù)好了,然后才輪到你。
close all
clear all
clc
n = 200; %食堂排隊(duì)打好飯的人次
duration = zeros(n,1); %初始化
lambda = 2;? %平均每分鐘打好飯的次數(shù)(意味著平均打一次飯需要0.5分鐘) ?
for i=1:n
???? duration(i) = -log(1-rand)/lambda %從[0,1]均勻分布生成的隨機(jī)數(shù)轉(zhuǎn)成指數(shù)
???? %分布的隨機(jī)數(shù),
end
histogram(duration)
title("北太天元畫學(xué)生食堂單人次等候時(shí)間次數(shù)統(tǒng)計(jì)的直方圖")
假設(shè)一個(gè)燈泡的平均壽命為100小時(shí),我們想知道在1000小時(shí)的時(shí)間段內(nèi)我們將使用多少個(gè)燈泡(假設(shè)燈泡熄滅時(shí)會立即更換)。使用的燈泡數(shù)量X是泊松分布的速率λ=1000/100=10(我們預(yù)計(jì)在1000小時(shí)內(nèi)平均使用10個(gè)燈泡)。為了解分布情況,我們可以使用以下北太天元代碼對此進(jìn)行200次模擬, 統(tǒng)計(jì)換不同數(shù)量的燈泡發(fā)生的次數(shù):
%北太天元 研究 指數(shù)分布 和 泊松分布的關(guān)系
close all
clear
clc
n=200; %模擬次數(shù)
num_換燈泡 = zeros(n,1); % 初始換燈泡的次數(shù)
lambda = 10; % 把1000小時(shí)作為一個(gè)時(shí)間單位,1000小時(shí)中換燈泡的次數(shù)
for i=1:n? %? 第i次模擬
??? time = 0; %初始化等待時(shí)間
??? while time <= 1 % 總等候時(shí)間小于1個(gè)時(shí)間單位
???????? randExp = - (1/lambda)*log(1-rand); % 產(chǎn)生一個(gè)服從指數(shù)分布的隨機(jī)數(shù)作為單次等候時(shí)間
??????? time = time + randExp; % 更新總的等候時(shí)間
??????? num_換燈泡(i) = num_換燈泡(i) + 1; %update number of events
???? end
???? num_換燈泡(i)=num_換燈泡(i) - 1; %while循環(huán)里的最后一次換燈泡發(fā)生在1個(gè)單位時(shí)間之外,因此要減去
end
histogram(num_換燈泡)
