質問

Wikipedia のこの図には、私が理想的に生成したい関数の素晴らしい例が示されています。

pseudo-Gaussian distributions

現在、私は Irwin-Hall 分布を使用しています。これは多かれ少なかれガウス分布の多項式近似です...基本的には、一様乱数発生器を使用し、それを x 回繰り返し、平均をとります。反復が多いほど、ガウス分布に似てきます。

とてもいいですね。ただし、平均を変更できるものを用意したいと考えています。たとえば、0 から 10 までの範囲の数値が必要だったとします。 その周り 7。たとえば、(この関数を複数回繰り返した場合) 平均は 7 になりますが、実際の範囲は 0 ~ 10 です。

調べるべきものはありますか、それとも標準のガウス分布を使用して複雑な数学を実行することに取り組む必要がありますか?

役に立ちましたか?

解決

あなたの質問には矛盾があると思います。一方では、次のような正規分布が必要です。 対称的な 性質上、反対側から見ると、範囲を平均値に非対称に配置する必要があります。

釣鐘曲線に似ていますが非対称である他の分布密度関数を調べてみるべきだと思います。のように ログの配布 または ベータ版の配布.

他のヒント

に見て、通常のランダム変量を生成します。あなたは通常ランダム変量X = N(0,1)のペアを生成し、いずれの正常ランダム変量にそれをtranformできY = N(M、S)(Y = M + S * X)。

のように聞こえます 切り詰められた法線 配布は医師の指示どおりです。それ自体は「計算的に単純」ではありませんが、正規分布の既存の実装があれば実装は簡単です。

必要な平均、必要な標準偏差、および必要な場所で両端をもつ分布を生成することができます。必要な TN の平均値を取得するには、基礎となる (切り捨てられていない) 正規分布の平均値と標準偏差を計算する作業を事前に行う必要がありますが、その記事の数式を使用できます。この方法を使用して分散も調整できることにも注意してください:)

私は両方の Java コード (Commons Math フレームワークに基づく) を持っています。 正確(遅い) そして 早い(精度は低い) PDF、CDF、サンプリングを使用したこの配布の実装。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top