Excelでベルヌーイ分布に従う乱数を生成する方法

Excelでベルヌーイ分布に従う乱数を生成する方法

ベルヌーイ分布は、確率 p で1を、確率 1-p で0を取る離散確率分布です。この記事では、Excelを使ってベルヌーイ分布に従う乱数を生成する方法について説明します。

RAND関数とは

Excelの RAND 関数は、0から1の間の一様乱数を生成します。たとえば、

=RAND()

といった関数をセルに入力すると、そのセルに0から1の間のランダムな数値が表示されます。

ベルヌーイ分布に従う乱数の生成

セルA1に確率 p が入力されている場合、以下の式を使用してベルヌーイ分布に従う乱数を生成できます(上段)。

セルA1には「0.75」か「75%」のように「0~1」「0%~100%」の値を入力しておきます。これは「1」が生成される確率です。

式の作成後は、オートフィルをすれば数多く複製できます。ただし複製する場合は下段のように「$A$1」と絶対参照の設定をしてください。

=IF(RAND() < A1, 1, 0)
=IF(RAND() < $A$1, 1, 0)

この式では、生成された乱数が A1 より小さい場合、1を返し、そうでない場合は0を返します。これにより、確率 p で1が、確率 1-p で0が生成されます。


セルA1以外を確率 p が入力されているセルとするならば、以下の計算式になります。複製する場合は「$」を用いて絶対参照の設定をしてください。

=IF(RAND() < [確率pが入力されているセルの名前], 1, 0)

また、確率 p を定数0.75とするならば、以下の計算式になります。

=IF(RAND() < 0.75, 1, 0)

この計算式をExcelのセルに入力すると、そのセルにベルヌーイ分布に従う乱数(0または1)が生成されます。

コメント