ベルヌーイ分布とは
コイントスで表が出るか裏が出るか、新薬に効果があるかないかなど、ある試行をして2つの事象しか得られない試行をベルヌーイ試行といい、ベルヌーイ分布とは、1回のベルヌーイ試行よって得られる確率分布になります。
ベルヌーイ試行では2つのうち一方の事象を「成功とみなし、確率変数
事象 | 1 | 0 |
---|---|---|
確率 |
ベルヌーイ分布は成功確率
二項分布との関係
二項分布において、
サイコロの例
サイコロを1回投げて1の目が出る回数の分布について考えます。
まずは事象のついて考えます。事象としては、次の2パターンになります。
- 1の目が出る
- 1の目が出ない
このように事象が発生する、しないといった2択の事象であり、試行が1回であるため、この事象が起こる確率の分布はベルヌーイ分布になります。
次に事象の発生確率を考えます。1の目が出る確率、1の目が出ない確率はそれぞれ次のようになります。
事象 | 1 の目が出る | 1 の目が出ない |
---|---|---|
確率 |
Python コード
ベルヌーイ分布のgifを作成するコードは以下になります。
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import animation, rc
from matplotlib.animation import FuncAnimation
from IPython.display import HTML, Image # For GIF
rc('animation', html='html5')
np.random.seed(5)
# Set up formatting for the movie files
Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, metadata=dict(artist='Me'), bitrate=1800)
prob_vals = np.arange(start=0.0, stop=1.01, step=0.05)
plt.style.use('ggplot')
fig = plt.figure(figsize=(10, 5))
def update(i):
# initialize the graph of the previous frame
plt.cla()
p = prob_vals[i]
# draw bernoulli distribution
plt.bar([0.0, 1.0], [1.0 - p, p], alpha=0.5) # bar graph
plt.xlabel('x')
plt.ylabel('probability')
plt.suptitle('Bernoulli Distribution', fontsize=20)
plt.title('$p=' + str(np.round(p, 2)) + '$', loc='left')
plt.xticks(ticks=[0, 1]) # x axis ticks
plt.grid()
plt.ylim(-0.1, 1.1)
anime_prob = FuncAnimation(fig, update, frames=len(prob_vals), interval=1000)
anime_prob.save('bernoulli_dist.gif', writer='pillow', fps=1)
Image(url='bernoulli_dist.gif')
AlloyDB
Amazon Cognito
Amazon EC2
Amazon ECS
Amazon QuickSight
Amazon RDS
Amazon Redshift
Amazon S3
API
Autonomous Vehicle
AWS
AWS API Gateway
AWS Chalice
AWS Control Tower
AWS IAM
AWS Lambda
AWS VPC
BERT
BigQuery
Causal Inference
ChatGPT
Chrome Extension
CircleCI
Classification
Cloud Functions
Cloud IAM
Cloud Run
Cloud Storage
Clustering
CSS
Data Engineering
Data Modeling
Database
dbt
Decision Tree
Deep Learning
Descriptive Statistics
Differential Equation
Dimensionality Reduction
Discrete Choice Model
Docker
Economics
FastAPI
Firebase
GIS
git
GitHub
GitHub Actions
Google
Google Cloud
Google Search Console
Hugging Face
Hypothesis Testing
Inferential Statistics
Interval Estimation
JavaScript
Jinja
Kedro
Kubernetes
LightGBM
Linux
LLM
Mac
Machine Learning
Macroeconomics
Marketing
Mathematical Model
Meltano
MLflow
MLOps
MySQL
NextJS
NLP
Nodejs
NoSQL
ONNX
OpenAI
Optimization Problem
Optuna
Pandas
Pinecone
PostGIS
PostgreSQL
Probability Distribution
Product
Project
Psychology
Python
PyTorch
QGIS
R
ReactJS
Regression
Rideshare
SEO
Singer
sklearn
Slack
Snowflake
Software Development
SQL
Statistical Model
Statistics
Streamlit
Tabular
Tailwind CSS
TensorFlow
Terraform
Transportation
TypeScript
Urban Planning
Vector Database
Vertex AI
VSCode
XGBoost