R言語

R言語 確率分布のプロット・乱数の生成 様々な乱数の算出方法

  1. HOME >
  2. R言語 >

R言語 確率分布のプロット・乱数の生成 様々な乱数の算出方法

スポンサーリンク

ここでは、R言語で確率分布をプロットしたり、確率分布からの乱数を生成したりする方法を解説していきます。

確率密度や確率を算出するための関数さらに乱数を生成する関数を紹介し、関数の使用例をまとめています。

今回紹介するプログラミングコードも以下のzipファイル中のRスクリプトに保存しています。

Rでデータ解析を始めるならコレ
¥3,300 (2022/06/01 17:20時点 | Amazon調べ)
統計学初学者向けの教材です
¥2,970 (2022/06/01 17:41時点 | Amazon調べ)

確率分布のための関数

確率密度・質量、分布関数、確率点、乱数の算出

確率分布の各点の確率密度や分布関数、確率点、乱数を算出する関数を以下にまとめました。

表の左が確率分布で右側が各分布に対応する関数になります。

なお、関数の引数についてですが全て説明すると膨大になるので省略します。関数の引数は各分布のパラメータを指定するものがあり、様々なパラメータに関する確率分布の密度・質量、分布関数、確率点、乱数を算出することができます。

確率分布に対応する関数
分布確率密度・確率質量分布関数確率点乱数
ベータ分布dbeta()pbeta()qbeta()rbeta()
二項分布dbinom()pbinom()qbinom()rbinom()
コーシー分布dcauchy()pcauchy()qcauchy()rcauchy()
カイ二乗分布dchisq()pchisq()qchisq()rchisq()
指数分布dexp()pexp()qexp()rexp()
F分布df()pf()qf()rf()
ガンマ分布dgamma()pgamma()qgamma()rgamma()
幾何分布dgeom()pgeom()qgeom()rgeom()
超幾何分布dhyper()phyper()qhyper()rhyper()
ロジスティック分布dlogis()plogis()qlogis()rlogis()
対数正規分布dlnorm()plnorm()qlnorm()rlnorm()
負の二項分布dnbinom()pnbinom()qnbinom()rnbinom()
正規分布dnorm()pnorm()qnorm()rnorm()
ポアソン分布dpois()ppois()qpois()rpois()
t分布dt()pt()qt()rt()
スチューデント化された分布dtukey()ptukey()qtukey()rtukey()
一様分布dunif()punif()qunif()runif()
ワイブル分布dweibull()pweibull()qweibull()rweibull()
ウィルコクソンの順位和統計量の分布dwilcox()pwilcox()qwilcox()rwilcox()
ウィルコクソンの符号和統計量の分布dsignran()psignran()qsignran()rsignran()

関数の使用例

上に記載した関数の使いかたを紹介していきます。

ここでは、確率密度及び確率質量を算出する関数(dnormdunif)と乱数を生成する関数(rnormrunif)の実行例について触れていきます。

正規分布

関数dnormを使って正規分布の確率密度関数を描画する方法を以下にまとめました。

上から平均0、分散1の正規分布、平均0、分散4の正規分布、平均0、分散9の正規分布を描画しています。
次の例は、関数rnormから生成される正規乱数が実際に正規分布に従っているかをプロットしています。

サンプルサイズを大きくすることでヒストグラムがより正規分布の形に近づいていることが見て取れます。

一様分布

次に一様分布に関する例をみていきます。
次のようにして一様分布の確率密度関数をプロットすることが可能です。

各区間に対応する一様分布を描いていることが分かります。
次に、一様乱数を生成する関数runifの使用例についてみていきます。
次のように一様乱数を用いることで円周率を近似的に求めることができます。

一様乱数を用いて、面積が1の正方形中の座標をランダムに抽出します。半径1以内の円内(ここでは扇内)の座標の数と正方形の面積との比を用いることで円周率を求めています。サンプル数を大きくすると3.14に近づいていることが分かります。

モンテカルロ法を用いた円周率のシミュレーションゲームは次の記事で紹介しています。


次の例は、標本平均の分散の収束をプロットしています。

サンプルサイズが大きくなることで標本平均の分散が小さくなることが分かります。

二項分布

次に二項分布に関する関数の使いかたを紹介していきます。
次のようにして各パラメータの二項分布の確率関数を描画することが可能です。

次に関数rbinomの使用例を紹介します。パラメータp=0.5の二項分布のnを大きくすると、正規分布に近づくことをプロットで確かめています。


サンプルサイズnが750を超えるとヒストグラムはほぼ正規分布になっています。

ポアソン分布

最後にポアソン分布に関する関数を紹介します。
次のようにしてポアソン分布の確率関数を描くことができます。

関数rpoisの使いかたではないですが、rbinomの引数pを小さくすることで二項分布がポアソン分布に近づくことを確かめています。

パラメータpを小さくすることで、二項分布の確率関数が上で紹介したポアソン分布の確率関数に近づいていることが分かります。

まとめ

R言語で確率密度を得たり乱数を発生させたりする方法を紹介しました。

この記事で見てきたように、簡単に確率分布をプロットしたり確率点を算出することが可能です。

また、任意の分布の乱数を簡単に発生させることが可能であり、シミュレーションで非常に役立ちます。

スポンサーリンク

  • この記事を書いた人
  • 最新記事

usagi-san

統計学とゲームとかをメインに解説していくよ。 数式とかプログラミングコードにミスがあったり質問があったりする場合はコメントで受け付けます。すぐに対応します。

-R言語
-,