計算兩事件的機率

Python 機率基礎

Alexander A. Ramírez M.

CEO @ Synergy Vision

獨立性

給定隨機試驗中的事件 A 與 B,A 與 B 相互獨立的條件為:

  1. A 與 B 發生的先後順序不影響其機率。
  2. A 已發生不影響 B 的機率。
  3. B 已發生不影響 A 的機率。
Python 機率基礎

公平擲幣正反面的機率

Python 機率基礎

兩次擲幣的結果

Python 機率基礎

兩次擲幣的結果

Python 機率基礎

兩次擲幣的機率

Python 機率基礎

兩次擲幣的聯合機率

Python 機率基礎

兩次擲幣的聯合機率

Python 機率基礎

兩次擲幣的聯合機率

Python 機率基礎

量測樣本

產生代表 1000 次兩枚公平硬幣擲投的樣本

from scipy.stats import binom
sample = binom.rvs(n=2, p=0.5, size=1000, random_state=1)
array([1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 2, 0, 1, 1, 1, 0, 0, 2, 2,...

找出重複的資料

from scipy.stats import find_repeats
find_repeats(sample)
RepeatedResults(values=array([0., 1., 2.]), counts=array([249, 497, 254]))
Python 機率基礎

偏硬幣正反面的機率

Python 機率基礎

偏硬幣正反面的機率

Python 機率基礎

量測偏樣本

使用已產生的 biased_sample 資料,計算各結果的相對次數

from scipy.stats import relfreq
relfreq(biased_sample, numbins=3).frequency
array([0.039, 0.317, 0.644])
Python 機率基礎

聯合機率計算

$$ $$

Engine Gear box
Fails 0.01 0.005
Works 0.99 0.995

$$ $$ $$P(Engine\ fails\ and\ Gear\ box\ fails)=?$$

$$ $$

P_Eng_fail = 0.01
P_GearB_fail = 0.005
P_both_fails = P_Eng_fail*P_GearB_fail
print(P_both_fails)
0.00005
Python 機率基礎

用撲克牌算 P(A or B)

$$P(Jack\ or\ King) = ?$$ 一副撲克牌

Python 機率基礎

用撲克牌算 P(A or B)(續)

$$P(Jack\ or\ King) = \color{red}{P(Jack)}+...$$ 撲克牌中的 J $$P(Jack\ or\ King) = \color{red}{\frac{4}{52}}+...$$

Python 機率基礎

用撲克牌算 P(A or B)(續)

$$P(Jack\ or\ King) = P(Jack)+\color{red}{P(King)}$$ 撲克牌中的 J 與 K $$P(Jack\ or\ King) = \frac{4}{52}+\color{red}{\frac{4}{52}}$$

Python 機率基礎

用撲克牌算 P(A or B)(續)

$$P(Jack\ or\ King) = P(Jack)+P(King)$$ 撲克牌中的 J 與 K $$P(Jack\ or\ King) = \frac{4}{52}+\frac{4}{52}=\frac{8}{52}=\frac{2}{13}$$

Python 機率基礎

用撲克牌算 P(A or B)(續)

$$P(Jack\ or\ King) = P(Jack)+P(King)$$ 撲克牌中的 J 與 K $$P(Jack\ or\ King) = \frac{4}{52}+\frac{4}{52}=\frac{8}{52}=\frac{2}{13}$$

Python 機率基礎

A 或 B 的機率

事件 A 的文氏圖

Python 機率基礎

A 或 B 的機率(續)

事件 A 與 B 的文氏圖

Python 機率基礎

A 或 B 的機率(續)

$$P(A\ or\ B) = ?$$ 事件 A 與 B 的文氏圖

Python 機率基礎

A 或 B 的機率(續)

$$P(A\ or\ B) = \color{red}{P(A)}+...$$ 互斥事件的 A 與 B 文氏圖

Python 機率基礎

A 或 B 的機率(續)

$$P(A\ or\ B) = P(A) + \color{red}{P(B)}$$ 互斥事件的 A 與 B 文氏圖

Python 機率基礎

有重疊時的 P(A or B)

$$P(Jack\ or\ Heart)=?$$ 撲克牌中的 J 或紅心

Python 機率基礎

有重疊時的 P(A or B)(續)

$$P(Jack\ or\ Heart) =\color{red}{P(Jack)}+...$$ 撲克牌中的 J 或紅心 $$P(Jack\ or\ Heart) =\color{red}{\frac{4}{52}}+...$$

Python 機率基礎

有重疊時的 P(A or B)(續)

$$P(Jack\ or\ Heart) =P(Jack)+\color{red}{P(Heart)}\ ...$$ 撲克牌中的 J 或紅心 $$P(Jack\ or\ Heart) =\frac{4}{52}+\color{red}{\frac{13}{52}}\ ...$$

Python 機率基礎

有重疊時的 P(A or B)(續)

$$P(Jack\ or\ Heart) =P(Jack)+P(Heart)...$$ J 與紅心的交集 $$P(Jack\ or\ Heart) =\frac{4}{52}+\frac{13}{52}...$$

Python 機率基礎

有重疊時的 P(A or B)(續)

$$P(Jack\ or\ Heart) =P(Jack)+P(Heart)-\color{red}{P(Jack\ and\ Heart)}$$ J 與紅心的交集 $$P(Jack\ or\ Heart) =\frac{4}{52}+\frac{13}{52}-\color{red}{\frac{1}{52}}$$

Python 機率基礎

有重疊時的 P(A or B)(續)

$$P(Jack\ or\ Heart) =P(Jack)+P(Heart)-P(Jack\ and\ Heart)$$ J 與紅心的交集 $$P(Jack\ or\ Heart) =\frac{4}{52}+\frac{13}{52}-\frac{1}{52}=\frac{16}{52}=\frac{4}{13}$$

Python 機率基礎

P(A or B) 圖示

事件 A 的文氏圖

Python 機率基礎

P(A or B) 圖示(續)

事件 A 與 B 的文氏圖

Python 機率基礎

P(A or B) 圖示(續)

$$P(A\ or\ B)=?$$ 事件 A 與 B 的文氏圖

Python 機率基礎

P(A or B) 圖示(續)

$$P(A\ or\ B)=\color{red}{P(A)}+...$$ 事件 A 與 B 的文氏圖

Python 機率基礎

P(A or B) 圖示(續)

$$P(A\ or\ B)=P(A)+\color{red}{P(B)}\ ...$$ 事件 A 與 B 的文氏圖

Python 機率基礎

P(A or B) 圖示(續)

$$P(A\ or\ B)=P(A)+P(B)\ ...$$ 事件 A 與 B 的交集文氏圖

Python 機率基礎

P(A or B) 圖示(續)

$$P(A\ or\ B)=P(A)+P(B)-\color{red}{P(A\ and\ B)}$$ P(A and B) 的文氏圖

Python 機率基礎

P(A or B) 圖示(續)

$$P(A\ or\ B)=P(A)+P(B)-P(A\ and\ B)$$ 事件 A 與 B 的交集文氏圖

Python 機率基礎

用 Python 計算 P(Jack or Heart)

P_Jack = 4/52
P_Hearts = 13/52
P_Jack_n_Hearts = 1/52
P_Jack_or_Hearts = P_Jack + P_Hearts - P_Jack_n_Hearts
print(P_Jack_or_Hearts)
0.307692307692
Python 機率基礎

一起計算兩事件的機率

Python 機率基礎

Preparing Video For Download...