データ生成したあと互いのデータを関連付ける為に相関係数を使用したい
下記 分布より samplesとsamples2には相関係数0.5の関係があります。それぞれのデータを相関係数より関連付けるにはどうすれば宜しいでしょうか?
一つは各種ソートかけるほうほうがあると思います。 さらに本問題はsamples3....samples12まであり各種 0.3 0.5-0.2等 バラバラです。 各種,mean とsdはわかっています。
import scipy.stats
lower = 0
upper = 39
mu = 8.563
sigma = 6
N = 200
samples = scipy.stats.truncnorm.rvs(
(lower-mu)/sigma,(upper-mu)/sigma,loc=mu,scale=sigma,size=N)
lower2 = 0
upper2 = 12
mu2 = 3
sigma2 = 9
N = 200
samples2 = scipy.stats.truncnorm.rvs(
(lower-mu)/sigma,(upper-mu)/sigma,loc=mu,scale=sigma,size=N)
print(samples)
学校の課題ですか?
違います。
個人でデータ解析をしており
擬似データ作成を考えております。
相関係数より関連付けるという意味を詳しく知りたいのですが、
1. 相関係数が0.5となるようなデータを作りたい
2. データから相関係数を計算した結果0.5となるはずだ
上の二つのうちご質問はどちらに当てはまりますでしょうか?
もしくは、もっと違うことを意図していますか?
回答して頂きありがとうございます。
2ですね。
そして各平均と偏差はわかっておりその分布から、擬似データは作成されます。
それぞれのデータを関連付けたいです。
例えば身長190の人が体重30キロなんていうのはありない90ぐらいのデータとひもづけるのが妥当 ただ、ここでは生年月日なども紐付けます。 つまり身長190 175 150 体重90 60 40というデータが個々にあったら相関係数より、紐付けは大体できるはず
つまり、samplesとsamples2の2つの1変数データ1つ1つに対し、適切にペアを構成することによって、相関係数が0.5(に出来るだけ近い)2変数データを作りたいという意味ですかね?
ありがとうございます。
仰る通りです。
厳密には13変数まで拡充させていくつもりです。
素直に実装するならば、順列全探索で0.5に最も近いペアを作れると思いますが、計算量が爆発的に増えるため、11個程度で数秒計算がかかってしまいます。もっと高速に計算したいなら、別のアルゴリズムを使うことになると思いますが、私には分からないです。
これまでのやりとりを踏まえて質問本文を修正すると回答得られやすいかと思います。
また、生成したデータ数、例でいうと人の数はどれほどでしょうか?
回答2件
あなたの回答
tips
プレビュー