相関のある擬似乱数を”どんな分布であれ”作る方法

という記事が、ここに載っていた。

www.r-bloggers.com

 

統計学の基礎知識がちゃんとないので、原理はよくわからないのだけども、ほんとにそうなら便利だなぁ…。

これがあれば、相関のある二つの正規乱数から二つの相関のある指数乱数なんて簡単にできそうです。いっちょやってみたいと思います。やったらご報告します。

 

報告しますって言うか…。やってみたら、あっさりできた。

 

要するに、相関のある擬似正規乱数(例えば4つの変数で) をmvrnormか何かで作って、それをdexpするだけでした(汗)

例えば、4変数で正規乱数を1番目と4番目の変数に仮定したとき、

mvrnorm(n=1000,mu=c(1,1,1,1),Sigma=matrix(c(1,0,0,0.7, 0,1,0,0, 0,0,1,0, 0.7,0,0,1),ncol=4))

f:id:senedesmus:20170217144958p:plain

で、これをdexp()すると…?

f:id:senedesmus:20170217145551p:plain

あれ…?やっぱ、そうは問屋がおろさないのか。

しかし、正規分布している変数(もしくは一様分布とか)を指数分布に変換する関数はありそうな気がします、よね。しかしそれで複数の変数の相関まで維持されるかどうかは疑問。むーん!難しい。もうちょっと統計学の基礎知識があったらいかったのになぁ。