一様分布を生成する 
数学的なメカニズム例 
についてのメモ 
2014-08-25 TS 
意外な所に一様分布が潜んでいる例を示す。 
(主観的な感覚ではあるが、“一様分布” は他のよく知ら 
れた分布関数のように数式一つで表されないので「数 
学的」ではなく、何だか「人工的」と思われるかもしれな 
い。しかし、そのような考えを覆すような興味深い例を3 
例示す。その内、連続一様分布は2例、離散一様分布 
は1例である。)
一様分布が現れる例 
 連続一様分布が現れる場合: 
(1) 3次元空間の球の表面の上に一様分布する点を 
任意の直線に射影した場合 
(2) 2次元ガウス分布する各点の近傍の密度 
 離散一様分布が現れる場合: 
(3) 乱数を連続型確率分布から2組n個ずつ生成し、 
各組で昇順整列してA1,..,An; B1,..,Bn として、Ak > Bk 
となるkの個数
(1) 3次元の球面 
左の図は3次元空間の 
球の表面に3万個の打 
点した様子。これらの 
点のx座標を取り出す 
と一様分布になる。 
一般にn次元空間の球 
の表面上の一様分布 
をn-2 次元に射影する 
と、n-2 次元の球体の 
一様分布になる。
(2) 2次元ガウス分布の点に関して 
赤の薄さが確率密度の 
高さ、丸はその密度に 
従って取り出した点を表 
す。各点における密度に 
関して、ヒストグラムを描 
くと、一様分布を示す。 
もしも、日本の国土に住 
む各人の住む町の人口 
密度をヒストグラムにす 
ると、果たしてどういう形 
状になるだろうか?
(3) 2組各々整列して対で大小比較 
6個乱数生成して大小順に並べた数列の編成を多数生成する。2編成ずつに分け、片方の編成の 
数列は赤い円列の各半径、残りの編成の数列は青い円列の各半径とする。赤の円列と青の円列 
を中心を共有しながら縦に並べる。小さい方の円の色で内側も塗りつぶす。 
すると、以外と高い確率(7分の2)の確率で同じ色で塗りつぶされた6個の円が並ぶ(上記で30例中 
8例)。さらに、赤で塗りつぶされた円の個数は0から6までの整数が同じ確率で出現する。
補足 
いろんな次元の空間の球の表面に一様分布した点を2次元に射影した様子

When a uniform distribution appears? 一様分を生成する数学的なメカニズム例3個についてのメモ

Editor's Notes

  • #6 #par(mfrow=c(1,1)) #opar=par() l=6 XR=c(-4,4);YR=c(-9,8)#c(-1,16)#(-9,8) #(0,17) #-10,7 YP=6:1#rev(cumsum(c(1,0.7,.6,.5)))[1:l] lwd=1.5 for(XI in -7:7/2) { R1=2^sort(runif(l,-5,-2)) R2=2^sort(runif(l,-5,-2)) Rc=(R1>R2)*R2+(R2>R1)*R1 ; cols=c(rgb(1,0,0,.3),rgb(0,0,1,.3))[1+(R2<R1)] symbols(rep(XI,l),YP,circles=R1,inches=F,fg=rep("red",1),bg=NA,lwd=lwd,xlim=XR,ylim=YR) par(new=T) symbols(rep(XI,l),YP,circles=R2,inches=F,fg=rep("blue",1),bg=NA,lwd=lwd,xlim=XR,ylim=YR) par(new=T) symbols(rep(XI,l),YP,circles=Rc,inches=F,bg=cols,fg=cols ,lwd=lwd*2,xlim=XR,ylim=YR) par(new=T) } par(new=T)
  • #7 使ったコマンドは par(mfrow=c(2,4));for(k in c(2:5,6,10,100,1000)){L=1e4;XY=apply(array(rnorm(L*k),c(k,L)),2,function(x){x/sqrt(sum(x^2))})[1:2,];plot(XY[1,],XY[2,],xlab="",ylab="",cex=0.1,col=rainbow(20),main=paste("dim =",k,sep=" "),xaxt="n",yaxt="n",xlim=c(-1,1),ylim=c(-1,1))}