最大値の分布
- $n$人がどこまでこぼさずに運べるか,競い合うとしよう。
- 全員,条件は同じで,期待値も同じ。
- $x_1,…,x_n$が,お互いに独立なパラメータ$1/\lambda$の指数分布
$$
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)
$$
これは第一種極値分布(ガンベル分布)