最大値の分布

  • $n$人がどこまでこぼさずに運べるか,競い合うとしよう。
  • 全員,条件は同じで,期待値も同じ。
  • $x_1,…,x_n$が,お互いに独立なパラメータ$1/\lambda$の指数分布

最大値$x_{(n)}$の累積分布は,

$$
G(x)=(1-e^{-{x}{\lambda}})^n
$$

最大値$x_{(n)}$の密度関数は,

$$
g(x)=\frac{n}{\lambda}e^{-\frac{x}{\lambda}}(1-e^{-\frac{x}{\lambda}})^{n-1}
$$

d01<-rexp(200000,1) #20万個の指数乱数を発生(lambda=1)
 d01<-matrix(d01,10000,20) #10000×20の行列に
 d02<-apply(d01,1,max) #各行(20個)の最大値を求める
 #もとの分布と比較してみる
 plot(density(rexp(10000,1)),xlim=c(0,8),ylim=c(0,1))
 par(new=T)
 plot(density(d02),xlim=c(0,8),ylim=c(0,1))

最大値の平均

$$
\int_{0}^{\infty}xg(x)dx
= \int_{0}^{\infty}x\frac{n}{\lambda}e^{-\frac{x}{\lambda}}(1-e^{-\frac{x}{\lambda}})^{n-1} dx
=\lambda\sum_{k=1}^n \frac{1}{k}
$$

参加人数を$n-1$人から$n$人に増やすと,最大値の期待値は$\lambda/n$高くなる

最大値の分散

$$
\int_{0}^{\infty}(x-m)^2g(x)dx
= \int_{0}^{\infty}x^2
\frac{n}{\lambda}e^{-\frac{x}{\lambda}}(1-e^{-\frac{x}{\lambda}})^{n-1} dx-
\left(\lambda\sum_{k=1}^n \frac{1}{k}\right)^2
=\lambda^2\sum_{k=1}^n \frac{1}{k^2}
$$

積率母関数

$$
\phi(\theta)=\int_0^{\infty}\frac{n}{\lambda}e^{(\theta-\frac{1}{\lambda})x}
\left(1-e^{-\frac{x}{\lambda}}\right)^{n-1}dx
$$

$t=e^{-\frac{x}{\lambda}}$とおくと,$x=0\to t=1$,$x=\infty\to t=0$,$dx=-\lambda/t dt$だから

$$
\phi(\theta)=\int_0^1nt^{-\lambda \theta}(1-t)^{(n-1)}dt
$$

$$
=n\frac{\Gamma(n)\Gamma(1-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}
$$

$$
\phi'(\theta)=-\lambda n\frac{\Gamma(n)\Gamma(1-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}\frac{\Gamma'(1-\theta \lambda)}{\Gamma(1-\theta \lambda)}+
\lambda n\Gamma(n)\Gamma(1-\theta \lambda)\frac{\Gamma'(1+n-\theta \lambda)}{\Gamma(1+n-\theta \lambda)^2}
$$

$$
=\lambda n\frac{\Gamma(n)\Gamma(1-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}
\left(-\frac{\Gamma'(1-\theta \lambda)}{\Gamma(1-\theta \lambda)}+
\frac{\Gamma'(1+n-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}
\right)
$$

$$
\phi'(0)=\lambda n\frac{\Gamma(n)\Gamma(1)}{\Gamma(1+n)}\left(-
\frac{\Gamma'(1)}{\Gamma(1)}+\frac{\Gamma'(1+n)}{\Gamma(1+n)}
\right)
$$

$$
=\lambda n\frac{(n-1)!\cdot 1}{n!}\left(
\gamma-\gamma+\sum_{k=1}^n\frac{1}{k}\right)
$$

$$
=\sum_{k=1}^n\frac{1}{k}
$$

$$
\phi”(\theta)=\lambda^2 n\frac{\Gamma(n)\Gamma(1-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}
\left(-\frac{\Gamma'(1-\theta \lambda)}{\Gamma(1-\theta \lambda)}+
\frac{\Gamma'(1+n-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}
\right)^2+
\lambda^2 n\frac{\Gamma(n)\Gamma(1-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}
\left(
\left(\frac{\Gamma'(1-\theta \lambda)}{\Gamma(1-\theta \lambda)}\right)’-
\left(\frac{\Gamma'(1+n-\theta \lambda)}{\Gamma(1+n-\theta \lambda)}\right)’
\right)
$$

$$
\phi(0)=\lambda^2 \left(\sum_{k=1}^n\frac{1}{k}\right)^2+
\lambda^2\left(\gamma^2-\gamma^2+\sum_{k=1}^n\frac{1}{k^2}\right)
$$

$$
=\lambda^2 \left(\sum_{k=1}^n\frac{1}{k}\right)^2+\lambda^2\sum_{k=1}^n\frac{1}{k^2}
$$

 > d01<-rexp(50000,1/3) #5万個の指数乱数を発生(lambda=3)
> d01<-matrix(d01,10000,5) #10000×5の行列に
> d02<-apply(d01,1,max) #各行(5個)の最大値を求める
> mean(d02) #最大値の平均
 [1] 6.838579
> var(d02) #最大値の分散
 [1] 13.04473
>
> #∑1/kの関数を定義
> harmnum<-function(n){d03<-0;for(i in 1:n){d03<-d03+1/i};d03}
 > #Σ1/k^2の関数を定義
> harmnum2<-function(n){d03<-0;for(i in 1:n){d03<-d03+1/i^2};d03}
>
> 3*harmnum(5)
 [1] 6.85
> 3^2*harmnum2(5)
 [1] 13.1725

 #n=2~nmaxの平均と分散を求める関数をつくる
 expmax<-function(nmax,lambda,lng){
   o01<-matrix(,nmax-1,3)
   for(i in c(2:nmax)){
     d01<-rexp(lng*i, 1/lambda) #i×lng個の指数乱数発生
     d01<-matrix(d01,lng,i) #10000×iの行列にする
     d02<-apply(d01,1,max) #各行(i個)の最大値を求める
     o01[i-1,1]<-i
     o01[i-1,2]<-mean(d02)
     o01[i-1,3]<-var(d02)
   }
  o01
 }
 
 

#lambda=3のとき,n=2~50の平均と分散を求めてみる
d01<-expmax(50,3,1000) #データ数を1000
d01<-data.frame(d01)
names(d01)<-c("n","Exn","Vxn")
matplot(d01[,1],d01[,2:3],pch = 1:4, type = "o",ylim=c(4,16))
 
f01<-function(k){
  o01<-0
  for(i in 1:k) o01<-o01+1/i
  o01
}

f02<-function(k){
  o01<-0
  for(i in 1:k) o01<-o01+1/(i^2)
  o01
}

d02<-matrix(nrow=49,ncol=2)
for(i in d01[,1]){
  d02[i-1,1]<-3*f01(i)
  d02[i-1,2]<-3^2*f02(i)
}

par(new=T)
plot(d01[,1],d02[,1],type="l",col=1,ylim=c(4,16))
par(new=T)
plot(d01[,1],d02[,2],type="l",col=2,ylim=c(4,16))

legend(40,10,
   c("平均(乱数)","分散(乱数)","平均(理論値)","分散(理論値)"),
      pch=c("○","△",".","."),lty=c(8,8,1,1),col=c(1,2,1,2))

指数分布から極値分布へ

酒をこぼさずに運ぶ競争(指数分布)の最大値は,競争の参加人数が$n-1$から$n$に増えると,期待値が$\lambda/n$だけ大きくなった。

$$\lambda\frac{\Delta n}{n}=\lambda\ln n$$

参加人数$n$の影響を除くために,

$$
y_{(n)}=x_{(n)}-\lambda\ln n
$$

という値の最大値の分布を考える。

$$
G(y_{(n)})={F(y+\ln n)}^n
=\left(1-\frac{e^{-\frac{y-a}{\lambda}}}{n}\right)^n
$$

$n\to \infty$のとき

$$
\lim_{n\to \infty}G(y_{(n)})=e^{-e^{-\frac{y-a}{\lambda}}}=\exp\left(-\exp\left(-\frac{y-a}{\lambda}\right)\right)
$$

これは第一種極値分布(ガンベル分布)