時間の流れの中で起きることの積み重ね〜アーラン分布・ガンマ分布

  • 離散
    • ベルヌーイ事象を繰り返すとき起きてから次に起きるまでの試行回数の分布が「幾何分布」
    • k回目が起きるまでに施行した回数は「負の二項分布」に従う
  • 連続
    • 連続時間において等確率で起きる事象が起きてから次に起きるまでの時間は「指数分布」に従う
    • k回目が起きるまでの時間は「アーラン分布」に従う
    • 「アーラン分布」をkについて実数に拡張したものが「ガンマ分布である
      • ある時刻tまでにa-1回起きていて、時刻tにちょうどa回目が起きる確率は、アーラン分布(ガンマ分布のaが整数の場合)で
        • \frac{t^{a-1}e^{-\frac{t}{p}}}{\Gamma(a)p^a}
    • ポアッソン分布・指数分布・アーラン分布・ガンマ分布についてはこちらこちらこちら
p<-runif(1)
n<-50
a<-10
k<-a:n
X<-dbinom(k,n,p)
par(mfcol=c(2,2))
plot(k,X,type="h",main="binomial")
sum(X)
X2<-(1-p)^(k-1)*p

plot(k,X2,type="h",main="geometric")


X3<-dbinom(a-1,k-1,1-p)*p
plot(k,X3,type="h",main="")

# 単位時間に平均p回起きる事象があるときに
# 時刻tに
# a回目が起きる確率は

t<-seq(from=0,to=1,length.out=1000)*n
X4<-(t)^(a-1)*exp(-t*p)/(gamma(a)*(1/p)^a)
# dgamma()関数も使える
X5<-dgamma(t,a,p)
#plot(X4,X5)# dgamma()関数を使っても、式を与えても同じことの確認
plot(t,X4,type="l",col=2)
par(mfcol=c(1,1))
  • 人の一生を100年とする
  • いくつかの出来事が積み重なって、「一定件数」に達すると「×」になる
  • これはアーラン分布(アーラン分布はガンマ分布の形状パラメタが整数の場合)
n<-100 # 100歳
t<-seq(from=0,to=1,length.out=1000)*n

# 毎年p件の事件が起きる
p<-1.5
# 事件の件数がas[i]件になるまでにかかる時間を計算する
as<-(1:10)*10 # 

X<-matrix(0,length(as),length(t))
for(i in 1:length(as)){
	X[i,]<-pgamma(t,as[i],p)
}
matplot(t,t(X),type="l")