gpt4 book ai didi

c# - 如何像实数一样加减概率分布?

转载 作者:太空狗 更新时间:2023-10-29 17:57:37 35 4
gpt4 key购买 nike

我想听听您的建议:您能否推荐一个允许您像实数一样加/减/乘/除 PDF(概率密度函数)的库?

在幕后,它必须执行蒙特卡罗来计算结果,所以我可能更喜欢快速高效的东西,它可以利用系统中的任何 GPU。

更新:

这就是我正在寻找的 C# 代码:

  var a = new Normal(0.0, 1.0); // Creates a PDF with mean=0, std. dev=1.0.
var b = new Normal(0.0, 2.0); // Creates a PDF with mean=0, std. dev=2.0.
var x = a + b; // Creates a PDF which is the sum of a and b.
// i.e. perform a Monte Carlo by taking thousands of samples
// of a and b to construct the resultant PDF.

更新:

我正在寻找的是一种在 The Flaw of Averages 中实现“概率形状”代数的方法。山姆·萨维奇。视频Monte Carlo Simulation in Matlab解释了我想要的效果 - 一个对一系列输入分布执行数学运算的库。

更新:

搜索以下内容将生成有关相应库的信息:

  • “蒙特卡洛图书馆”
  • “蒙特卡洛 C++”
  • “蒙特卡洛 Matlab”
  • “蒙特卡洛.NET”

最佳答案

@Risk Developer Kit 允许您从一组概率密度函数开始,然后对输入执行代数以获得一些输出,即 P = A + B。

关键词on this page可用于查找其他竞争产品,例如尝试搜索:

  • “蒙特卡洛仿真模型C++”
  • “蒙特卡洛仿真模型.NET”
  • “风险分析工具包”
  • “分配拟合能力”。

用 C++ 或 .NET 等语言编写代码并不难。蒙特卡洛部分大概只有 50 行代码:

  • 阅读 Sam Savage 的“The Flaw Of Averages”,了解如何在“概率形状”上使用代数。
  • 有一些生成“概率形状”的方法,可以通过从一些采样数据中引导,或者从预先确定的概率密度函数中,或者通过使用 Math.NET probability library .
  • 从输入的概率形状中提取 10000 个样本。
  • 对样本进行代数运算,即 +、-、/、* 等,以获得 1000 个输出。您还可以形成一个概率树,在输入上暗示和、或等。
  • 通过将结果放入 100 个离散的“桶”中,将这 10000 个输出组合成一个新的“概率形状”。
  • 现在我们有了一个新的“概率形状”,然后我们可以将其用作新概率树的输入,或者执行积分以获得面积,在给定某个阈值的情况下将其转换回硬概率数。
  • 视频Monte Carlo Simulation in Matlab比我更好地解释了整个过程。

关于c# - 如何像实数一样加减概率分布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6271032/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com