Python NumPy を使用してベルヌーイ分布を実装する

Vaibhhav Khetarpal 2023年1月30日
  1. ベルヌーイ分布
  2. 二項分布
  3. Python で NumPy を使用してベルヌーイ分布を実装する
Python NumPy を使用してベルヌーイ分布を実装する

統計学の非常に重要なトピックとして、ベルヌーイ分布は、データの処理に役立つため、データサイエンス、機械学習、およびその他の関連分野の重要な側面です。このチュートリアルでは、ベルヌーイ分布と、NumPy ライブラリを使用して Python でベルヌーイ分布を実装する方法について説明します。

ベルヌーイ分布について話すとき、二項分布という用語が常に頭に浮かびます。これらの用語は似ていますが、動作の一部が異なります。

これらの 2つのディストリビューションは、さまざまな時点で問題を簡単にするのに役立ちます。以下の記事で説明するように、これらの用語を理解し、効果的に区別することが重要です。

ベルヌーイ分布

簡単に言えば、1 回の試行で考えられる結果が 2つしかない場合、この与えられたデータはベルヌーイ分布を実装するのに適しています。

ベルヌーイ分布の直接実装は、SciPy ライブラリの助けを借りて行うことができます。ただし、NumPy ライブラリを間接的に利用して、このディストリビューションを実装することもできます。

より明確に説明するために、ベルヌーイ分布を D(b) として割り当てましょう。

二項分布

二項分布の概念は、グループまたはベルヌーイ試行のセットを扱うものとして定義できます。このグループまたはセットの数は通常、定義できます。

簡単に言うと、二項分布は個々のイベントの複数の試行を処理しますが、ベルヌーイ分布は個々のイベントの単一の試行を処理します。

上記のベルヌーイ分布の D(b) としての割り当てに関して、二項分布は D(n,b) として割り当てられます。この割り当ては、これらの用語間の関係を反映しています。

Python で NumPy を使用してベルヌーイ分布を実装する

ベルヌーイ分布について話すとき、二項分布の重要性は何であるか疑問に思う必要があります。さて、大きな意味があります。

NumPy ライブラリは、関数 NumPy.random.binomial() を直接使用して二項分布を実装します。NumPy.random.binomial() 関数の構文を以下に示します。

random.binomial(n, p, size=None)

この関数のパラメーターは、ユーザーをより明確に理解するために定義されています。

  • n:これは試行回数です。float または integer として入力できますが、最終的には int 値に切り捨てられます。
  • p:これは成功の確率です。常に 0 より大きくまたは 1 より小さくなります。浮動小数点値です。
  • size:これは、出力の形状を提供するのに役立ちます。None に設定すると、単一の値のみが提供されます。

この場合、ベルヌーイ試行のセット数の値を 1 とすると、二項分布内にベルヌーイ分布を間接的に実装できます。

次のコードは、NumPy.random.binomial 関数を使用して Python でベルヌーイ分布を実装します。

コイン(表と裏の 2つの可能性しかありません)が 4 回投げられた例を取り上げます。n1 とすると、二項分布ではなくベルヌーイ分布と見なされます。これがコードの進め方です。

import numpy as dragon

n = 1
p = 0.5
x = dragon.random.binomial(n, p, size=4)
print(x)

上記のコードは、次の出力を提供します。

[1 0 0 1]

ここでは、4 回テストした 1 枚のコインを裏返した結果を示しました。これはランダムな試行であるため、プログラムを再実行すると、おそらく異なる出力のセットが生成されることに注意することが重要です。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn