std :: binomial_distributionを使用してk回の試行でn回の成功を得る確率を計算することは可能ですか?どうやって?std :: binomial_distributionを使用して確率を計算する
1
A
答えて
0
実際にはありません。
std::binomial_distribution
は、累積密度関数を提供できるものではなく、乱数生成用のアダプタです。
累積密度関数は、数行のコードで実装することも、数学ライブラリを検索することもできます。 (大きな階数を計算するのではなく、パスカルの三角形のアプローチを使用します)。
0
PMF(p, n,k) = n!/(k!*(n-k)!) p^k (1-p)^(n-k)
良いトリックは階乗のlog
にとっての対数と累乗それ
を計算することであるようにあなたは、ガンマ関数
のログを使用する必要があり、そのようなPMFを実装します行に沿って(テストされていません)
double logChoose(int n, int k) {
return std::lgamma(double(n+1)) - std::lgamma(double(k+1)) - std::lgamma(double(n-k+1));
}
double PMFBinomial(double p, int n, int k) {
double lgr = logChoose(n, k) + double(k)*std::log(p) + double(n-k)*std::log(1-p);
return std::exp(lgr);
}
関連する問題
- 1. 確率を計算する
- 2. 確率分布を計算する
- 3. イベントの確率を計算する
- 4. ns2を使用してリンク利用率を計算する
- 5. 計算STDを使用して、ベクターの一部の合計は::
- 6. 累積確率の計算
- 7. 確率的な計算Python
- 8. 2つの変数を除算してC#の確率を計算する
- 9. ハイブでSQLを使用したコンバージョン率を計算する
- 10. より効率的に計算する確率
- 11. 比率を計算する
- 12. Pythonでの確率的計算ライブラリ
- 13. 勝利の確率PHPのパーセント計算
- 14. 確率計算のJava出力
- 15. Rの無条件確率計算
- 16. 遷移確率文の行列計算
- 17. ハイパースレッディングマシンでのプロセス使用率の計算
- 18. ラウンドロビンアルゴリズムのCPU使用率の計算
- 19. シキットを用いたマルチラベル分類シンプルなラベルの代わりに確率と確率を計算する
- 20. numpyとscipyを使用してイメージ上のウィンドウ付き確率質量関数を計算する
- 21. R partykit substreeの分類確率を計算する
- 22. Pythonでバイナリ関数の確率を計算する方法は?
- 23. Rのデータフレームからの限界確率を計算する
- 24. ジョイント分布のセクションの確率を計算する
- 25. 語彙外の文の確率を計算する
- 26. ジュリアのポアソン分布の確率を計算する方法
- 27. サンプル平均の確率を計算するR
- 28. 密度関数から確率を計算する
- 29. AIXサーバーでRAMの使用率を計算する
- 30. RのUrnモデル(ランダムイベントの確率を計算しようとしています)
階乗オーバーフローに問題がありました。再帰的な方法を使用しています。 https://en.wikipedia.org/wiki/Binomial_coefficient#Recursive_formula いいですか? –
@Bathsheba:明示的に計算するのではなく、大量の無作為サンプリング/法則でそれを行うには、 'std :: binomial_distribution'を使って行うことができます。私はこれが両方の方法や何かをするOPの宿題の一部だと考えています。 –