Submit Search
Upload
Rで学ぶ逆変換(逆関数)法
•
54 likes
•
40,538 views
Nagi Teramo
Follow
第27回R勉強会@東京(#TokyoR)用のトーク資料。R言語を用いて乱数生成法の1つである逆変換方について解説。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 110
Download now
Download to read offline
Recommended
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
Hiroshi Shimizu
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
takehikoihayashi
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
潜在クラス分析
潜在クラス分析
Yoshitake Takebayashi
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
Recommended
因果探索: 基本から最近の発展までを概説
因果探索: 基本から最近の発展までを概説
Shiga University, RIKEN
Rでのtry関数によるエラー処理
Rでのtry関数によるエラー処理
wada, kazumi
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
Hiroshi Shimizu
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
takehikoihayashi
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
Deep Learning Lab(ディープラーニング・ラボ)
潜在クラス分析
潜在クラス分析
Yoshitake Takebayashi
2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
MCMCサンプルの使い方 ~見る・決める・探す・発生させる~
. .
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
Deep Learning JP
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口
Yuki Yamada
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
takehikoihayashi
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
Kazuyuki Wakasugi
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
Daisuke Yoneoka
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
Rで学ぶロバスト推定
Rで学ぶロバスト推定
Shintaro Fukushima
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
Hiroshi Nakagawa
非ガウス性を利用した因果構造探索
非ガウス性を利用した因果構造探索
Shiga University, RIKEN
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Classi.corp
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
takehikoihayashi
OpenGLと行列
OpenGLと行列
miyosuda
OpenGLと行列
OpenGLと行列
miyosuda
More Related Content
What's hot
順序データでもベイズモデリング
順序データでもベイズモデリング
. .
グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
Deep Learning JP
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
Hiroshi Shimizu
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口
Yuki Yamada
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
takehikoihayashi
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
Kazuyuki Wakasugi
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
Takao Yamanaka
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
Daisuke Yoneoka
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Shushi Namba
Rで学ぶロバスト推定
Rで学ぶロバスト推定
Shintaro Fukushima
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
Hiroshi Nakagawa
非ガウス性を利用した因果構造探索
非ガウス性を利用した因果構造探索
Shiga University, RIKEN
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Classi.corp
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
gree_tech
階層ベイズとWAIC
階層ベイズとWAIC
Hiroshi Shimizu
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
takehikoihayashi
What's hot
(20)
順序データでもベイズモデリング
順序データでもベイズモデリング
グラフィカルモデル入門
グラフィカルモデル入門
[DL輪読会]Understanding Black-box Predictions via Influence Functions
[DL輪読会]Understanding Black-box Predictions via Influence Functions
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
心理学者のためのGlmm・階層ベイズ
心理学者のためのGlmm・階層ベイズ
再現性問題は若手研究者の突破口
再現性問題は若手研究者の突破口
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
なぜベイズ統計はリスク分析に向いているのか? その哲学上および実用上の理由
SHAP値の考え方を理解する(木構造編)
SHAP値の考え方を理解する(木構造編)
混合モデルとEMアルゴリズム(PRML第9章)
混合モデルとEMアルゴリズム(PRML第9章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
ブートストラップ法とその周辺とR
ブートストラップ法とその周辺とR
ベイズモデリングで見る因子分析
ベイズモデリングで見る因子分析
Rで学ぶロバスト推定
Rで学ぶロバスト推定
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
クラシックな機械学習の入門 6. 最適化と学習アルゴリズム
非ガウス性を利用した因果構造探索
非ガウス性を利用した因果構造探索
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
機械学習モデルのハイパパラメータ最適化
機械学習モデルのハイパパラメータ最適化
階層ベイズとWAIC
階層ベイズとWAIC
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
比例ハザードモデルはとってもtricky!
比例ハザードモデルはとってもtricky!
Similar to Rで学ぶ逆変換(逆関数)法
OpenGLと行列
OpenGLと行列
miyosuda
OpenGLと行列
OpenGLと行列
miyosuda
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
dsp_kyoto_2014
Gurobi python
Gurobi python
Mikio Kubo
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)
wada, kazumi
ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
数学教材(中間発表)
数学教材(中間発表)
Mizuguchi1205
回帰
回帰
Shin Asakawa
生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333
Issei Kurahashi
6 Info Theory
6 Info Theory
melvincabatuan
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
Kazuma Mikami
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
代数トポロジー入門
代数トポロジー入門
Tatsuki SHIMIZU
Lispでやる記号微分
Lispでやる記号微分
Keiichi Watanabe
ARC#003D
ARC#003D
nullmineral
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
Tetsuya Yoshida
Or seminar2011final
Or seminar2011final
Mikio Kubo
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
Kota Mori
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
takutori
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
hoxo_m
Similar to Rで学ぶ逆変換(逆関数)法
(20)
OpenGLと行列
OpenGLと行列
OpenGLと行列
OpenGLと行列
ディジタル信号処理 課題解説(その3) 2014年度版
ディジタル信号処理 課題解説(その3) 2014年度版
Gurobi python
Gurobi python
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)
ウェーブレット木の世界
ウェーブレット木の世界
数学教材(中間発表)
数学教材(中間発表)
回帰
回帰
生物統計特論3資料 2006 ギブス MCMC isseing333
生物統計特論3資料 2006 ギブス MCMC isseing333
6 Info Theory
6 Info Theory
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
代数トポロジー入門
代数トポロジー入門
Lispでやる記号微分
Lispでやる記号微分
ARC#003D
ARC#003D
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
Or seminar2011final
Or seminar2011final
統計的学習の基礎 5章前半(~5.6)
統計的学習の基礎 5章前半(~5.6)
Deep learning _linear_algebra___probablity___information
Deep learning _linear_algebra___probablity___information
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
More from Nagi Teramo
第86回R勉強会@東京 LT資料
第86回R勉強会@東京 LT資料
Nagi Teramo
Rでを作る
Rでを作る
Nagi Teramo
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
Nagi Teramo
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
Nagi Teramo
闇と向き合う
闇と向き合う
Nagi Teramo
機械の体を手に入れるのよ、鉄郎!!!
機械の体を手に入れるのよ、鉄郎!!!
Nagi Teramo
続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)
Nagi Teramo
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Nagi Teramo
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3
Nagi Teramo
F#談話室(17)
F#談話室(17)
Nagi Teramo
RFinanceJはじめました
RFinanceJはじめました
Nagi Teramo
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Nagi Teramo
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
Nagi Teramo
Trading volume mapping R in recent environment
Trading volume mapping R in recent environment
Nagi Teramo
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
Nagi Teramo
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
Nagi Teramo
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
Nagi Teramo
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Nagi Teramo
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Nagi Teramo
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
Nagi Teramo
More from Nagi Teramo
(20)
第86回R勉強会@東京 LT資料
第86回R勉強会@東京 LT資料
Rでを作る
Rでを作る
Reproducebility 100倍 Dockerマン
Reproducebility 100倍 Dockerマン
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
healthplanetパッケージで体組成データを手に入れて健康な体も手に入れる
闇と向き合う
闇と向き合う
機械の体を手に入れるのよ、鉄郎!!!
機械の体を手に入れるのよ、鉄郎!!!
続わかりやすいパターン認識11章(11.1 - 11.4)
続わかりやすいパターン認識11章(11.1 - 11.4)
5分でわかるかもしれないglmnet
5分でわかるかもしれないglmnet
Ultra Lightning Talk × 3
Ultra Lightning Talk × 3
F#談話室(17)
F#談話室(17)
RFinanceJはじめました
RFinanceJはじめました
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
お前の逐モン、GETだぜ!
お前の逐モン、GETだぜ!
Trading volume mapping R in recent environment
Trading volume mapping R in recent environment
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
~knitr+pandocではじめる~『R MarkdownでReproducible Research』
とある金融屋の統計技師が時系列解析してみた
とある金融屋の統計技師が時系列解析してみた
可視化周辺の進化がヤヴァイ~rChartsを中心として~
可視化周辺の進化がヤヴァイ~rChartsを中心として~
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
「plyrパッケージで君も前処理スタ☆」改め「plyrパッケージ徹底入門」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
Tokyo.R 白熱教室「これからのRcppの話をしよう」
レプリカ交換モンテカルロ法で乱数の生成
レプリカ交換モンテカルロ法で乱数の生成
Recently uploaded
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
Toru Tamaki
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
iwashiira2ctf
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
Toru Tamaki
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
Satoshi Makita
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
keikoitakurag
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
Ayachika Kitazaki
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
瑛一 西口
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
Recently uploaded
(11)
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
Rで学ぶ逆変換(逆関数)法
1.
第27回R勉強会@東京(#TokyoR)
で学ぶ『逆(変換|関数)法』 @teramonagi
2.
自己紹介 • @teramonagi • 乱数を撒くお仕事 •
C++・R・python・VBA・F# • 数理物理・データ分析 季節の変わり目ですね。 ご自愛ください。 2
3.
もくじ • 乱数を撒くお仕事からの逆変換法 • 教科書的な逆変換法の説明 •
Rで学ぶ逆変換法 • まとめ 3
4.
自己紹介 • @teramonagi •乱数を撒くお仕事 • C++・R・python・VBA・F# 季節の変わり目ですね。
ご自愛ください。 4
5.
乱数を撒くお仕事
5
6.
乱数を撒くお仕事
6
7.
撒かれる乱数?
7
8.
おじちゃん! 乱数はどこ から仕入れ てくるの?
8
9.
八百屋・・・?
9
10.
魚屋・・・?
10
11.
雑貨屋・・・?
11
12.
困ったわね…どこか ら乱数を仕入れれ ばいいのかしら…
12
13.
君らエンジニア
じゃろう?無けれ ば作りなさい! CEOのアドバイス 13
14.
乱数作り方、いろいろ 逆変換法
マルコフ連鎖 モンテカルロ法 合成法 棄却採択法 重畳法 14
15.
(今回の)前提条件 [0,1]の一様乱数はある
|| メルセンヌ・ツイスター || runif() 15
16.
[0,1]の一様乱数(runif)
60 40 count 20 0 0.00 0.25 0.50 0.75 1.00 16
17.
逆変換法とは
[0,1]の乱数 (例:0.1153…, 0.892…, 0.722…) u 変換 1 FX FX からの乱数 x 17
18.
逆変換法とは
[0,1]の乱数 (例:0.1153…, 0.892…, 0.722…) u 1 変換 FX 正規 指数 分布 二項 分布 分布 x 18
19.
逆変換法とは 1. [0,1]区間の一様乱数 u
を取得 1 2. x FX u として x を計算 3. x は累積分布関数 FXからの乱数 [0,1)の乱数 変換 FX からの乱数 (例:0.1153…, 0.892…, 0.722…) 1 u FX x 19
20.
(例)逆変換法で指数分布 • 累積分布関数 FX
x 1 e x • 累積分布関数の逆関数を計算 u : FX x 1 e x 1 log1 u Xに x ついて解く F 1 X u 1 log1 u 20
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. #plot 8. 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.
(例)逆変換法で指数分布
0.5 Rで作った頻度分布 VS 実際の密度関数 0.4 0.3 density 0.2 0.1 0.0 0.0 2.5 5.0 7.5 10.0 x 22
23.
何でこれでい いんだろう?
23
24.
もくじ • 乱数を撒くお仕事からの逆変換法 • 教科書的な逆変換法の説明 •
Rで学ぶ逆変換法 • まとめ 24
25.
計算機シミュレーションのための
確率分布乱数生成法 2.2.1 逆関数法(Inverse Transform method) 25
26.
パターン認識と機械学習 下
11.1.1 標準的な分布 26
27.
Rによるモンテカルロ法入門
2.1.2 逆変換 27
28.
自然科学の統計学 11.4.1 逆関数法
28
29.
そんなテキストらによくある証明
Pr X x Pr FX U x 1 PrU FX x FX x 29
30.
(昔の俺)お手上げ
30
31.
Yahoo知恵袋にも仲間が!
31
32.
もう少し直感的な 説明が欲しいわね
32
33.
もくじ • 乱数を撒くお仕事からの逆変換法 • 教科書的な逆変換法の説明 •
Rで学ぶ逆変換法 • まとめ 33
34.
お題 カジノにいるSEが作る ルーレット(二択)
34
35.
ルーレットの設定(当選確率)
50% 50% あたり はずれ 35
36.
うちのカジノで使う からさ~逆変換法 でちょいちょいっと 作ってよ!ちょい ちょいっと!
36
37.
ええと・・・「0~1」まで の数値をあたり・はず れ共に50%になるよう に変換するにはどうし たら・・・
37
38.
逆変換法的に考えて・・・
[0,1]の乱数 (例:0.1153…, 0.892…, 0.722…) u 変換 1 FX あたり:50% はずれ:50% x 38
39.
単純に考えて・・・ あたり
はずれ 0.0 0.5 1.0 39
40.
アルゴリズム的に考えて・・・
あたり if 0.0 u 0.5 , 結果 はずれ, if 0.5 u 1.0 u~Uniform(0,1) 40
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.
こんな感じで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
44.
10回回した結果 6
Result 4 あたり 2 はずれ 0 あたり はずれ Result 44
45.
100回回した結果 40
Result あたり 20 はずれ 0 あたり はずれ Result 45
46.
1000回回した結果 500 400
Result 300 あたり 200 はずれ 100 0 あたり はずれ Result 46
47.
大体50%ずつの確 率になってるね! いいじゃないか! 儲けさせてもらっ たよ!
47
48.
今月末は還元祭だ から確率いじって よ!逆変換法で ちょいちょいだろ! ちょいちょい!
48
49.
ルーレットの設定(当選確率)
30% あたり 70% はずれ 49
50.
ええと・・・「0~1」まで の数値をから、あたり 70%・はずれが30%に なるように変換するに はどうしたら・・・
50
51.
単純に考えて・・・ あたり
はずれ 0.0 0.7 1.0 51
52.
アルゴリズム的に考えて・・・
あたり if 0.0 u 0.7 , 結果 はずれ, if 0.7 u 1.0 u~Uniform(0,1) 52
53.
R的に考えて・・・ 1.example.2 <- function(u) 2.{ 3.
if(u < 0.7){ 4. "あたり" 5. } 6. else{ 7. "はずれ" 8. } 9.} 53
54.
徹夜でコーディング54
55.
1000回回した結果 600
Result 400 あたり 200 はずれ 0 あたり はずれ Result 55
56.
大体あたり70%・ はずれ30%の確 率になってるね! いいじゃないか!
56
57.
プロジェクトの終了
57
58.
束の間の休息…
58
59.
But… 更なる嵐の予感…
59
60.
新アトラクション導入! くじ引き(三択)
60
61.
新しくくじ引き入れ るからさ~逆変換 法でちょいちょ いっと頼むわ! ちょいちょいっと!
61
62.
くじ引きの設定
33% 33% 青 赤 緑 33% 62
63.
ええと・・・「0~1」まで の数値をから、青 33%・赤33% ・緑33%で 出るように変換するに はどうしたら・・・
63
64.
逆変換法的に考えて・・・
[0,1]の乱数 (例:0.1153…, 0.892…, 0.722…) u 変換 1 FX 青: 33% 赤:33%, 緑: 33% x 64
65.
単純に考えて・・・ 青
赤 緑 0.0 0.333… 0.666… 1.0 (1/3) (2/3) 65
66.
アルゴリズム的に考えて・・・
1 青 , if 0 u 3 1 2 くじ 赤 , if u 3 3 緑 , if 3 u 1 2 u~Uniform(0,1) 66
67.
R的に考えて・・・ 1.example.3 <- function(u) 2.{ 3.
if(u < 1/3){ 4. "青" 5. }else if((1/3 <= 13 u) & (u < 2/3)){ 1 6. "赤" 3 7. }else if((2/3 <= u) & (u < 1.0)){ 8. "緑" 9. } 10.} 67
68.
徹夜でコーディング68
69.
1000回回した結果 300
Result 青 200 赤 100 緑 0 青 赤 緑 Result 69
70.
いいね!
70
71.
もっと儲けたい からさ~くじに 細工してくれ る?なぁに逆変 換法でちょい ちょいだろ?
71
72.
くじ引きの設定
10% 青 70% 20% 赤 緑 72
73.
ええと・・・「0~1」まで の数値をから、青 10%・赤20%・緑70%で 出るように変換するに はどうしたら・・・
73
74.
逆変換法的に考えて・・・
[0,1]の乱数 (例:0.1153…, 0.892…, 0.722…) u 変換 1 FX 青: 10% 赤:20%, 緑: 70% x 74
75.
単純に考えて・・・ 青 赤
緑 0 0.1 0.3 1.0 (10%) (30%) 75
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.
R的に考えて・・・ 1.example.4 <- function(u) 2.{ 3.
if(u < 0.1){ 4. "青" 5. }else if((0.1 <= 13 u) & (u < 0.3)){ 1 6. "赤" 3 7. }else if((0.3 <= u) & (u < 1.0)){ 8. "緑" 9. } 10.} 77
78.
徹夜でコーディング78
79.
1000回回した結果 600
Result 青 400 赤 200 緑 0 青 赤 緑 Result 79
80.
儲かりすぎて笑い が止まらないよ! ハハハッハ!!
80
81.
あのちょいちょい野郎 がいる限り僕のデスマ は止まらない・・・なん とか先回りしないと!
81
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.
赤, if 0.1
u 0.3 83
84.
0.1や0.3って 数字はどこか ら来たのかし ら・・・
84
85.
赤, if 0.1
u 0.3 85
86.
青が出る確率(10%)+
赤が出る確率(20%) 赤, if 0.1 u 0.3 青が出る確率(10%) 86
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.
緑, if 0.3
u 1.0 88
89.
青が出る確率(10%)+
赤が出る確率(20%)+ 緑が出る確率(70%) 青が出る確率(10%)+ 赤が出る確率(20%) 緑, if 0.3 u 1.0 89
90.
何か法則性が ありそうだな…
90
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.
結果を文字式へ
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.
確率を文字式へ
x1 , if 0 u Px1 X x2 , if Px1 u Px1 Px2 x3 , if Px1 Px2 u Px1 Px2 Px3 u~Uniform(0,1) 93
94.
x1
, if 0 u Px1 x2 , if Px1 u Px1 Px2 x3 , if Px1 Px2 u Px1 Px2 Px3 94
95.
和の記号(Σ)を使って書く
x 0 1 , if Pxi u Pxi 1 i1 i 1 x 2 i1 1 2 , if Pxi u Pxi i 1 x 2 3 , if Pxi u Pxi 3 i1 i 1 95
96.
和の記号(Σ)を使って書く
x 0 1 , if Pxi u Pxi 1 i1 i 1 x 2 i1 1 2 , if Pxi u Pxi i 1 x 2 3 , if pi u pi 自分の番号(2)から1引いた数値 3 i1 i 1 (1)と同じ番号(2)で和をとる 96
97.
素晴らしい洞察力! でわ、これを一般化 してみよう!
97
98.
題材 くじ引き(N択)
98
99.
x1
くじ引きの設定 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 … x_N-1 xN 99
100.
単純に考えて・・・ x1 x2 x3
x4 x5 x6 xN 1 xN ・・・ ・・・ 0 1.0 100
101.
N択くじの2番目結果は? x
21 2 i1 2 , if Pxi u Pxi i 1 自分の番号から1引いた数値と 同じ番号で和をとる 101
102.
N択くじのn番目結果は? x
n 1 n i1 n , if Pxi u Pxi i 1 自分の番号から1引いた数値と 同じ番号で和をとる 102
103.
Nを∞にすると・・・ 離散
連続 xn x P x px dx
104.
Nを∞にすると・・・ x
n i1 n 1 i 1 n , if Pxi u Pxi x x x , if px'dx' u px'dx' 104
105.
FX x
px'dx' u x 1 両辺に F X かける x F u 1 X 105
106.
逆変換法とは(再掲) 1. [0,1]区間の一様乱数 u
を取得 1 2. x FX u として x を計算 3. x は累積分布関数 FXからの乱数 [0,1)の乱数 変換 FX からの乱数 (例:0.1153…, 0.892…, 0.722…) 1 u FX x 106
107.
逆変換法とは(再掲) 1. [0,1]区間の一様乱数 u
を取得 1 2. x FX u として x を計算 3. x は累積分布関数 FXからの乱数 [0,1)の乱数 変換 FX からの乱数 (例:0.1153…, 0.892…, 0.722…) 1 u FX x 107
108.
ぎゃ、逆変換法 じゃねーか!
108
109.
Congratulation!!!
109
110.
まとめ 二択・三択の練習問題
一般化 N択のくじ引き N→∞ 逆変換法 110
Download now