世の中には正規分布とか,指数分布とか,ワイブル分布とかいろいろな分布に従う現象があります.確率的な現象が従う分布の関数形を特定すると,背後にある生成メカニズムを考えるヒントになるので,分布のことを理解しておくと役に立ちます.今回は,Rで確率分布を描いたりする方法を紹介します.
「確率分布」という用語はその意味が曖昧なので,ここでは,「確率密度関数」,「確率分布関数」という呼び方を使います.以下では,連続的な区間の値をとる連続確率変数を考えます.

確率密度関数
正規分布は,,
をパラメタとして,
確率密度関数が与えられたとき,確率を求めたいのであれば区間を考える必要があります.例えば,
に従う確率変数
が,
の区間の値をとる確率は,
で与えられます.
Rで確率密度関数はdと確率分布関数はp
Rで確率密度関数を扱うコマンドの最初の文字はd
,確率分布関数を扱うコマンドの最初の文字はp
です.その後に分布を示す文字列が付きます.
例えば,正規分布 (normal distribution)の場合は,norm
を付けます.そして,
- 確率密度関数を表すコマンドは,
d
+norm
=dnorm
- 確率分布関数を表すコマンドは,
p
+norm
=pnorm
です.
おまけですが,確率分布関数の逆関数を表すコマンドは,q
+norm
=qnorm
になります.
以下は,確率密度関数,確率分布関数,確率分布関数の逆関数を描くRスクリプトの例です.
mu <- 1 sig <- 2 par(mfrow=c(3,1),mar=c(5,5,2,2)) curve(dnorm(x,mu,sig),xlim=c(mu-4*sig,mu+4*sig),ylab="f(x)",main="Probability Density Function",lwd=2,col=4) curve(pnorm(x,mu,sig),xlim=c(mu-4*sig,mu+4*sig),ylab="F(x)",main="Probability Distribution Function",lwd=2,col=4) curve(qnorm(x,mu,sig),xlim=c(0,1),ylab=expression(paste(F^{-1},"(x)")),main="Probability Distribution Function",lwd=2,col=4)
これを実行すると,以下の図が描かれます.

最後に
次回は,他の分布や,疑似乱数の生成について説明します.