NHKスペシャルを題材に、Rコードの最適化を考える-その2
http://markovchainmontecarlo.hatenablog.com/entry/2013/12/27/000000
だけど。ネタ振りしているのだとは思うのだけど,そうでもないのかなとも思う。
試しに5,000個中250個丁度の貸し倒れが起きる確率を上記算式に当てはめてみる。
> n <- 5000
> k <- 250
> p <- 0.2
> prod(1:n) / prod(1:k) / prod(1:(n-k)) * p^k * (1-p)^(n-k)
[1] NaN
え?NaN?
非数 (Not a Number) が出てきたぞ?
全然ダメじゃん。
ということで、実際に5,000このサイコロを何度も振ることで確率論を求める方法にシフトしてみます。
その中で最適化を考える事にしてみましょう。
ではなく,この場合は,
> exp(lchoose(n, k)+k*log(p)+(n-k)*log(1-p))
[1] 2.619655e-206
とするべきですね。コンピュータによる数値演算の定石です。
そもそも,そんな小細工しなくても,R はちゃんと答えを出してくれます。
> dbinom(k, n, p) # たったこれだけ
[1] 2.619655e-206
最新の画像[もっと見る]
- さぬきうどん 山よし 佐文店 12時間前
- さぬきうどん 山よし 佐文店 12時間前
- 算額(その1394) 23時間前
- 算額(その1393) 1日前
- 和算の心(その008) 1日前
- ぶっかけうどん はな庄 2日前
- ぶっかけうどん はな庄 2日前
- 晴屋製麺所 2日前
- 晴屋製麺所 2日前
- 算額(その1391) 3日前
※コメント投稿者のブログIDはブログ作成者のみに通知されます