37
ポアソン分布指数分布 のいけない関係 @teramonagi 20R勉強会@東京(#TokyoR2012/01/28

指数分布とポアソン分布のいけない関係

Embed Size (px)

DESCRIPTION

指数分布とポアソン分布について簡単に説明した後、それらは同じ事象を別々の視点から見たものであることを説明。さらにR言語を用いて実際にそれを確認。第20回R勉強会@東京(#TokyoR)(http://atnd.org/events/24629)でのトーク資料。

Citation preview

Page 1: 指数分布とポアソン分布のいけない関係

ポアソン分布と指数分布 のいけない関係

@teramonagi 第20回R勉強会@東京(#TokyoR)

2012/01/28

Page 2: 指数分布とポアソン分布のいけない関係

Agenda

•自己紹介

•ポアソン分布ってなに?

•指数分布ってなに?

• 2つの分布のいけない関係

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 2

Page 3: 指数分布とポアソン分布のいけない関係

自己紹介

Page 4: 指数分布とポアソン分布のいけない関係

こういう者です ◆職業:クオンツ(計量的に金融する)

◆使う道具

データ・数理解析/プログラム

C++/C#/R/Python/Excel/VBA…..

◆最近の興味:

関数型言語・統計(科)学・確率論

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 4

Page 5: 指数分布とポアソン分布のいけない関係

ポアソン分布ってなに?

Page 6: 指数分布とポアソン分布のいけない関係

ポアソン分布ってなに?

•単位時間:1時間・1秒間・(1m)等

•生起確率:事象が起こる確率 ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 6

単位時間当りの生起確率

Page 7: 指数分布とポアソン分布のいけない関係

ポアソン分布ってなに?

•単位時間当り平均λ回起こる事象が単位時間中にx回起こる確率は・・・

ex

xpx

! ,...2,1,0x

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 7

Page 8: 指数分布とポアソン分布のいけない関係

ポアソン分布の例 ~1年間での1日あたりの交通事故死亡者数~

x 度数

0 1191 1522 683 204 45 16 1

6以上 0計 365

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 8 死亡者数

頻度

Page 9: 指数分布とポアソン分布のいけない関係

•平均:λ、分散: λ

•ただ1つλというパラメーターだけで特徴づけられる

ポアソン分布の特徴

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 9

Page 10: 指数分布とポアソン分布のいけない関係

ポアソン分布を計算してみる

• 1時間に平均5人が訪れるWebサイ

トがある。1時間に3人訪問者がある確率を求める

• λ=5、x=3を公式に代入

> (5^3) / (3 * 2) * exp(-5)

[1] 0.1403739(約14%!)

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 10

Page 11: 指数分布とポアソン分布のいけない関係

稀な現象としてのポアソン分布

•高校で習った二項分布を思い出す

•表が出る確率がpのコインをN回投げてx回表が出る確率は?

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 11

xNx

xN ppCxp

1

Page 12: 指数分布とポアソン分布のいけない関係

稀な現象としてのポアソン分布

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 12

xNx

xN ppCxp

1

ex

xpx

!

0, pN Npただし以下のようにp, λの積を固定

Page 13: 指数分布とポアソン分布のいけない関係

ちなみにRだと

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 13

(d,r,p,q)pois関数

Page 14: 指数分布とポアソン分布のいけない関係

指数分布ってなに?

Page 15: 指数分布とポアソン分布のいけない関係

指数分布ってなに?

•生起間隔:ある事象が起こって次にまた発生するまでの間隔

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 15

事象の生起間隔の確率

Page 16: 指数分布とポアソン分布のいけない関係

指数分布ってなに?

•単位時間当り平均λ回起こる事象を

考える。その事象の発生間隔がt単位時間である確率(密度)は・・・

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 16

tetp 実数,0t

Page 17: 指数分布とポアソン分布のいけない関係

~30歳のおっさんの平均余命の分布~ 指数分布の例

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 17 余命(年)

確率(密度)

Page 18: 指数分布とポアソン分布のいけない関係

指数分布を計算してみる

• 1時間に平均5人が訪れるWebサイトがある。次の訪問者が来るまでの間隔が12分である確率を求めよ

• λ=5、t=12/60を公式に代入

> 5 * exp(-5 * 12 / 60)

[1] 1.839397

(確率“密度“なんで1越えます)

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 18

Page 19: 指数分布とポアソン分布のいけない関係

• 平均:1/λ、分散: 1/λ^2

• ただ1つλというパラメーターだけで特徴づけられる

• 次に事象が発生するまでの時間は今まで待った時間とは関係ない(無記憶性)

指数分布の特徴

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 19

Page 20: 指数分布とポアソン分布のいけない関係

ちなみにRだと

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 20

(d,r,p,q)exp関数

Page 21: 指数分布とポアソン分布のいけない関係

2つの分布のいけない関係

Page 22: 指数分布とポアソン分布のいけない関係

2つの分布のいけない関係

22 ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)

ポアソン分布 単位時間当りの生起確率

指数分布 事象の生起間隔の確率

Page 23: 指数分布とポアソン分布のいけない関係

ポアソン分布 単位時間当たり平均λ回

指数分布 平均1/λ単位時間に一回

2つの分布のいけない関係

23 ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)

Page 24: 指数分布とポアソン分布のいけない関係

ポアソン分布 単位時間当たり平均λ回

指数分布 1/λ単位時間に一回

2つの分布のいけない関係

24 ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)

ある“事象”に対して

回数に注目:ポアソン分布 時間に注目:指数分布

Page 25: 指数分布とポアソン分布のいけない関係

同じ物(事象)を異なる視点から見てるわけだね!

Page 26: 指数分布とポアソン分布のいけない関係

Rで確かめてみる

• Rを使って指数分布を生成

• 1単位時間に何回事象が発生するかをカウント

•その頻度がポアソン分布に従うかをチェック!

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 26

Page 27: 指数分布とポアソン分布のいけない関係

アルゴリズムの流れー1

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 27 13

指数分布に従う乱数生成

2

456

7

8

9

Page 28: 指数分布とポアソン分布のいけない関係

アルゴリズムの流れー2

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 28 1 32

作った乱数の合計が 単位時間に何個入るかカウント

1(単位時間)

+ + ≧1

Page 29: 指数分布とポアソン分布のいけない関係

アルゴリズムの流れー2

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 29 1 32

作った乱数の合計が 単位時間に何個入るかカウント

1(単位時間)

+ + ≧1

この場合3番目の指数分布の値を足しちゃうと合計が1

を越えるので、2とカウント

Page 30: 指数分布とポアソン分布のいけない関係

アルゴリズムの流れー2’

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 30 1

作った乱数の合計が 単位時間に何個入るかカウント

≧1

1(単位時間)

Page 31: 指数分布とポアソン分布のいけない関係

アルゴリズムの流れー2’

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 31 1

作った乱数の合計が 単位時間に何個入るかカウント

≧1

1(単位時間)

この場合1番目の指数分布

の値が1を越えるので、0とカウント

Page 32: 指数分布とポアソン分布のいけない関係

アルゴリズムの流れー3

1と2を繰り返して出てきたカウント値の統計量を計算

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 32

Page 33: 指数分布とポアソン分布のいけない関係

結果のチェック(分布比較)

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 33 訪問者数

頻度(確率)

Page 34: 指数分布とポアソン分布のいけない関係

結果のチェック(分布比較)

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 34 訪問者数

頻度(確率)

指数分布からポアソン分布を作成することができた!

Page 35: 指数分布とポアソン分布のいけない関係

まとめ

•ポアソン/指数分布について説明

•ある“事象”に対して

–“回数“に注目:ポアソン分布

–“時間”に注目:指数分布

• Rでシミュレーションしてみた

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 35

Page 36: 指数分布とポアソン分布のいけない関係

Rのコード #1単位時間内に到着する訪問者数を数えるシミュレーション

VisitorCounter <- function(lambda)

{

counter <- 0

time.arrival <- rexp(1, rate = lambda)

while(time.arrival < 1) {

counter <- counter + 1

#次の訪問者の到着時間を計算

time.arrival <- time.arrival + rexp(1, rate = lambda)

}

counter

}

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 36

Page 37: 指数分布とポアソン分布のいけない関係

Rのコード #1単位時間あたりの訪問者数の平均値 lambda <- 5 #シミュレーション回数 N <- 10^4 #シミュレーション実施 x <- sapply(1:N, function(i){VisitorCounter(lambda)}) #表示 barplot(rbind(table(x) / N, dpois(0:max(x), lambda)), col = c("violetred1", "slateblue4"), legend.text = c("Simulation", "Theoritical"), args.legend = list(x = "topright"), beside = TRUE )

ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR) 37