框架思維導圖
一、基本概念
① 樣本空間
:隨機試驗的所有可能結果組成的集合,Ω \Omega Ω
② 隨機事件
:樣本空間Ω中滿足一定條件的子集,用大寫字母A , B , C . . . A,B,C... A , B , C . . . 表示
(隨機事件在隨機試驗中可能出現也可能不出現)
③ 隨機變量
(Random Variable):取值不確定的量
eg:擲骰子,擲出的點數記爲X,可能取1,2…6;
X的取值不確定,X就是隨機變量
④ 結果
(Outcome):隨機變量的觀測值(具體的數)
eg:擲出的點數是1,1就是一次結果,1,2,3,4,5,6都是結果,
且擲骰子只有這六種結果
⑤ 事件
(Event):隨機變量+結果 結合的整體爲事件
eg:擲出點數爲1(X=1),就是事件
⑥ 互斥事件
(Mutually exclusive events):兩個事件不可同時發生
⑦ 完備事件
(Exhaustive events):包含所有結果的事件.
⑧ 概率
:隨機事件出現的可能性(likelihood)大小
二、概率基礎
1、古典概型
概念:
① 樣本空間中只有有限個樣本點
② 每個樣本點出現是等可能的
③ 每次試驗有且僅有一個樣本點發生
P ( A ) = m n = 事 件 A 包 含 的 基 本 事 件 數 基 本 事 件 總 數 P(A)=\frac{m} {n}=\frac{事件A包含的基本事件數} {基本事件總數} P ( A ) = n m = 基 本 事 件 總 數 事 件 A 包 含 的 基 本 事 件 數
案例1:
假設有 k k k 個不同顏色的球,每個球以同樣的概率 1 / l 1/l 1 / l 落到 l l l 個格子 ( l > = k ) (l>=k) ( l > = k ) 的每個中,且每個格子可容納任意多個球。問,分別求出如下兩個事件 A A A 和 B B B 的概率。
A A A :指定的 k k k 個格子中各有一個球;
B B B :存在 k k k 個格子,其中各有一個球。
我們思考一下,由於每個球可以平均地落入 l l l 個格子中的任一個,並且每一個格子中可落入任意多個球,所以 k k k 個球落入 l l l 個格子中的分佈情況相當於從 l l l 個格子中選取 k k k 個的可重複排列,故樣本空間共有 l k l^k l k 種等可能的基本結果。
所以,事件 A A A 所含基本結果數應是 k k k 個球在指定的 l l l 個格子中的全排列數,即 k ! k! k ! ,那麼有
P ( A ) = k ! l k P(A) = \frac{k!} {l^k} P ( A ) = l k k !
爲了算出事件 B B B 所含的基本事件數,我們可以分兩步進行:
1)因爲 l l l 個格子可以是任意選取的,故可先從 l l l 個格子中任意選出 k k k 個出來,那麼選法共有 C l k C^k_l C l k 種。
2)對於每種選定的 k k k 個格子,依上述各有一個球的推理,則有 k ! k! k ! 個基本結果,故B含有 C l k ∗ k ! C^k_l*k! C l k ∗ k ! 個基本結果。那麼有
P ( B ) = C l k k ! l k = l ! l k ( l − k ) ! P(B) = \frac {C^k_lk!} {l^k} = \frac {l!} {l^k(l-k)!} P ( B ) = l k C l k k ! = l k ( l − k ) ! l !
生日問題 :求 k k k 個同班同學沒有兩人生日相同的概率。
如果把這 k k k 個同學看作上例中的 k k k 個球,而把一年365天看作格子,
即 l = 365 l=365 l = 3 6 5 ,則上述的 P ( B ) P(B) P ( B ) 就是所要求的概率。
令 k = 40 k=40 k = 4 0 時,利用上面的公式,則 P ( B ) = 0.109 P(B) =0.109 P ( B ) = 0 . 1 0 9 。
即:40個同學中至少兩個人同一天過生日的概率是:
P ( B ‾ ) = 1 − 0.109 = 0.891 P(\overline {B}) = 1 - 0.109 =0.891 P ( B ) = 1 − 0 . 1 0 9 = 0 . 8 9 1 。
Python實現 :
def factorial ( n) :
if n == 0 :
return 1 ;
else :
return ( n* factorial( n- 1 ) )
from math import factorial
l_fac = factorial( 365 ) ;
l_k_fac = factorial( 365 - 40 )
l_k_exp = 365 ** 40
P_B = l_fac / ( l_k_fac * l_k_exp)
print ( "事件B的概率爲:" , P_B)
print ( "40個同學中至少兩個人同一天過生日的概率是:" , 1 - P_B)
2、條件概率
定義 :
設 A A A 和 B B B 是兩個事件,且P ( B ) > 0 P(B)>0 P ( B ) > 0 ,稱 P ( B ∣ A ) = P ( A B ) P ( A ) P(B|A)=\frac{P(AB)}{P(A)} P ( B ∣ A ) = P ( A ) P ( A B ) 爲
在事件 A A A 發生的條件下,事件 B B B 發生的概率。
乘法法則 (Multiplication rule):
P ( A B ) = P ( A ∩ B ) = P ( B ∣ A ) P ( A ) = P ( A ∣ B ) P ( B ) P(AB)=P(A∩B)=P(B|A)P(A)=P(A|B)P(B) P ( A B ) = P ( A ∩ B ) = P ( B ∣ A ) P ( A ) = P ( A ∣ B ) P ( B )
當A A A 和 B B B 互斥(mutually exclusive)時:
P ( A B ) = P ( A ∣ B ) = P ( B ∣ A ) = 0 P(AB)=P(A|B)=P(B|A)=0 P ( A B ) = P ( A ∣ B ) = P ( B ∣ A ) = 0
加法法則 (Addition rule):
P ( A o r B ) = P ( A ∪ B ) = P ( A ) + P ( B ) − P ( A B ) P(AorB)=P(A∪B)=P(A)+P(B)-P(AB) P ( A o r B ) = P ( A ∪ B ) = P ( A ) + P ( B ) − P ( A B )
當A A A 和 B B B 互斥(mutually exclusive)時:
P ( A o r B ) = P ( A ) + P ( B ) P(AorB)=P(A)+P(B) P ( A o r B ) = P ( A ) + P ( B )
兩個重要結論——充要條件 :
互爲充要條件:A 、 B 互 斥 ⟺ P ( A B ) = 0 A、B互斥 \Longleftrightarrow P(AB)=0 A 、 B 互 斥 ⟺ P ( A B ) = 0
互爲充要條件:A 、 B 獨 立 ⟺ P ( A B ) = P ( A ) ∗ P ( B ) A、B獨立 \Longleftrightarrow P(AB)=P(A)*P(B) A 、 B 獨 立 ⟺ P ( A B ) = P ( A ) ∗ P ( B )
互斥一定不獨立
3、全概率公式
A 自 顧 自 發 生 的 無 條 件 概 率 P ( A ) A 自顧自發生的無條件概率P(A) A 自 顧 自 發 生 的 無 條 件 概 率 P ( A ) :
P ( A ) = P ( A ∣ S 1 ) ∗ P ( S 1 ) + P ( A ∣ S 2 ) ∗ P ( S 2 ) + . . . + P ( A ∣ S n ) ∗ P ( S n ) P(A)=P(A|S1)*P(S1)+P(A|S2)*P(S2)+...+P(A|Sn)*P(Sn) P ( A ) = P ( A ∣ S 1 ) ∗ P ( S 1 ) + P ( A ∣ S 2 ) ∗ P ( S 2 ) + . . . + P ( A ∣ S n ) ∗ P ( S n )
其中:S 1 , S 2 , . . . S n 完 備 Ω , 且 兩 兩 互 斥 {S1,S2,...Sn}完備\Omega,且兩兩互斥 S 1 , S 2 , . . . S n 完 備 Ω , 且 兩 兩 互 斥
推導過程 :
如上圖:P ( S 1 ) + P ( S 2 ) = P ( Ω ) = 1 , P ( S 1 S 2 ) = 0 P(S1)+P(S2)=P(\Omega)=1,P(S1S2)=0 P ( S 1 ) + P ( S 2 ) = P ( Ω ) = 1 , P ( S 1 S 2 ) = 0
即:S 1 , S 2 完 備 且 互 斥 {S1,S2}完備且互斥 S 1 , S 2 完 備 且 互 斥
P ( A ) = P ( 淺 綠 ) + P ( 淺 藍 ) P(A)=P(淺綠)+P(淺藍) P ( A ) = P ( 淺 綠 ) + P ( 淺 藍 ) ①
P ( 淺 綠 ) = P ( A S 1 ) = P ( A ) ∗ P ( S 1 ∣ A ) P(淺綠)=P(AS1)=P(A)*P(S1|A) P ( 淺 綠 ) = P ( A S 1 ) = P ( A ) ∗ P ( S 1 ∣ A ) ②
P ( 淺 綠 ) = P ( A S 1 ) = P ( S 1 ) ∗ P ( A ∣ S 1 ) P(淺綠)=P(AS1)=P(S1)*P(A|S1) P ( 淺 綠 ) = P ( A S 1 ) = P ( S 1 ) ∗ P ( A ∣ S 1 ) ③
因爲要求 P ( A ) P(A) P ( A ) , P ( A ) P(A) P ( A ) 未知,所以選擇③式
同理:P ( 淺 藍 ) = P ( A S 2 ) = P ( S 2 ) ∗ P ( A ∣ S 2 ) P(淺藍)=P(AS2)=P(S2)*P(A|S2) P ( 淺 藍 ) = P ( A S 2 ) = P ( S 2 ) ∗ P ( A ∣ S 2 ) ④
把③、④式帶入①式得:
P ( A ) = P ( 淺 綠 ) + P ( 淺 藍 ) P(A)=P(淺綠)+P(淺藍) P ( A ) = P ( 淺 綠 ) + P ( 淺 藍 )
= P ( A S 1 ) + P ( A S 2 ) =P(AS1)+P(AS2) = P ( A S 1 ) + P ( A S 2 )
= P ( S 1 ) ∗ P ( A ∣ S 1 ) + P ( S 2 ) ∗ P ( A ∣ S 2 ) =P(S1)*P(A|S1)+P(S2)*P(A|S2) = P ( S 1 ) ∗ P ( A ∣ S 1 ) + P ( S 2 ) ∗ P ( A ∣ S 2 )
推廣到 n n n 個事件,即把 Ω \Omega Ω 切分成 n n n 個S S S 事件得:
P ( A ) = P ( A ∣ S 1 ) ∗ P ( S 1 ) + P ( A ∣ S 2 ) ∗ P ( S 2 ) + . . . + P ( A ∣ S n ) ∗ P ( S n ) P(A)=P(A|S1)*P(S1)+P(A|S2)*P(S2)+...+P(A|Sn)*P(Sn) P ( A ) = P ( A ∣ S 1 ) ∗ P ( S 1 ) + P ( A ∣ S 2 ) ∗ P ( S 2 ) + . . . + P ( A ∣ S n ) ∗ P ( S n )
4、貝葉斯公式——B a y e ′ s F o r m u l a Baye's Formula B a y e ′ s F o r m u l a
P ( A ∣ B ) = P ( B ∣ A ) P ( B ) ∗ P ( A ) P(A|B)= \frac {P(B|A)}{P(B)}*P(A) P ( A ∣ B ) = P ( B ) P ( B ∣ A ) ∗ P ( A )
針 對 新 獲 得 的 信 息 ( B ) , 對 A 發 生 的 概 率 進 行 調 整 針對新獲得的信息(B),對A發生的概率進行調整 針 對 新 獲 得 的 信 息 ( B ) , 對 A 發 生 的 概 率 進 行 調 整
B : 信 息 , P ( B ∣ A ) P ( B ) : 信 息 調 整 因 子 B:信息,\frac {P(B|A)}{P(B)}:信息調整因子 B : 信 息 , P ( B ) P ( B ∣ A ) : 信 息 調 整 因 子
推導過程:
乘 法 法 則 + 全 概 率 公 式 ⟹ B a y e ′ s F o r m u l a 乘法法則+全概率公式 \Longrightarrow Baye's Formula 乘 法 法 則 + 全 概 率 公 式 ⟹ B a y e ′ s F o r m u l a
P ( A B ) = P ( A ) ∗ P ( B ∣ A ) P(AB)=P(A)*P(B|A) P ( A B ) = P ( A ) ∗ P ( B ∣ A ) ①
P ( A B ) = P ( B ) ∗ P ( A ∣ B ) P(AB)=P(B)*P(A|B) P ( A B ) = P ( B ) ∗ P ( A ∣ B ) ②
由②得:
P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B)=\frac{P(AB)}{P(B)} P ( A ∣ B ) = P ( B ) P ( A B )
代入①得: = P ( A ) ∗ P ( B ∣ A ) P ( B ) =\frac{P(A)*P(B|A)}{P(B)} = P ( B ) P ( A ) ∗ P ( B ∣ A )
⟹ P ( A ∣ B ) = P ( A ) ∗ P ( B ∣ A ) P ( B ) \Longrightarrow P(A|B)=P(A)*\frac{P(B|A)}{P(B)} ⟹ P ( A ∣ B ) = P ( A ) ∗ P ( B ) P ( B ∣ A )
B : 信 息 , P ( B ∣ A ) P ( B ) : 信 息 調 整 因 子 B:信息,\frac {P(B|A)}{P(B)}:信息調整因子 B : 信 息 , P ( B ) P ( B ∣ A ) : 信 息 調 整 因 子
其中
P ( B ) = P ( B ∣ S 1 ) ∗ P ( S 1 ) + P ( B ∣ S 2 ) ∗ P ( S 2 ) + . . . + P ( B ∣ S n ) ∗ P ( S n ) P(B)=P(B|S1)*P(S1)+P(B|S2)*P(S2)+...+P(B|Sn)*P(Sn) P ( B ) = P ( B ∣ S 1 ) ∗ P ( S 1 ) + P ( B ∣ S 2 ) ∗ P ( S 2 ) + . . . + P ( B ∣ S n ) ∗ P ( S n )
樹狀圖計算 ——B a y e ′ s F o r m u l a 簡 單 運 用 Baye's Formula 簡單運用 B a y e ′ s F o r m u l a 簡 單 運 用
假設:
B ( 條 件 / 信 息 ) : 摸 眉 毛 ; A ( 事 件 ) : 好 牌 ⟹ 求 : P ( A ∣ B ) = ? B(條件/信息):摸眉毛;A(事件):好牌\Longrightarrow 求:P(A|B)=? B ( 條 件 / 信 息 ) : 摸 眉 毛 ; A ( 事 件 ) : 好 牌 ⟹ 求 : P ( A ∣ B ) = ?
P ( A ∣ B ) = A B P ( B ) = ① ① + ③ = 0.5 ∗ 0.9 0.5 ∗ 0.9 + 0.5 ∗ 0.05 = 0.95 P(A|B)=\frac{AB}{P(B)}=\frac{①}{①+③}=\frac{0.5*0.9}{0.5*0.9+0.5*0.05}=0.95 P ( A ∣ B ) = P ( B ) A B = ① + ③ ① = 0 . 5 ∗ 0 . 9 + 0 . 5 ∗ 0 . 0 5 0 . 5 ∗ 0 . 9 = 0 . 9 5
三、隨機變量及其分佈特徵
0、隨機變量分類
連續型隨機變量和離散性隨機變量
1、期望Expected Value(μ/E(X))
數學期望E(X) 又稱爲均值(加權平均,概率爲權重
),
代表了隨機變量取值的平均值
E ( X ) = Σ X i ∗ P ( x i ) = X 1 ∗ P ( x 1 ) + X 2 ∗ P ( x 2 ) + . . . + X n ∗ P ( x n ) E(X)=\Sigma Xi *P(xi)=X1*P(x1)+X2*P(x2)+...+Xn*P(xn) E ( X ) = Σ X i ∗ P ( x i ) = X 1 ∗ P ( x 1 ) + X 2 ∗ P ( x 2 ) + . . . + X n ∗ P ( x n )
2、方差Variance(總體σ 2 / 樣 本 s 2 σ^2/樣本s^2 σ 2 / 樣 本 s 2 )
σ 2 = Σ P i ∗ ( X i − E X ) 2 σ^2=\Sigma Pi*(Xi-EX)^2 σ 2 = Σ P i ∗ ( X i − E X ) 2
= E ( Y ) = E [ ( X − E X ) 2 ] =E(Y)=E[(X-EX)^2] = E ( Y ) = E [ ( X − E X ) 2 ]
= E [ ( X − E X ) ( X − E X ) ] =E[(X-EX)(X-EX)] = E [ ( X − E X ) ( X − E X ) ]
本質上是求Y = ( X − E X ) 2 Y=(X-EX)^2 Y = ( X − E X ) 2 的期望
推廣爲兩個事件E [ ( X − E X ) ( Y − E Y ) ] E[(X-EX)(Y-EY)] E [ ( X − E X ) ( Y − E Y ) ] 就是求協方差C O V ( X , Y ) COV(X,Y) C O V ( X , Y )
所以自己和自己的協方差就是方差即C O V ( X , X ) = σ 2 ( X ) COV(X,X)=σ^2(X) C O V ( X , X ) = σ 2 ( X )
3、協方差Covariance(COV)
C O V ( X , X ) = E [ ( X − E X ) ( X − E X ) ] = σ 2 ( X ) COV(X,X)=E[(X-EX)(X-EX)]=σ^2(X) C O V ( X , X ) = E [ ( X − E X ) ( X − E X ) ] = σ 2 ( X )
C O V ( X , Y ) = E [ ( X − E X ) ( Y − E Y ) ] COV(X,Y)=E[(X-EX)(Y-EY)] C O V ( X , Y ) = E [ ( X − E X ) ( Y − E Y ) ]
實際計算: ——聯合概率分佈表
B 1 = 0.40 B1=0.40 B 1 = 0 . 4 0
B 2 = 0.20 B2=0.20 B 2 = 0 . 2 0
B 3 = 0.00 B3=0.00 B 3 = 0 . 0 0
A 1 = 0.20 A1=0.20 A 1 = 0 . 2 0
0.15
0
0
A 2 = 0.15 A2=0.15 A 2 = 0 . 1 5
0
0.60
0
A 3 = 0.04 A3=0.04 A 3 = 0 . 0 4
0
0
0.25
E ( B ) = 0.15 ∗ 0.4 + 0.6 ∗ 0.20 + 0.25 ∗ 0 = 0.18 E(B)=0.15*0.4+0.6*0.20+0.25*0=0.18 E ( B ) = 0 . 1 5 ∗ 0 . 4 + 0 . 6 ∗ 0 . 2 0 + 0 . 2 5 ∗ 0 = 0 . 1 8
E ( A ) = 0.15 ∗ 0.2 + 0.6 ∗ 0.15 + 0.25 ∗ 0.04 = 0.13 E(A)=0.15*0.2+0.6*0.15+0.25*0.04=0.13 E ( A ) = 0 . 1 5 ∗ 0 . 2 + 0 . 6 ∗ 0 . 1 5 + 0 . 2 5 ∗ 0 . 0 4 = 0 . 1 3
C O V ( A , B ) = E [ ( A − E ( A ) ( B − E ( B ) ] COV(A,B)=E[(A-E(A)(B-E(B)] C O V ( A , B ) = E [ ( A − E ( A ) ( B − E ( B ) ]
= Σ P ∗ [ A − E ( A ) ] ∗ [ B − E ( B ) ] =\Sigma P*[A-E(A)]*[B-E(B)] = Σ P ∗ [ A − E ( A ) ] ∗ [ B − E ( B ) ]
= 0.15 ∗ ( 0.20 − 0.13 ) ∗ ( 0.40 − 0.18 ) + 0.60 ∗ ( 0.15 − 0.13 ) ∗ ( 0.20 − 0.18 ) + 0.25 ∗ ( 0.04 − 0.13 ) ∗ ( 0.00 − 0.18 ) =0.15*(0.20-0.13)*(0.40-0.18)+0.60*(0.15-0.13)*(0.20-0.18)+0.25*(0.04-0.13)*(0.00-0.18) = 0 . 1 5 ∗ ( 0 . 2 0 − 0 . 1 3 ) ∗ ( 0 . 4 0 − 0 . 1 8 ) + 0 . 6 0 ∗ ( 0 . 1 5 − 0 . 1 3 ) ∗ ( 0 . 2 0 − 0 . 1 8 ) + 0 . 2 5 ∗ ( 0 . 0 4 − 0 . 1 3 ) ∗ ( 0 . 0 0 − 0 . 1 8 )
= 0.0066 =0.0066 = 0 . 0 0 6 6
4、相關係數correlation(ρ)
相關係數=協方差除以標準差的積
ρ X Y = C O V ( X , Y ) σ 2 X σ 2 Y = = C O V ( X , Y ) σ X σ Y \rho XY=\frac{COV(X,Y)}{\sqrt{\sigma^2 X \sigma^2 Y}}==\frac{COV(X,Y)}{\sigma X \sigma Y} ρ X Y = σ 2 X σ 2 Y C O V ( X , Y ) = = σ X σ Y C O V ( X , Y )
python實現
import pandas as pd
import numpy as np
random_X= pd. DataFrame( { "P(X)" : [ 0.2 , 0.3 , 0.1 , 0.2 , 0.1 , 0.1 ] } , index= list ( range ( 1 , 7 ) ) ) . T
random_X
def cpt_EX ( X, P_X) :
return sum ( [ x* p for x, p in list ( zip ( X, P_X) ) ] )
def cpt_Var ( X, P_X) :
return cpt_EX( ( np. array( X) - cpt_EX( X, P_X) ) ** 2 , P_X)
X= random_X. columns
P_X= random_X. loc[ 'P(X)' ] . tolist( )
print ( "隨機變量 X 的期望是:%s" % cpt_EX( X, P_X) )
print ( "隨機變量 X 的方差是:%s" % cpt_Var( X, P_X) )
joint_prob= pd. DataFrame( [ [ 0.15 , 0 , 0 ] , [ 0 , 0.60 , 0 ] , [ 0 , 0 , 0.25 ] , ] ,
index= [ "X1=0.20" , "X2=0.15" , "X3=0.04" ] ,
columns= [ "Y1=0.40" , "Y2=0.20" , "Y3=0.00" ] )
joint_prob
P_xy= np. diagonal( joint_prob, offset= 0 , axis1= 0 , axis2= 1 ) . tolist( )
X= [ float ( value[ 3 : ] ) for value in joint_prob. index]
Y= [ float ( value[ 3 : ] ) for value in joint_prob. columns]
def cpt_Cov ( X, Y, P_xy) :
return sum ( [ p* x_Ex* y_Ey for p, x_Ex, y_Ey in list ( zip ( P_xy, ( np. array( X) - cpt_EX( X, P_xy) ) , ( np. array( Y) - cpt_EX( X, P_xy) ) ) ) ] )
def cpt_corr ( X, Y, P_xy) :
return cpt_Cov( X, Y, P_xy) / ( cpt_Var( X, P_xy) * cpt_Var( Y, P_xy) ) ** ( 1 / 2 ) if ( cpt_Var( X, P_xy) != 0 ) & ( cpt_Var( Y, P_xy) != 0 ) else 0
print ( " 隨機變量 X 的期望是:%s \n" % cpt_EX( X, P_xy) ,
"隨機變量 Y 的期望是:%s \n" % cpt_EX( Y, P_xy) ,
"隨機變量 X,Y 的協方差是:%s \n" % cpt_Cov( X, Y, P_xy) ,
"隨機變量 X,Y 的相關係數是:%.3f \n" % cpt_corr( X, Y, P_xy) )
X= random_X. columns
P_X= random_X. loc[ 'P(X)' ] . tolist( )
print ( " 隨機變量 X 的方差是:%s \n" % cpt_Var( X, P_X) ,
" 隨機變量 X 的協方差是:%s \n" % cpt_Cov( X, X, P_X) , )
代碼運行樣例
參看資料 :
Datawhale開源-概率統計
numpy 取出對角線元素、計算對角線元素和 np.diagonal