• ベストアンサー

正規乱数に歪度を考慮したい

あるソフトウェア上で正規分布に従う乱数を発生させる事は できています。そこから歪度を入れた分布で乱数を発生させたいと 考えています。そのソフトウェアではどうやら歪度を入れて 直接、乱数を発生させることはできなさそうなので 正規分布に従う乱数が一つずつ出てきたものを 何らかの数式で変換して 歪度を考慮したいと考えています。 この変換の方法はあるのでしょうか? どのような数式でできるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • chiezo2005
  • ベストアンサー率41% (634/1537)
回答No.1

P(x)を正規分布関数,もとめたい分布関数をQ(y)とします。 P(x)の正規分布関数に従う乱数は得られているとします。 変数変換y=f(x)をつかって正規分布関数P(x)をQ(y)の形に なるように変換できるf(x)を求めればよいと言う問題になります。 ∫P(x)dx=∫Q(y)dyですから, 積分のなかを変形してdy=f'(x)dxですから P(x)=Q(f(x))f'(x) となります。 ここでP(x)とQ(y)はあたえられていますから,上の式はf(x)についての 微分方程式になることがわかります。 これを解けばxに対して正規分布する乱数列x1,x2,x3・・・ をf(x)をつかってyに変換すれば f(x1),f(x2),f(x3)・・・ この数列はほしいQ(x)の確率分布をしている乱数列になります。

golioshikun
質問者

お礼

順序だててお書きくださり、考え方としてとても 参考になりました。お忙しい中、有難う御座いました。

関連するQ&A