0

私はC#に比較的慣れておらず、モンテカルロシミュレーションを使用してプロジェクトを行っています。基本的に私の質問は次のとおりです。

2 つの不確実な変数入力 A と B があり、それらはモデルを通過して C を出力します。つまり、C = f(A,B) です。A の確率分布 (Triangular) と B の確率分布 (Discrete) を知っています。C の確率分布を求めるにはどうすればよいですか?

これで、A の三角分布と B の離散分布に基づいて乱数を生成できるようになりました。ランダムに生成された A と B の各ペアは、結果の C を与えます。このモデルを 1000 回実行したので、C の 1000 の可能な値を取得できます。難しいのは、C の各値の対応する確率を取得することです。明らかに、1/ ではありません。 C が均一に分布していない場合は 1000。使用できるモンテカルロ シミュレーション パッケージ/ライブラリはありますか?

4

2 に答える 2

2

それらをヒストグラムに入れます。

たとえば、それぞれが小さな間隔に対応する1000個のビンを作成します。次に、モデルTotalN = 1000000回を実行し、各間隔に含まれる値の数を数えます。

次に、計算n[i]/TotalN/WidthOfBinして、その区間のおおよその確率密度を取得します。

于 2011-02-14T10:36:29.927 に答える
0

質問で説明されている概念を直感的に理解するには、Sam Savage の The Flaw Of Averages を読んでください。上記の質問をモデル化する方法を示すサンプル コード、デモ プロジェクト、およびスプレッドシートを提供します。

于 2011-04-24T23:38:27.143 に答える