ポアソン分布と指数分布
  のいけない関係
      @teramonagi
第20回R勉強会@東京(#TokyoR)
      2012/01/28
Agenda
• 自己紹介
• ポアソン分布ってなに?
• 指数分布ってなに?
• 2つの分布のいけない関係


    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                              2
自己紹介
こういう者です
◆職業:クオンツ(計量的に金融する)
◆使う道具
 データ・数理解析/プログラム
 C++/C#/R/Python/Excel/VBA…..
◆最近の興味:
 関数型言語・統計(科)学・確率論

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


単位時間当りの生起確率
• 単位時間:1時間・1秒間・(1m)等
• 生起確率:事象が起こる確率
    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                              6
ポアソン分布ってなに?
• 単位時間当り平均λ回起こる事象が
  単位時間中にx回起こる確率は・・・

                             x
   px                           e    

                           x!         x  0,1,2,...
    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                   7
ポアソン分布の例
     ~1年間での1日あたりの交通事故死亡者数~
                                          x       度数
                                         0        119
                                         1        152
                                         2        68
頻度




                                         3        20
                                         4         4
                                         5         1
                                         6         1
                                        6以上        0
                                         計        365




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

• 平均:λ、分散: λ
• ただ1つλというパラメーターだけで
特徴づけられる


        ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                  9
ポアソン分布を計算してみる
• 1時間に平均5人が訪れるWebサイ
  トがある。1時間に3人訪問者があ
  る確率を求める
• λ=5、x=3を公式に代入
> (5^3) / (3 * 2) * exp(-5)
[1] 0.1403739(約14%!)
      ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                10
稀な現象としてのポアソン分布
• 高校で習った二項分布を思い出す
• 表が出る確率がpのコインをN回投
  げてx回表が出る確率は?


 px  N Cx p 1  p     x                   N x


     ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                  11
稀な現象としてのポアソン分布
px  N Cx p 1  p     x                   N x

                              ただし以下のようにp, λの積を固定
N  , p  0                    Np

                             x
     px                        e   

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



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

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


 事象の生起間隔の確率
• 生起間隔:ある事象が起こって次に
  また発生するまでの間隔
    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                              15
指数分布ってなに?
• 単位時間当り平均λ回起こる事象を
  考える。その事象の発生間隔がt単
  位時間である確率(密度)は・・・


   pt   e                        t

                                      t  0, 実数
    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                               16
指数分布の例
         ~30歳のおっさんの平均余命の分布~
確率(密度)




                         余命(年)
          ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                    17
指数分布を計算してみる
• 1時間に平均5人が訪れるWebサイト
  がある。次の訪問者が来るまでの間隔
  が12分である確率を求めよ
• λ=5、t=12/60を公式に代入
> 5 * exp(-5 * 12 / 60)
[1] 1.839397
(確率“密度“なんで1越えます)
     ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                               18
指数分布の特徴
• 平均:1/λ、分散: 1/λ^2
• ただ1つλというパラメーターだけで特
  徴づけられる
• 次に事象が発生するまでの時間は今
  まで待った時間とは関係ない(無記憶
  性)
        ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                  19
ちなみにRだと



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

  ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                            20
2つの分布のいけない関係
2つの分布のいけない関係
   ポアソン分布
単位時間当りの生起確率

   指数分布
事象の生起間隔の確率
  ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                            22
2つの分布のいけない関係
  ポアソン分布
単位時間当たり平均λ回

     指数分布
平均1/λ単位時間に一回
  ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                            23
2つの分布のいけない関係
ある“事象”に対して
   ポアソン分布
 単位時間当たり平均λ回
回数に注目:ポアソン分布
      指数分布
時間に注目:指数分布
  1/λ単位時間に一回
   ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                             24
同じ物(事象)
を異なる視点
から見てるわ
 けだね!
Rで確かめてみる
• Rを使って指数分布を生成
• 1単位時間に何回事象が発生する
  かをカウント
• その頻度がポアソン分布に従うかを
  チェック!

    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                              26
アルゴリズムの流れー1
指数分布に従う乱数生成
                  2 8
                     9
                  3     6
1  5         7     4
   ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                             27
アルゴリズムの流れー2
  作った乱数の合計が
単位時間に何個入るかカウント

1(単位時間)

 1 +  2 +  3 ≧1
                 28
  ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
アルゴリズムの流れー2
   作った乱数の合計が
この場合3番目の指数分布
 単位時間に何個入るかカウント
の値を足しちゃうと合計が1
  1(単位時間)
を越えるので、2とカウント
  1 +  2 +  3 ≧1
                  29
   ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
アルゴリズムの流れー2’
  作った乱数の合計が
単位時間に何個入るかカウント

1(単位時間)

              1                            ≧1
  ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                             30
アルゴリズムの流れー2’
   作った乱数の合計が
この場合1番目の指数分布
 単位時間に何個入るかカウント

の値が1を越えるので、0と
 1(単位時間)
カウント
               1                            ≧1
   ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                              31
アルゴリズムの流れー3


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


  ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                            32
結果のチェック(分布比較)
頻度(確率)




                       訪問者数
           ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                     33
結果のチェック(分布比較)
頻度(確率)




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


                       訪問者数
           ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                                     34
まとめ
• ポアソン/指数分布について説明
• ある“事象”に対して
 –“回数“に注目:ポアソン分布
 –“時間”に注目:指数分布
• Rでシミュレーションしてみた

    ポアソン分布と指数分布のいけない関係@第20回R勉強会@東京(#TokyoR)
                                              35
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
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

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