統計検定に関する事柄を忘れないようにまとめます.

確率変数Xの値に関わらず,確率密度関数が常に一定の値である確率分布を一様分布という.特に,確率変数Xが連続確率変数であるとき,その分布を連続一様分布 (continuous uniform distribution) という.計算科学における擬似乱数列の発生などに応用されている.パラメーター (母数) は確率変数Xの取り得る最小および最大の値 aおよび b である.そのため一様分布は U(a, b) で略記される.確率密度関数は以下で与えられる.

\begin{eqnarray*}f(x)=\frac{1}{b-a}\tag{1}\end{eqnarray*}

上述のように,aおよびbはXの取り得る最小および最大の値であり,Xの範囲は以下で与えられる.

\begin{eqnarray*}a\leq x\leq b\tag{2}\end{eqnarray*}

モーメント母関数は以下で与えられる.

\begin{eqnarray*}M_X(t)=\frac{e^{bt}-e^{at}}{(b-a)t}\tag{3}\end{eqnarray*}

期待値は以下で与えられる値である.確率変数の取り得る最大値と最小値の平均となっており理解し易い.この値は分布の中央値と等しい.

\begin{eqnarray*}E(X)=\frac{a+b}{2}\tag{4}\end{eqnarray*}

分散は以下の式で与えられる.

\begin{eqnarray*}V(X)=\frac{(b-a)^2}{12}\tag{5}\end{eqnarray*}

モーメント母関数,期待値および分散の導出

モーメント母関数は以下のように求められる.

\begin{eqnarray*}M_X(t)&=&\int_{-\infty}^{\infty}e^{tx}f(x)dx\\&=&\frac{1}{b-a}\int_{a}^{b}e^{tx}dx\\&=&\frac{1}{b-a}\left[\frac{e^{tx}}{t}\right]_a^b\\&=&\frac{e^{bt}-e^{at}}{(b-a)t}\tag{6}\end{eqnarray*}

期待値は以下のように求める.

\begin{eqnarray*}E(X)&=&\int_{-\infty}^{\infty}xf(x)dx\\&=&\frac{1}{b-a}\int_{a}^{b}xdx\\&=&\frac{a+b}{2}\tag{7}\end{eqnarray*}

分散は以下のように求める.分散と期待値の変換公式を利用する.

\begin{eqnarray*}V(X)&=&E(X^2)-[E(X)]^2\\&=&\int_{-\infty}^{\infty}x^2f(x)dx-\left(\frac{a+b}{2}\right)^2\\&=&\frac{1}{b-a}\int_{a}^{b}x^2dx-\left(\frac{a+b}{2}\right)^2\\&=&\frac{1}{b-a}\frac{b^3-a^3}{3}-\left(\frac{a+b}{2}\right)^2\\&=&\frac{a^2+ab+b^2}{3}-\frac{a^2+2ab+b^2}{4}\\&=&\frac{(a-b)^2}{12}\tag{8}\end{eqnarray*}

一様分布とベータ分布

一様分布とベータ分布には密接なつながりがある.一様分布はベータ分布の特別な場合であり,簡単な計算にてベータ分布より導くことができる.ベータ分布において,パラメーター α および β がそれぞれ 1 であるとき確率密度関数は以下のようになる.これはまさに連続一様分布の確率密度関数である.

\begin{eqnarray*}f(x)=1\end{eqnarray*}

ここで確率変数の範囲を区間[a, b]とし,1/(b-a) にて規格化すると,x が区間 [a, b] において一様な生起確率を示す一様分布が得られる.

\begin{eqnarray*}f(x)=\frac{1}{b-a}\ \ \ (a\leq x\leq b)\end{eqnarray*}

確率密度関数の形状

連続一様分布の確率密度関数の形状は以下のようになる.

tpd_continuous_uniform_distribution_01.svg

図を生成するためのRソースコード

#!/usr/bin/env Rscript

main=function()
{
	svg("tpd_continuous_uniform_distribution_01.svg",width=8,height=4)
	par(plt=c(0.2,0.9,0.2,0.9))
	x=seq(-6,6,0.01)
	plot(x,type="n",xaxs="i",yaxs="i",xlim=c(-6,6),ylim=c(0,0.4),bty="l",xlab="",ylab="Probability density",las=1,family="Arial")
	lines(x,dunif(x,min=-2,max=2),lty=1,lwd=1.6,col="#2b4b65")
	lines(x,dunif(x,min=-3,max=3),lty=1,lwd=1.6,col="#ff8c00")
	lines(x,dunif(x,min=-4,max=4),lty=1,lwd=1.6,col="#e12f3c")
	axis(side=1,at=-6:6,tck=1.0,lty="dotted",lwd=0.5,labels=NA)
	axis(side=2,tck=1.0,lty="dotted",lwd=0.5,labels=NA)
	labels=c("U(-2, 2)","U(-3, 3)","U(-4, 4)")
	legend("topright",legend=labels,lty=1,lwd=1.6,col=c("#2b4b65","#ff8c00","#e12f3c"),cex=0.8,bg="#ffffff",box.lty=3)
	dev.off()
}

main()
Hatena Google+