学部1年生の統計学、数学の導出の演習問題が多いので、R言語を操作して直感的に理解する問題を解いてもらいました。大数の法則や、中心極限定理は、具体的にデータを触らないと、数式だけで理解するのは難しいと思います。また、二項分布の極限としてポアソン分布が、t分布の極限として正規分布が得られることなども、やってみると理解が深まるように思いました。
- 下記は、1個の$\lambda$と複数の$n$の値に対して、$p=\lambda/n$を計算して、それぞれで二項分布のグラフを書いている。ただし、横軸は$0\leq k\leq n$ではなく、$0\leq k/n\leq 1$になっている。また、赤のグラフは、ポアッソン分布のグラフを表している。$\lambda$(3種類)および$n$の値(各$\lambda$について10種類)をいろいろかえて、グラフを3枚提出せよ。そして、$n$が大きくするとき、それらはどのような分布に近づくか。
inner.prod=function(x,y)sum(x*y)
n.values=c(100,200,300,400,500)
lambda=20
plot(c(0,0.5),c(0,0.15),xlab=”k/n”,ylab=”確率”,main=”lambda=20″, type=”n”)
i=1
z=dpois(0:n,lambda)
lines(x,z,col=1,lty=1,lwd=2) # 太い実線
for(n in n.values){
p=lambda/n
x=(0:n)/n
y=dbinom(0:n,n,p)
i=i+1
lines(x,y,col=i,lty=2,lwd=1) # 細い破線
}
m=length(n.values)
legend(“topright”,legend=c(“ポアソン分布”,paste0(“n=”,n.values,”の二項分布”)),
col=1:(m+1), lwd=c(2,rep(1,m)),lty=c(1,rep(2,m)), cex =.8) - 下記は、相互に独立で標準正規分布にしたがう確率変数$X_1,\cdots,X_n$から計算した$(X_1+\cdots+X_n)/n$の実現値が、$n$とともに($n\leq m=1000$まで)どのように変化するかを10回繰り返したものである。標準正規分布を、$X_i=0,1$, $i=1,\cdots,n$の確率変数(等確率)にかえて、同様のグラフを作成せよ。
m=1000
plot(x=0:m,ylim=c(-1,1),xlab=”n”,ylab=”サンプル平均”, type=”n”)
for(i in 1:10){
S=0
y=NULL
for(n in 1:m){
x=rnorm(1)
S=S+x
y=c(y,S/n)
}
lines(1:m,y,col=i)
} - 下記は、1の生起する確率が$p=0.25$の$X=0,1$の確率変数を$n$個加えて$n$で割り、平均$\mu=p$を引いたものから$\sqrt{\sigma^2/n}$(分散$\sigma^2=p(1-p)$)で割った値がどのような分布に従うかをみたものである。$X$が平均1のポアソン分布にしたがう場合について、同様の処理を行い、グラフを出力せよ。
p=0.25
m=1000
n=100
y=NULL
for(i in 1:m){
x=rbinom(n,1,p)
y=c(y,(sum(x)/n-p)/sqrt(p*(1-p)/n))
}
hist(y,breaks=m/40,probability=TRUE,main=”相対頻度”)
curve(dnorm,-10,10,add=TRUE) - 下記は、標準正規分布と自由度4,8,12,16,20のt分布のグラフを重ね合わせたものである。問題1にならって、グラフ右上に凡例をつけよ(サンプルを参照のこと)。
df.values=c(4,8,12,16,20)
curve(dnorm,-5,5,xlab=”x”,ylab=”確率密度”, lwd=2, lty=1)
for(i in 1:5)curve(dt(x, df=df.values[i]),-5,5, col=i+1,lwd=1,lty=2, add=TRUE)