- ベストアンサー
要素を並べ替えたベクトルの内積が,正規分布に従う原因について
以下の試行を考えます。 (1)長さNのベクトルX, Yを適当に作成する。 (2)Yの要素をランダムに並べ替え,そのベクトルをY'とする。 (3)内積(X, Y')を計算する。 Nが約20以上の状況で,この試行を1000~10000回程度繰り返すと,得られる内積は,X, Yの要素の分布に関わらず,ほぼ正規分布に従う結果となりました。 この現象の原因を解析的に(式で)理解したいと考えていますが,糸口がつかめない状況です。 何かご指摘を頂ければ幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
えーと、まず具体的にやっていることがよくわかってないんですが、 (2)の並び替えるっていう操作は本質的に意味のあることですか? つまり、単純に、長さNのベクトルX,Yをランダムに作成してその内積を取る、っていうのと、(1)(2)(3)は異なるものなんですか? 暗黙のうちに、X,Yの各要素は独立同分布(i.i.d.)だと思ってたんですがそうではない? i.i.d.だとすれば、<式による考察>に書いてある式であってそうです。 数値実験 >Aは平均がmean(x)*mean(y), 分散が(var(x)*var(y))/N この数値実験って具体的にどんな操作をしてますか? 例えば、X,Yの平均が1で、Xの分散が0、Yの分散が1のとき、積XYの分散は1になると思うのですがこの式だとならないですね。ということは、上で思っていた前提とは異なる、なんかの操作をしたってことなんでしょうけど。
その他の回答 (2)
- rabbit_cat
- ベストアンサー率40% (829/2062)
(1)(2)(3)の処理をすると、 最終的な内積は、 X×Y の分布に従う確率変数を20個取り出して、平均をとって、それを20倍したものになってます。 というわけで、まあ、20ていうのはかなり大きい数なんで、中心極限定理より、だいたい正規分布に従うはずです。 もちろん、Nを20よりも大きくすれば、もっと正規分布に近づくはずです。
補足
再び回答を頂きありがとうございます。大変参考になります! X×Y の分布に従う確率変数をXYとすると,内積をNで割ったもの(=Aとします)は,XYの標本平均とみなせるということですね。 実は,先に頂いた回答を頂いたあと,上記のような意味に解釈して,Aの計算式の導出と,Aの数値実験による計算をしてみました。その結果,両者の結果が一致しなかったので,下記に報告させていただきます。 <式による考察> AがXYの標本平均とみなせると仮定すれば,Nが十分大きい場合,中心極限定理によって,Aは平均が母平均に等しく,分散が母分散/nの正規分布に従うことになると思います。母集団はランダムに選んだX,Yの要素x,yの積の集合で,N^2個の要素からなります。これをx,yの統計量で表すと,平均がmean(x)*mean(y), 分散が(var(x)*var(y)+var(x)*mean(y)^2+var(y)*mean(x)^2)/Nとなりました。ここで,mean(), var()は,ベクトルの要素の平均および標本分散を表します. <数値実験> 一方,ランダムなX,Yを用いた数値実験をすると,Aは平均がmean(x)*mean(y), 分散が(var(x)*var(y))/Nの正規分布に従うという結果になりました。平均は上記の式による導出と一致していますが,分散は一致しませんでした。 以上から,AがXYの標本平均とみなせるという仮定が,もしかしたら成り立たないのではないかとも考えております。AがXYの標本平均とみなせないかもしれない理由としては,XYの母集団からのランダムな標本抽出と異なり, ○非復元抽出である。 ○Aの式の中に,X,Yの各要素は高々1回しか登場しない。 点が考えられると思います。 しかし,実際には正規分布になっているわけですから,中心極限定理は使えると思いたいのですが…、というところで混乱しております。 長くなってしまい恐縮ですが,もしお時間があれば,コメントをいただけると大変嬉しく思います。
- rabbit_cat
- ベストアンサー率40% (829/2062)
補足
ご回答をいただきありがとうございます。 中心極限定理について,内容が難しく,まだよく理解できておりません。 母集団からランダムに抽出した標本の平均が,正規分布に従うという具体例はわかったのですが,今回の場合は,どのようにこの定理を適用すればよいのでしょうか?
補足
早速ご回答をいただきありがとうございます。曖昧な部分などがあり,申し訳ありません。 大変恐縮なのですが,コメントを頂いてよく考えてみると,最初の質問文の記述に誤りがありました。仮に(1)~(3)を繰り返すとすれば,ご指摘の通り(2)は意味がない操作となると思います。 私が実際にしているのは,(1)は最初の1度だけ行い,その後(2)(3)を繰り返すという操作です。すなわち,ベクトルX,Yを作成した後,要素を何度もランダムに並べ替えながら内積を計算し,その分布を調べています。 (1)では,各要素が独立同分布に従うようにベクトルX,Yをそれぞれ作成するので,(2)で要素をランダムに並べ替えたベクトルも,やはり独立同分布に従っていると考えられると思います。 > >Aは平均がmean(x)*mean(y), 分散が(var(x)*var(y))/N > この数値実験って具体的にどんな操作をしてますか? > 例えば、X,Yの平均が1で、Xの分散が0、Yの分散が1のとき、 > 積XYの分散は1になると思うのですがこの式だとならないですね。 数値実験でも,各要素が独立同分布に従うようなベクトルX,Yを1度だけ作成した後,「Yをランダムに並べ替え,X,Yの内積を計算する」操作を繰り返しています。 数値実験上でも,X,Yの要素の積の分散は1になっています。しかしX,Yの内積は,Yの平均と等しくなり,Yをどのように並べ替えても一定なので,上式から計算されるように分散が0となります。 ところで,(1)~(3)全体を繰り返すように,すなわち内積を計算するたびにX,Yを発生しなおすように数値実験内容を変更したところ,計算された平均,分散が<式による考察>に書いた式にほぼ一致しました。どうして(1)を繰り返さなければならないのか,考えてみます(現実の目的は,(1)を繰り返さない場合に,内積が正規分布に従うことを示し,その平均,分散を求めることです)。 頂いたご指摘のおかげで,重要な手がかりが得られた気がします。ありがとうございます!