Rで学ぶ統計学(確率変数・確率分布・正規分布)

プログラミング

Rを用いて統計学を解説します!

今回は統計学の中でもかなりの頻度で登場する「正規分布」について解説し、Rでの実践方法もお伝えします。

大変重要な内容となっているので、どんなものかを是非確認してください!

その他の記事はこちらから↓

Rで学ぶ統計学 基本から統計とプログラミングを学ぶ!
はじめての人でもわかるように、Rで統計学を実践的に解説します!

統計の理論

確率変数・確率分布とは何か?

正規分布の説明をする前に、確率変数と確率分布についての説明をしておきます。

結果が得られるまでどのような値になるかわからない変数を確率変数といいます

具体例を出してみましょう。1〜100の数字が書かれた100枚のカードをシャッフルしてランダムに1枚カードを引くとします。この時カードに書かれた値は、実際にカードを引いてみるまでわかりません。1〜100までのどの値も\(\frac{1}{100}\)の確率で出てきます。

このように、確率変数は変数の値がどうなるかが確率で決まっています。

では確率分布はどうでしょうか。確率分布とは確率変数の分布を表したものです。試しにサイコロの出る目についての確率分布を考えてみましょう。グラフにすると下の図のようになります。

実はこれはRで学ぶ統計学(相対度数分布表・ヒストグラム)で述べた相対度数分布グラフと同じものになっています。面積を計算すると1になっています。

ちなみにですが、上図のサイコロのように確率変数の取れる値が1,2,3,4,5,6と飛び飛びの数値になっている場合は離散変数と言い、身長などのように確率変数の取れる値が連続の実数の場合は連続変数と言います。

正規分布における確率変数については連続変数となっているので注意してください。

正規分布とは何か?

正規分布は様々なところで登場します。身長の分布、偶然的な誤差の分布など、現実世界の様々な値の分布が正規分布になることがわかっています。

正規分布とは、次の図のような左右対処の確率分布のことです

この分布は、平均0、分散1になっています。平均\(\mu\),分散を\(\sigma ^2\)としたときの分布については、\(N(\mu,\sigma ^2\))と書くので、このときは\(N(0,1\))と書き表します。

先程の確率分布のグラフと違う点がグラフの縦軸です。離散変数の場合は縦軸が確率で問題ありませんでしたが、連続変数の場合は縦軸が確率密度と呼ばれる値になります。

確率密度についての説明をしておきましょう。確率密度に確率変数の「横幅の長さ」を掛けた値(つまり面積)が確率となります。これは連続変数があらゆる実数値を取り得るのでこのようになっているのです。

具体例を図で表しましょう。\(-2\leq 確率変数\leq 2\)となる確率は下図の面積になります。

この面積の値は0.9544997です。つまり、95.44997%の確率で、確率変数は-2から2の範囲の値になります。

以上の正規分布は平均0、分散1(\(N(0,1\))と表す)となっていて、これを標準正規分布と言ったりします。

因みにですが、一般的な正規分布\(N(\mu,\sigma ^2\))について、グラフがどんな関数で表されるかをちゃんと書いておきます。難しいので、式で表せるということがわかってくれれば大丈夫です。


\[f(x) = \frac{1}{\sqrt{2\pi}\sigma}\exp \left(\frac{-(x-\mu)^2}{2\sigma ^2}\right)\]


このように、確率密度を関数の形で表したものを確率密度関数と言います。

Rで実践

Rで正規分布を描いてみよう

先程解説した正規分布をさっそくRで描いてみましょう。曲線を描く関数curve()と、正規分布の確率密度関数dnorm()を使います。以下のように入力してください。

> curve(dnorm(x,mean=0,sd=1) ,from=-4, to=04)

curve()はcurve(xを含む式, from=グラフの左端の値, to=グラフの右端の値)で曲線を描きます。

dnorm()はdnorm(x, mean=平均値, sd=標準偏差)で正規分布の確率密度関数を表します。実際に描かれるグラフは下と同じはずです。

ついでにdnorm()を使って、平均値0での確率密度の値を求めてみましょう。先程のxに具体的な値を入れると、その点での確率密度を求めることができます。

> dnorm(0,mean=0,sd=1)
[1] 0.3989423

つまり、確率変数が0となる時の確率密度は0.3989423とわかりました。

因みに、これは正規分布の確率密度関数\(f(x) = \frac{1}{\sqrt{2\pi}\sigma}\exp \left(\frac{-(x-\mu)^2}{2\sigma ^2}\right)\)に代入してみると同じことが確かめられます。実際、\(x=0, \mu =0, \sigma =1\)となるので、

\begin{align}
f(0) =& \frac{1}{\sqrt{2\pi}}\exp \left(\frac{-(0-0)^2}{2 ^2}\right)\\
=& \frac{1}{\sqrt{2\pi}}\\
=& 0.3989423
\end{align}

のようになり、0.3989423に一致することがわかりました。

コメント・質問