Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
第27回R勉強会@東京(#TokyoR)   で学ぶ『逆(変換|関数)法』    @teramonagi
自己紹介• @teramonagi• 乱数を撒くお仕事• C++・R・python・VBA・F#• 数理物理・データ分析季節の変わり目ですね。  ご自愛ください。                        2
もくじ• 乱数を撒くお仕事からの逆変換法• 教科書的な逆変換法の説明• Rで学ぶ逆変換法• まとめ                    3
自己紹介• @teramonagi•乱数を撒くお仕事• C++・R・python・VBA・F#季節の変わり目ですね。  ご自愛ください。                        4
乱数を撒くお仕事           5
乱数を撒くお仕事           6
撒かれる乱数?          7
おじちゃん!乱数はどこから仕入れ てくるの?         8
八百屋・・・?          9
魚屋・・・?         10
雑貨屋・・・?          11
困ったわね…どこから乱数を仕入れればいいのかしら…            12
君らエンジニア    じゃろう?無けれ    ば作りなさい!CEOのアドバイス           13
乱数作り方、いろいろ逆変換法   マルコフ連鎖       モンテカルロ法合成法       棄却採択法重畳法               14
(今回の)前提条件[0,1]の一様乱数はある         || メルセンヌ・ツイスター         ||       runif() 15
[0,1]の一様乱数(runif)    60    40count    20        0            0.00   0.25   0.50   0.75   1.00                             ...
逆変換法とは   [0,1]の乱数(例:0.1153…, 0.892…, 0.722…)    u          変換              1                     FXFX      からの乱数         ...
逆変換法とは   [0,1]の乱数(例:0.1153…, 0.892…, 0.722…)    u                          1          変換         FX正規                    ...
逆変換法とは1. [0,1]区間の一様乱数 u を取得         12. x  FX u として x を計算    3. x は累積分布関数 FXからの乱数[0,1)の乱数                      変換     ...
(例)逆変換法で指数分布• 累積分布関数 FX x 1  e              x• 累積分布関数の逆関数を計算              u : FX x   1  e  x                 ...
(例)逆変換法で指数分布1. rand.exponential <- function(lambda, u)2. {3.   - 1.0/lambda * log(1-u)4. }5. #λ=0.5とした指数分布に従う10000個生成6. x ...
(例)逆変換法で指数分布          0.5                      Rで作った頻度分布 VS 実際の密度関数          0.4          0.3density          0.2         ...
何でこれでいいんだろう?     23
もくじ• 乱数を撒くお仕事からの逆変換法• 教科書的な逆変換法の説明• Rで学ぶ逆変換法• まとめ                    24
計算機シミュレーションのための     確率分布乱数生成法2.2.1 逆関数法(Inverse Transform method)                                       25
パターン認識と機械学習 下   11.1.1 標準的な分布                   26
Rによるモンテカルロ法入門    2.1.2 逆変換                27
自然科学の統計学 11.4.1 逆関数法               28
そんなテキストらによくある証明                Pr X  x   Pr FX  U   x                       1 PrU  FX x   FX x         ...
(昔の俺)お手上げ        30
Yahoo知恵袋にも仲間が!                 31
もう少し直感的な説明が欲しいわね       32
もくじ• 乱数を撒くお仕事からの逆変換法• 教科書的な逆変換法の説明• Rで学ぶ逆変換法• まとめ                    33
お題 カジノにいるSEが作るルーレット(二択)      34
ルーレットの設定(当選確率)      50% 50%あたりはずれ                35
うちのカジノで使うからさ~逆変換法でちょいちょいっと作ってよ!ちょいちょいっと!        36
ええと・・・「0~1」までの数値をあたり・はずれ共に50%になるように変換するにはどうしたら・・・                37
逆変換法的に考えて・・・   [0,1]の乱数(例:0.1153…, 0.892…, 0.722…)    u          変換              1                     FX  あたり:50%  はずれ:5...
単純に考えて・・・ あたり       はずれ0.0      0.5      1.0                    39
アルゴリズム的に考えて・・・     あたり if 0.0  u  0.5         ,結果       はずれ, if 0.5  u  1.0u~Uniform(0,1)                     ...
R的に考えて・・・1.#uは一様乱数(runifの結果)2.example.1 <- function(u)3.{4. if(u < 0.5){5.    "あたり"6. }7. else{8.    "はずれ"9. }10.}        ...
こんな感じでPLOTしてます1. library(grid)2. library(ggplot2)3. sampling <- function(size, generator)4. {5.    data.frame(table(sapply...
徹夜でコーディング43
10回回した結果6                         Result4                              あたり2                             はずれ0    あたり       ...
100回回した結果40                        Result                               あたり20                               はずれ0     あたり  ...
1000回回した結果500400                     Result300                          あたり200                             はずれ100 0      あ...
大体50%ずつの確率になってるね!いいじゃないか!儲けさせてもらったよ!        47
今月末は還元祭だから確率いじってよ!逆変換法でちょいちょいだろ!ちょいちょい!        48
ルーレットの設定(当選確率)      30%あたり         70%はずれ                  49
ええと・・・「0~1」までの数値をから、あたり70%・はずれが30%になるように変換するにはどうしたら・・・                50
単純に考えて・・・  あたり         はずれ0.0         0.7 1.0                  51
アルゴリズム的に考えて・・・     あたり if 0.0  u  0.7          ,結果       はずれ, if 0.7  u  1.0u~Uniform(0,1)                    ...
R的に考えて・・・1.example.2 <- function(u)2.{3. if(u < 0.7){4.    "あたり"5. }6. else{7.    "はずれ"8. }9.}                            ...
徹夜でコーディング54
1000回回した結果600                        Result400                          あたり200                          はずれ 0      あたり    ...
大体あたり70%・はずれ30%の確率になってるね!いいじゃないか!        56
プロジェクトの終了        57
束の間の休息…      58
But…更なる嵐の予感…       59
新アトラクション導入!くじ引き(三択)      60
新しくくじ引き入れるからさ~逆変換法でちょいちょいっと頼むわ!ちょいちょいっと!        61
くじ引きの設定    33% 33%青赤緑     33%              62
ええと・・・「0~1」までの数値をから、青33%・赤33% ・緑33%で出るように変換するにはどうしたら・・・                  63
逆変換法的に考えて・・・   [0,1]の乱数(例:0.1153…, 0.892…, 0.722…)    u          変換              1                     FX   青: 33%赤:33%, ...
単純に考えて・・・  青       赤       緑0.0   0.333… 0.666…   1.0       (1/3)  (2/3)    65
アルゴリズム的に考えて・・・                              1    青            , if  0  u                                3         ...
R的に考えて・・・1.example.3 <- function(u)2.{3. if(u < 1/3){4.    "青"5. }else if((1/3 <= 13 u) & (u < 2/3)){                    1...
徹夜でコーディング68
1000回回した結果300                    Result                            青200                            赤100                   ...
いいね!   70
もっと儲けたいからさ~くじに細工してくれる?なぁに逆変換法でちょいちょいだろ?      71
くじ引きの設定       10%青   70% 20%赤緑              72
ええと・・・「0~1」までの数値をから、青10%・赤20%・緑70%で出るように変換するにはどうしたら・・・                 73
逆変換法的に考えて・・・   [0,1]の乱数(例:0.1153…, 0.892…, 0.722…)    u          変換              1                     FX    青: 10% 赤:20%...
単純に考えて・・・青 赤            緑0 0.1   0.3        1.0 (10%) (30%)        75
アルゴリズム的に考えて・・・   青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3   緑, if 0.3  u  1.0u~Uniform(0,1)        76
R的に考えて・・・1.example.4 <- function(u)2.{3. if(u < 0.1){4.    "青"5. }else if((0.1 <= 13 u) & (u < 0.3)){                    1...
徹夜でコーディング78
1000回回した結果600                    Result                            青400                            赤200                   ...
儲かりすぎて笑いが止まらないよ!ハハハッハ!!       80
あのちょいちょい野郎がいる限り僕のデスマは止まらない・・・なんとか先回りしないと!              81
アルゴリズム的に考えて・・・   青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3   緑, if 0.3  u  1.0u~Uniform(0,1)        82
赤, if 0.1  u  0.3                   83
0.1や0.3って数字はどこから来たのかしら・・・            84
赤, if 0.1  u  0.3                   85
青が出る確率(10%)+   赤が出る確率(20%)   赤, if 0.1  u  0.3青が出る確率(10%)                      86
アルゴリズム的に考えて・・・   青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3   緑, if 0.3  u  1.0u~Uniform(0,1)        87
緑, if 0.3  u  1.0                   88
青が出る確率(10%)+    赤が出る確率(20%)+    緑が出る確率(70%)青が出る確率(10%)+赤が出る確率(20%)    緑, if 0.3  u  1.0                       89
何か法則性がありそうだな…      90
アルゴリズム的に考えて・・・   青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3   緑, if 0.3  u  1.0u~Uniform(0,1)        91
結果を文字式へ        x1 , if 0.0  u  0.1 X      x2 , if 0.1  u  0.3        x3 , if 0.3  u  1.0u~Uniform(0,1)        ...
確率を文字式へ        x1   , if 0  u  Px1  X      x2   , if Px1   u  Px1   Px2         x3   , if Px1   Px2 ...
x1   , if 0  u  Px1 x2   , if Px1   u  Px1   Px2 x3   , if Px1   Px2   u  Px1   Px2   Px3 ...
和の記号(Σ)を使って書く                                     x        0              1     , if   Pxi   u   Pxi     1  i...
和の記号(Σ)を使って書く                                                 x        0           1        , if   Pxi   u   Pxi...
素晴らしい洞察力!でわ、これを一般化してみよう!        97
題材くじ引き(N択)   98
x1        くじ引きの設定        x2x3      x4x5      x6x7      x8x9      x10x11     x12x13     x14x15     x16x17     x18x19     x2...
単純に考えて・・・x1 x2 x3 x4 x5 x6 xN 1 xN                ・・・                ・・・0                      1.0                       ...
N択くじの2番目結果は?x                 21    2  i1                         2                                      , if   Px...
N択くじのn番目結果は?x                   n 1    n  i1                          n                                        , if ...
Nを∞にすると・・・離散         連続 xn         xP x     px dx           
Nを∞にすると・・・x             n  i1             n 1                           i 1                                n         ...
FX x   pxdx  u            x                     1    両辺に          F   X かける    x  F u   1                X...
逆変換法とは(再掲)1. [0,1]区間の一様乱数 u を取得         12. x  FX u として x を計算    3. x は累積分布関数 FXからの乱数[0,1)の乱数                      変換 ...
逆変換法とは(再掲)1. [0,1]区間の一様乱数 u を取得         12. x  FX u として x を計算    3. x は累積分布関数 FXからの乱数[0,1)の乱数                      変換 ...
ぎゃ、逆変換法じゃねーか!          108
Congratulation!!!               109
まとめ二択・三択の練習問題   一般化 N択のくじ引き   N→∞  逆変換法       110
Upcoming SlideShare
Loading in …5
×

Rで学ぶ逆変換(逆関数)法

33,239 views

Published on

第27回R勉強会@東京(#TokyoR)用のトーク資料。R言語を用いて乱数生成法の1つである逆変換方について解説。

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Rで学ぶ逆変換(逆関数)法

  1. 1. 第27回R勉強会@東京(#TokyoR) で学ぶ『逆(変換|関数)法』 @teramonagi
  2. 2. 自己紹介• @teramonagi• 乱数を撒くお仕事• C++・R・python・VBA・F#• 数理物理・データ分析季節の変わり目ですね。 ご自愛ください。 2
  3. 3. もくじ• 乱数を撒くお仕事からの逆変換法• 教科書的な逆変換法の説明• Rで学ぶ逆変換法• まとめ 3
  4. 4. 自己紹介• @teramonagi•乱数を撒くお仕事• C++・R・python・VBA・F#季節の変わり目ですね。 ご自愛ください。 4
  5. 5. 乱数を撒くお仕事 5
  6. 6. 乱数を撒くお仕事 6
  7. 7. 撒かれる乱数? 7
  8. 8. おじちゃん!乱数はどこから仕入れ てくるの? 8
  9. 9. 八百屋・・・? 9
  10. 10. 魚屋・・・? 10
  11. 11. 雑貨屋・・・? 11
  12. 12. 困ったわね…どこから乱数を仕入れればいいのかしら… 12
  13. 13. 君らエンジニア じゃろう?無けれ ば作りなさい!CEOのアドバイス 13
  14. 14. 乱数作り方、いろいろ逆変換法 マルコフ連鎖 モンテカルロ法合成法 棄却採択法重畳法 14
  15. 15. (今回の)前提条件[0,1]の一様乱数はある || メルセンヌ・ツイスター || runif() 15
  16. 16. [0,1]の一様乱数(runif) 60 40count 20 0 0.00 0.25 0.50 0.75 1.00 16
  17. 17. 逆変換法とは [0,1]の乱数(例:0.1153…, 0.892…, 0.722…) u 変換 1 FXFX からの乱数 x 17
  18. 18. 逆変換法とは [0,1]の乱数(例:0.1153…, 0.892…, 0.722…) u 1 変換 FX正規 指数分布 二項 分布 分布 x 18
  19. 19. 逆変換法とは1. [0,1]区間の一様乱数 u を取得 12. x  FX u として x を計算 3. x は累積分布関数 FXからの乱数[0,1)の乱数 変換 FX からの乱数(例:0.1153…, 0.892…, 0.722…) 1 u FX x 19
  20. 20. (例)逆変換法で指数分布• 累積分布関数 FX x 1  e   x• 累積分布関数の逆関数を計算 u : FX x   1  e  x 1 log1  u  Xに xついて解く  F 1 X u    1 log1  u  20
  21. 21. (例)逆変換法で指数分布1. rand.exponential <- function(lambda, u)2. {3. - 1.0/lambda * log(1-u)4. }5. #λ=0.5とした指数分布に従う10000個生成6. x <- sapply(runif(10000), function(u)rand.exponential(0.5,u))7. #plot8. qplot(x, geom = "blank") +9. geom_histogram(aes(y=..density..),fill="bisque",colour="black") +10. stat_function(fun=dexp,color="red",size=1,arg=list(rate=0.5)) +11. scale_x_continuous(limits = c(0, 10)) 21
  22. 22. (例)逆変換法で指数分布 0.5 Rで作った頻度分布 VS 実際の密度関数 0.4 0.3density 0.2 0.1 0.0 0.0 2.5 5.0 7.5 10.0 x 22
  23. 23. 何でこれでいいんだろう? 23
  24. 24. もくじ• 乱数を撒くお仕事からの逆変換法• 教科書的な逆変換法の説明• Rで学ぶ逆変換法• まとめ 24
  25. 25. 計算機シミュレーションのための 確率分布乱数生成法2.2.1 逆関数法(Inverse Transform method) 25
  26. 26. パターン認識と機械学習 下 11.1.1 標準的な分布 26
  27. 27. Rによるモンテカルロ法入門 2.1.2 逆変換 27
  28. 28. 自然科学の統計学 11.4.1 逆関数法 28
  29. 29. そんなテキストらによくある証明 Pr X  x   Pr FX U   x  1 PrU  FX x   FX x  29
  30. 30. (昔の俺)お手上げ 30
  31. 31. Yahoo知恵袋にも仲間が! 31
  32. 32. もう少し直感的な説明が欲しいわね 32
  33. 33. もくじ• 乱数を撒くお仕事からの逆変換法• 教科書的な逆変換法の説明• Rで学ぶ逆変換法• まとめ 33
  34. 34. お題 カジノにいるSEが作るルーレット(二択) 34
  35. 35. ルーレットの設定(当選確率) 50% 50%あたりはずれ 35
  36. 36. うちのカジノで使うからさ~逆変換法でちょいちょいっと作ってよ!ちょいちょいっと! 36
  37. 37. ええと・・・「0~1」までの数値をあたり・はずれ共に50%になるように変換するにはどうしたら・・・ 37
  38. 38. 逆変換法的に考えて・・・ [0,1]の乱数(例:0.1153…, 0.892…, 0.722…) u 変換 1 FX あたり:50% はずれ:50% x 38
  39. 39. 単純に考えて・・・ あたり はずれ0.0 0.5 1.0 39
  40. 40. アルゴリズム的に考えて・・・ あたり if 0.0  u  0.5 ,結果   はずれ, if 0.5  u  1.0u~Uniform(0,1) 40
  41. 41. R的に考えて・・・1.#uは一様乱数(runifの結果)2.example.1 <- function(u)3.{4. if(u < 0.5){5. "あたり"6. }7. else{8. "はずれ"9. }10.} 41
  42. 42. こんな感じでPLOTしてます1. library(grid)2. library(ggplot2)3. sampling <- function(size, generator)4. {5. data.frame(table(sapply(runif(size), unction(u)generator(u)),dnn=c("Result")))6. }7. plot.bar <- function(x,colors)8. {9. ggplot() +10. geom_bar(data=x, aes(x=Result, y=Freq,fill=Result),width=.8) +11. theme(12. legend.key.size=unit(2,"cm"),13. legend.text =element_text(size=20),14. legend.title=element_text(size=20),15. axis.text.x =element_text(size=25),16. axis.text.y =element_text(size=25),17. axis.title.x=element_text(size=25),18. axis.title.y=element_blank()19. ) +20. scale_fill_manual(values=colors)21. }22. plot.bar(sampling(10,example.1),c("#4F81BD","#C0504D")) 42
  43. 43. 徹夜でコーディング43
  44. 44. 10回回した結果6 Result4 あたり2 はずれ0 あたり はずれ Result 44
  45. 45. 100回回した結果40 Result あたり20 はずれ0 あたり はずれ Result 45
  46. 46. 1000回回した結果500400 Result300 あたり200 はずれ100 0 あたり はずれ Result 46
  47. 47. 大体50%ずつの確率になってるね!いいじゃないか!儲けさせてもらったよ! 47
  48. 48. 今月末は還元祭だから確率いじってよ!逆変換法でちょいちょいだろ!ちょいちょい! 48
  49. 49. ルーレットの設定(当選確率) 30%あたり 70%はずれ 49
  50. 50. ええと・・・「0~1」までの数値をから、あたり70%・はずれが30%になるように変換するにはどうしたら・・・ 50
  51. 51. 単純に考えて・・・ あたり はずれ0.0 0.7 1.0 51
  52. 52. アルゴリズム的に考えて・・・ あたり if 0.0  u  0.7  ,結果   はずれ, if 0.7  u  1.0u~Uniform(0,1) 52
  53. 53. R的に考えて・・・1.example.2 <- function(u)2.{3. if(u < 0.7){4. "あたり"5. }6. else{7. "はずれ"8. }9.} 53
  54. 54. 徹夜でコーディング54
  55. 55. 1000回回した結果600 Result400 あたり200 はずれ 0 あたり はずれ Result 55
  56. 56. 大体あたり70%・はずれ30%の確率になってるね!いいじゃないか! 56
  57. 57. プロジェクトの終了 57
  58. 58. 束の間の休息… 58
  59. 59. But…更なる嵐の予感… 59
  60. 60. 新アトラクション導入!くじ引き(三択) 60
  61. 61. 新しくくじ引き入れるからさ~逆変換法でちょいちょいっと頼むわ!ちょいちょいっと! 61
  62. 62. くじ引きの設定 33% 33%青赤緑 33% 62
  63. 63. ええと・・・「0~1」までの数値をから、青33%・赤33% ・緑33%で出るように変換するにはどうしたら・・・ 63
  64. 64. 逆変換法的に考えて・・・ [0,1]の乱数(例:0.1153…, 0.892…, 0.722…) u 変換 1 FX 青: 33%赤:33%, 緑: 33% x 64
  65. 65. 単純に考えて・・・ 青 赤 緑0.0 0.333… 0.666… 1.0 (1/3) (2/3) 65
  66. 66. アルゴリズム的に考えて・・・  1 青 , if  0  u    3 1 2 くじ 赤 , if   u   3 3 緑 , if  3  u  1 2   u~Uniform(0,1) 66
  67. 67. R的に考えて・・・1.example.3 <- function(u)2.{3. if(u < 1/3){4. "青"5. }else if((1/3 <= 13 u) & (u < 2/3)){ 16. "赤" 37. }else if((2/3 <= u) & (u < 1.0)){8. "緑"9. }10.} 67
  68. 68. 徹夜でコーディング68
  69. 69. 1000回回した結果300 Result 青200 赤100 緑 0 青 赤 緑 Result 69
  70. 70. いいね! 70
  71. 71. もっと儲けたいからさ~くじに細工してくれる?なぁに逆変換法でちょいちょいだろ? 71
  72. 72. くじ引きの設定 10%青 70% 20%赤緑 72
  73. 73. ええと・・・「0~1」までの数値をから、青10%・赤20%・緑70%で出るように変換するにはどうしたら・・・ 73
  74. 74. 逆変換法的に考えて・・・ [0,1]の乱数(例:0.1153…, 0.892…, 0.722…) u 変換 1 FX 青: 10% 赤:20%, 緑: 70% x 74
  75. 75. 単純に考えて・・・青 赤 緑0 0.1 0.3 1.0 (10%) (30%) 75
  76. 76. アルゴリズム的に考えて・・・ 青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3 緑, if 0.3  u  1.0u~Uniform(0,1) 76
  77. 77. R的に考えて・・・1.example.4 <- function(u)2.{3. if(u < 0.1){4. "青"5. }else if((0.1 <= 13 u) & (u < 0.3)){ 16. "赤" 37. }else if((0.3 <= u) & (u < 1.0)){8. "緑"9. }10.} 77
  78. 78. 徹夜でコーディング78
  79. 79. 1000回回した結果600 Result 青400 赤200 緑 0 青 赤 緑 Result 79
  80. 80. 儲かりすぎて笑いが止まらないよ!ハハハッハ!! 80
  81. 81. あのちょいちょい野郎がいる限り僕のデスマは止まらない・・・なんとか先回りしないと! 81
  82. 82. アルゴリズム的に考えて・・・ 青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3 緑, if 0.3  u  1.0u~Uniform(0,1) 82
  83. 83. 赤, if 0.1  u  0.3 83
  84. 84. 0.1や0.3って数字はどこから来たのかしら・・・ 84
  85. 85. 赤, if 0.1  u  0.3 85
  86. 86. 青が出る確率(10%)+ 赤が出る確率(20%) 赤, if 0.1  u  0.3青が出る確率(10%) 86
  87. 87. アルゴリズム的に考えて・・・ 青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3 緑, if 0.3  u  1.0u~Uniform(0,1) 87
  88. 88. 緑, if 0.3  u  1.0 88
  89. 89. 青が出る確率(10%)+ 赤が出る確率(20%)+ 緑が出る確率(70%)青が出る確率(10%)+赤が出る確率(20%) 緑, if 0.3  u  1.0 89
  90. 90. 何か法則性がありそうだな… 90
  91. 91. アルゴリズム的に考えて・・・ 青, if 0.0  u  0.1くじ 赤, if 0.1  u  0.3 緑, if 0.3  u  1.0u~Uniform(0,1) 91
  92. 92. 結果を文字式へ x1 , if 0.0  u  0.1 X x2 , if 0.1  u  0.3 x3 , if 0.3  u  1.0u~Uniform(0,1) 92
  93. 93. 確率を文字式へ x1 , if 0  u  Px1  X x2 , if Px1   u  Px1   Px2  x3 , if Px1   Px2   u  Px1   Px2   Px3 u~Uniform(0,1) 93
  94. 94. x1 , if 0  u  Px1 x2 , if Px1   u  Px1   Px2 x3 , if Px1   Px2   u  Px1   Px2   Px3  94
  95. 95. 和の記号(Σ)を使って書く   x 0 1 , if   Pxi   u   Pxi  1  i1 i 1  x  2  i1 1 2  , if   Pxi   u   Pxi  i 1    x 2 3 , if   Pxi   u   Pxi  3  i1 i 1  95
  96. 96. 和の記号(Σ)を使って書く   x 0 1 , if   Pxi   u   Pxi  1  i1 i 1  x  2  i1 1 2 , if   Pxi   u   Pxi  i 1   x  2 3 , if   pi  u   pi 自分の番号(2)から1引いた数値 3  i1 i 1  (1)と同じ番号(2)で和をとる 96
  97. 97. 素晴らしい洞察力!でわ、これを一般化してみよう! 97
  98. 98. 題材くじ引き(N択) 98
  99. 99. x1 くじ引きの設定 x2x3 x4x5 x6x7 x8x9 x10x11 x12x13 x14x15 x16x17 x18x19 x20x21 x22x23 x24x25 x26x27 …x_N-1 xN 99
  100. 100. 単純に考えて・・・x1 x2 x3 x4 x5 x6 xN 1 xN ・・・ ・・・0 1.0 100
  101. 101. N択くじの2番目結果は?x  21 2  i1 2  , if   Pxi   u   Pxi  i 1 自分の番号から1引いた数値と同じ番号で和をとる 101
  102. 102. N択くじのn番目結果は?x  n 1 n  i1 n  , if   Pxi   u   Pxi  i 1 自分の番号から1引いた数値と同じ番号で和をとる 102
  103. 103. Nを∞にすると・・・離散 連続 xn xP x  px dx  
  104. 104. Nを∞にすると・・・x  n  i1 n 1 i 1 n  , if   Pxi   u   Pxi    x x    x , if   pxdx  u   pxdx     104
  105. 105. FX x   pxdx  u x 1 両辺に F X かける x  F u  1 X 105
  106. 106. 逆変換法とは(再掲)1. [0,1]区間の一様乱数 u を取得 12. x  FX u として x を計算 3. x は累積分布関数 FXからの乱数[0,1)の乱数 変換 FX からの乱数(例:0.1153…, 0.892…, 0.722…) 1 u FX x 106
  107. 107. 逆変換法とは(再掲)1. [0,1]区間の一様乱数 u を取得 12. x  FX u として x を計算 3. x は累積分布関数 FXからの乱数[0,1)の乱数 変換 FX からの乱数(例:0.1153…, 0.892…, 0.722…) 1 u FX x 107
  108. 108. ぎゃ、逆変換法じゃねーか! 108
  109. 109. Congratulation!!! 109
  110. 110. まとめ二択・三択の練習問題 一般化 N択のくじ引き N→∞ 逆変換法 110

×