読者です 読者をやめる 読者になる 読者になる

廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

なんと呼ぶのかわからない待ち行列のシミュレーション

R 確率過程

定理

時刻 o 以前にすでに到着しており、時刻 o のサービス開始を待っていた利用者にのみサービスを提供する窓口を考える。

到着はレート λポアソン過程に従う。

利用者はそれぞれある時間だけ待ち、その時間を超えて待つことはしない。利用者の待ち時間は平均 μ で非負連続型の分布に従う。

この窓口でサービスを受ける利用者の人数はパラメータ λμポアソン分布に従う。

※証明はわかりません。誰か教えて下さい。

シミュレーション

証明できなかったので R でシミュレーションしてみます。

#ワイブル分布
n <- 10000
o <- 1000
res_wei <-numeric(n)
for(i in 1:n){
  x <- rexp(5000,rate=2) #定常ポアソンなので到着間隔は指数分布に従う。
  t1 <- cumsum(x) #到着時間
  s <-rweibull(5000,shape=0.5, scale=3) #待ち時間
  t2 <- t1 + s
  forward <- which(t2 > o & t1<o)
  res_wei[i] <- length(forward)
}
tab <-table(res_wei)
plot(tab)
mu <- 3*gamma(1+1/0.5)
theo <- dpois(2:26,2*mu)*n
points(2:26,theo,cex=1.5, pch=4, col="red3")

f:id:abrahamcow:20150818225707p:plain
黒い線が観測値、赤いバツが理論値

#対数正規分布
res_lnorm <-numeric(n)
for(i in 1:n){
  x <- rexp(5000,rate=3) 
  t1 <- cumsum(x) 
  s <-rlnorm(5000,3,1) 
  t2 <- t1 + s
  forward <- which(t2 > o & t1<o)
  res_lnorm[i] <- length(forward)
}
tab <-table(res_lnorm)
plot(tab)
mu <- exp(3+1/2)
theo <- dpois(59:140,3*mu)*n
points(59:140,theo,cex=1.5, pch=4, col="red3")

f:id:abrahamcow:20150818225752p:plain

#ガンマ分布
res_gamma <-numeric(n)
for(i in 1:n){
  x <- rexp(5000,rate=1/2)
  t1 <- cumsum(x)
  s <-rgamma(5000,shape=2, rate=2)
  mean(s)
  t2 <- t1 + s
  forward <- which(t2 > o & t1<o)
  res_gamma[i] <- length(forward)
}
tab <-table(res_gamma)
plot(tab)
mu <- 2*(1/2)
theo <- dpois(0:4,mu/2)*n
points(0:4,theo,cex=1.5, pch=4, col="red3")

f:id:abrahamcow:20150818225821p:plain