4

二変量正規分布とスチューデント T 分布からランダム サンプルを生成する最良の方法は何ですか? どちらの場合も、シグマは 1、平均は 0 です。したがって、私が本当に関心を持っている唯一のパラメーターは、相関 (および学生 t の自由度) です。C++ でソリューションを作成する必要があるため、残念ながら、MatLab または Mathematica から既に実装されている関数を使用することはできません。

4

3 に答える 3

6

GNU GSL ライブラリを使用できます。二変量法線については、こちらを参照してください。

http://www.gnu.org/software/gsl/manual/html_node/The-Bivariate-Gaussian-Distribution.html

スチューデントの t 分布は次のとおりです。

http://www.gnu.org/software/gsl/manual/html_node/The-t_002ddistribution.html

それらは簡単に使用できます。

于 2010-01-24T18:21:36.660 に答える
4

共分散が1で平均がゼロの二変量正規分布の場合は、2つの単変量正規分布を描画するだけです。

平均(m1、m2)、標準偏差(s1、s2)、および相関rhoを使用して二変量正規分布を描画する場合は、2つの単位単変量正規分布XおよびYを描画して設定します。

u = m1 + s1 * X
v = m2 + s2 * (rho X + sqrt(1 - rho^2) Y)

次に、uとvが必要に応じて配布されます。

スチューデントTの場合、正規変量Nとカイ2乗変量Vを描画する必要があります。次に、N / sqrt(V)はT分布になります。

chi ^ 2を描画するには、パッケージを使用する必要があります。または、ガンマ分布から描画する方法については、数値レシピの第7章を参照してください(xhi ^ 2はガンマの特殊なケースです)。

于 2011-07-01T21:23:47.593 に答える
3

Boost ライブラリのランダム ディストリビューションを確認してください。 http://www.boost.org/doc/libs/1_41_0/libs/random/random-distributions.htmlを参照してください。基本的な概念に頭を悩ませると、非常に使いやすいことがわかりました。残念ながら、統計があなたのニーズを正確に満たすかどうかを判断できるほど、私は統計について十分な知識を持っていません。

于 2010-01-24T18:20:58.550 に答える