二項分布とは
二項分布とは、ある事象が起こる確率を
例えば、サイコロを3回(
二項分布の確率は次の式で表されます。
サイコロの例
サイコロを3回投げて1の目が出る回数の分布について考えます。
まずは事象のついて考えます。事象としては、次の2パターンになります。
- 1の目が出る
- 1の目が出ない
このように事象が発生する、しないといった2択の事象であるため、この事象が起こる確率の分布は二項分布になります。
次に事象の発生確率を考えます。1の目が出る確率、1の目が出ない確率はそれぞれ次のようになります。
事象 | 1 の目が出る | 1 の目が出ない |
---|---|---|
確率 |
サイコロを3回投げて1の目が出る回数は0回、1回、2回、3回の4パターンがあります。それぞれの確率は以下になります。
1 の目が出る回数 | 0 | 1 | 2 | 3 |
---|---|---|---|---|
確率 |
上記の確率を一般的に記述すると次の二項分布の確率の式となります。
Python で確認
Pythonを用いて
from scipy.stats import binom
import seaborn as sns
from matplotlib import pyplot as plt
%matplotlib inline
sns.set()
sns.set_context(rc = {'patch.linewidth': 0.2})
sns.set_style('dark')
data_binom = binom.rvs(n=3, p=1/6, size=1000)
plt.figure(figsize=(10,5))
sns.distplot(data_binom, kde=False)
次の確率の計算値と近い確率となっていることが分かります。
1 の目が出る回数 | 0 | 1 | 2 | 3 |
---|---|---|---|---|
確率 |
ラプラスの定理
確率変数Xが二項分布
ラプラスの定理をPythonで実際に確認してみます。今回はサイコロを100回投げて1の目が出る回数の分布
from scipy.stats import binom
import seaborn as sns
from matplotlib import pyplot as plt
%matplotlib inline
sns.set()
sns.set_context(rc = {'patch.linewidth': 0.2})
sns.set_style('dark')
data_binom = binom.rvs(n=100, p=1/6, size=1000)
plt.figure(figsize=(10,5))
sns.distplot(data_binom, kde=False)
サイコロを3回投げるときよりも、より正規分布に近づいていることが分かります。
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